Catalog coverage · bonobos
Catalog coverage · bonobos
Catalog coverage · bonobos.com
Search products from bonobos.com and retrieve product details as JSON through StoreRouter’s API. Access prices, images, descriptions, and available variant data, plus enriched attributes for filtering.
Snapshot from . Counts are approximate and refresh about daily.
Developer quickstart
export OCTOGEN_PLATFORM_API_KEY="your-api-key". Requests use Authorization: Bearer; the SDKs read this variable automatically. Keep the key on your server.curl -sS https://api.storerouter.ai/v1/products/search \ -H "Authorization: Bearer $OCTOGEN_PLATFORM_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "catalogs": ["bonobos"], "q": "tops", "limit": 5 }'# Requires Python 3.11+ and uv; install from the public SDK repository:
# git clone https://github.com/octogen-ai/octogen-dev.git
# cd octogen-dev
# uv sync --project sdks/python
# Save this sample as search.py here, then run:
# uv run --project sdks/python python search.py
import asyncio
from octogen_ai_sdk import OctogenClient
async def main() -> None:
async with OctogenClient(base_url="https://api.storerouter.ai/v1") as client:
page = await client.search_products(
catalogs=["bonobos"],
q="tops",
limit=5,
)
for product in page.items:
print(product.title, product.current_price, product.product_url)
asyncio.run(main())// Node.js 20+; install: npm install @octogen-ai/sdk
// Save this sample as search.mjs, then run: node search.mjs
import { OctogenClient } from "@octogen-ai/sdk";
const client = new OctogenClient({ baseUrl: "https://api.storerouter.ai/v1" });
const page = await client.searchProducts({
catalogs: ["bonobos"],
q: "tops",
limit: 5,
});
for (const product of page.items) {
console.log(product.title, product.currentPrice, product.productUrl);
}Indexed snapshot from this search, verified by URL lookup. Selected fields only; prices and availability may have changed since retrieval.
bonobos
bonobos
bonobos
Search finds indexed products by query and filters within this retailer’s catalog.Product URL lookup retrieves one product: index_only uses the index and returns 404 on a miss; auto checks the index before resolving a miss on demand. For a fresh page read where supported, use resolutionMode: "on_demand_only" with onDemandCachePolicy: "refresh". On-demand results may be partial and do not guarantee live price or availability.
Example product response
Inspect a product from the search example above, then retrieve its details through the API.
Indexed response retrieved . Price and availability reflect this response and may change.

bonobos
$39.00In stock
Sizes: XS / Short, XS / Reg, XS / Long, S / Short, S / Reg, S / Long, M / Short, M / Reg, M / Long, L / Short, L / Reg, L / Long, XL / Short, XL / Reg, XL / Long, XXL / Short, XXL / Reg, XXL / Long
A soft cotton button-down updated with added stretch for flexing literally & figuratively.
Source product pageProduct content returned by the lookup API, ready for a product page.
JSON response excerpt
{
"source": "indexed",
"catalogKey": "bonobos",
"product": {
"title": "Everyday Shirt",
"brand": {
"name": "bonobos"
},
"productUrl": "https://bonobos.com/products/stretch-washed-button-down-shirt-purple-turquoise-stripe-0",
"currentPrice": 39,
"currency": "USD",
"inStock": true,
"description": "A soft cotton button-down updated with added stretch for flexing literally & figuratively.",
"primaryImage": {
"url": "https://cdn.shopify.com/s/files/1/0769/3215/3585/files/WOVEN-CASUAL-SHIRT_BUTTON-DOWN-WOVEN-SHIRT_BSH11949SB7696_1_db50e70a-c423-4da4-88ca-3f4c3d0401a3.jpg?v=1786003116",
"cdnUrl": "https://cdn.octogen.ai/454975821caa4d2fa3f4e0cb1092e161/0d653589f2e717ad2d130508f808a0f9.webp?request_id=38dabdbf-603e-4f50-81bf-e5cdd2c7b241",
"width": 4000,
"height": 6000,
"sizeBytes": 718956,
"mimeType": "image/webp"
},
"details": {
"materials": [
"98% Cotton | 2% Elastane Machine wash cold with like colors | Gentle cycle | Only non-chlorine bleach if needed | Tumble dry low | Warm iron if needed Imported"
],
"fit": [
"Slim",
"Tailored",
"Standard"
],
"dimensions": null,
"patterns": []
}
}
}StoreRouter classification and attributes. Use attribute_handles as search facet values.
JSON response excerpt
{
"source": "indexed",
"catalogKey": "bonobos",
"product": {
"enrichment": {
"type": "button-down shirt",
"category_path": [
"Apparel & Accessories",
"Clothing",
"Tops",
"Shirts & Blouses"
],
"styles": [
"smart casual",
"preppy",
"classic"
],
"attributes": {
"Fabric": [
"Cotton",
"Elastane (Spandex / Lycra)"
],
"Pattern": [
"Striped"
],
"Neckline": [
"Collared"
],
"Occasion": [
"Casual"
],
"Collar Style": [
"Button-Down"
],
"Front Closure": [
"Buttons"
],
"Front Opening": [
"Visible Buttons"
],
"Sleeve length type": [
"Long"
],
"Front Closure Length": [
"Full"
],
"General Clothing Features": [
"Stretchable"
]
},
"attribute_handles": {
"fabric": [
"fabric__cotton",
"fabric__elastane"
],
"pattern": [
"pattern__striped"
],
"neckline": [
"neckline__collared"
],
"collar_style": [
"collar_style__button_down"
],
"placket_type": [
"placket_type__exposed"
],
"occasion_general": [
"occasion_general__casual"
],
"front_closure_type": [
"front_closure_type__buttons"
],
"sleeve_length_type": [
"sleeve_length_type__long"
],
"front_closure_length": [
"front_closure_length__full"
],
"general_clothing_features": [
"general_clothing_features__stretchable"
]
}
}
}
}curl -sS https://api.storerouter.ai/v1/products/lookup \
-H "Authorization: Bearer $OCTOGEN_PLATFORM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://bonobos.com/products/stretch-washed-button-down-shirt-purple-turquoise-stripe-0",
"resolutionMode": "index_only"
}'Selected response fields are shown. API documentation
Catalog
Attributes
Each attribute below is a search facet: the bar shows the share of Bonobos products that have it, and each value shows the share tagged with that value. A product can have several values, so these can add up to more than 100%.
Age Group
age_groups
Pattern
pattern
Product color
color
Color family
color_family
Fabric
fabric
Sleeve length type
sleeve_length_type
Front Closure
front_closure_type
Neckline
neckline
Front Closure Length
front_closure_length
Collar Style
collar_style
Front Opening
placket_type
Occasion
occasion_general
Graphic Type
graphic_type
Care instructions
care_instructions
| Field | Facet name | Source | Coverage | Values |
|---|---|---|---|---|
| Activewear | is_activewear | Merchant data | 100% | 2 |
| Product color | color | Merchant data | 99% | 74 |
| Color family | color_family | Merchant data | 99% | 12 |
| Age Group | age_groups | StoreRouter enrichment | 100% | 4 |
| Category at depth 0 | category_path.depth_0 | StoreRouter enrichment | 100% | 1 |
| Category at depth 1 | category_path.depth_1 | StoreRouter enrichment | 100% | 3 |
| Category at depth 2 | category_path.depth_2 | StoreRouter enrichment | 100% | 13 |
| Category at depth 3 | category_path.depth_3 | StoreRouter enrichment | 100% | 40 |
| Gender | gender | StoreRouter enrichment | 100% | 2 |
| Pattern | pattern | StoreRouter enrichment | 100% | 41 |
| Fabric | fabric | StoreRouter enrichment | 98% | 38 |
| General Clothing Features | general_clothing_features | StoreRouter enrichment | 64% | 2 |
| Sleeve length type | sleeve_length_type | StoreRouter enrichment | 63% | 3 |
| Front Closure | front_closure_type | StoreRouter enrichment | 60% | 4 |
| Neckline | neckline | StoreRouter enrichment | 60% | 9 |
| Front Closure Length | front_closure_length | StoreRouter enrichment | 52% | 5 |
| Collar Style | collar_style | StoreRouter enrichment | 51% | 13 |
| Front Opening | placket_type | StoreRouter enrichment | 46% | 4 |
| Occasion | occasion_general | StoreRouter enrichment | 36% | 4 |
| Graphic Type | graphic_type | StoreRouter enrichment | 29% | 5 |
| Category at depth 4 | category_path.depth_4 | StoreRouter enrichment | 22% | 19 |
| Care instructions | care_instructions | StoreRouter enrichment | 16% | 5 |
| Sleeve Style | sleeve_style | StoreRouter enrichment | 11% | 4 |
| Season | season | StoreRouter enrichment | 10% | 4 |
| Opacity | opacity_level | StoreRouter enrichment | 10% | 1 |
| Sustainability Features | sustainability_features | StoreRouter enrichment | 9% | 4 |
| Outerwear Length | outerwear_length_type | StoreRouter enrichment | 8% | 3 |
| Knit Style | knit_style | StoreRouter enrichment | 7% | 9 |
| Fit (Tops) | fit_top | StoreRouter enrichment | 6% | 4 |
| Fabric Weight | fabric_weight | StoreRouter enrichment | 6% | 2 |
| Denim Fabric | denim_fabric | StoreRouter enrichment | 3% | 3 |
| Denim Wash | denim_wash | StoreRouter enrichment | 3% | 7 |
| Leg Shape | pants_leg_shape | StoreRouter enrichment | 3% | 9 |
| Surface Finish | surface_finish | StoreRouter enrichment | 3% | 2 |
| Bottoms Closure | bottoms_closure | StoreRouter enrichment | 3% | 4 |
| Top length type | top_length_type | StoreRouter enrichment | 3% | 2 |
| Fit | fit_bottoms | StoreRouter enrichment | 2% | 5 |
| Denim Finish Effects | denim_wash_effects | StoreRouter enrichment | 2% | 2 |
| Activity Type | activity_type | StoreRouter enrichment | 2% | 7 |
| Performance Features | performance_features | StoreRouter enrichment | 2% | 5 |
| Lining Material | lining_material_outerwear | StoreRouter enrichment | 2% | 8 |
| Material | material | StoreRouter enrichment | 1% | 10 |
| Outerwear Features | outerwear_unique_features | StoreRouter enrichment | 1% | 2 |
| Construction Detail | construction_detail | StoreRouter enrichment | 1% | 2 |
| Closure Type | closure_type_belts | StoreRouter enrichment | 1% | 1 |
| Insulation Level | insulation_level | StoreRouter enrichment | <1% | 2 |
| Shorts Fit | shorts_fit | StoreRouter enrichment | <1% | 5 |
| Embellishments | embellishments | StoreRouter enrichment | <1% | 3 |
| Stretch Level | stretch_level | StoreRouter enrichment | <1% | 2 |
| Denim Hem Style | denim_hem_style | StoreRouter enrichment | <1% | 2 |
| Scarf/Shawl style | scarf_shawl_style | StoreRouter enrichment | <1% | 1 |
| Handwear features | handwear_features | StoreRouter enrichment | <1% | 1 |
| Handwear material | handwear_material | StoreRouter enrichment | <1% | 2 |
| Handwear type | handwear_type | StoreRouter enrichment | <1% | 1 |
| Openwork Detail | openwork_detail | StoreRouter enrichment | <1% | 2 |
| Waist rise | waist_rise | StoreRouter enrichment | <1% | 1 |
| Bag closure type | bag_closure_type | StoreRouter enrichment | <1% | 1 |
| Pants length type | pants_length_type | StoreRouter enrichment | <1% | 1 |
| Size Type | size_group | StoreRouter enrichment | <1% | 1 |
| Swim bottom coverage style | swim_bottom_coverage_style | StoreRouter enrichment | <1% | 1 |
| Underwear coverage style | underwear_coverage_style | StoreRouter enrichment | <1% | 2 |
| Canonical brand name | brand_name | Brand | 100% | 1 |
Data
For agents
Every facet name and value on this page, ready for an agent or a script.
Are you an AI agent? Fetch https://storerouter.ai/llms.txt to learn how to get product data from StoreRouter, and how to make a storefront's products readable by agents.
One API key gives your agent search, product lookup, and similar-item results across every store StoreRouter indexes.
Get an API key