Endpoint Playground
Returns the full set of refinement options (facets) a Chewy category or keyword search can be narrowed by -- brand, sub-category, lifestage, food form, breed size, special diet, health feature, flavor, ingredient, packaging type, price band, customer rating, and whichever other dimensions that listing exposes -- with each option's product count. No products are returned, so this is a much smaller call than chewy_category/chewy_search when only the option set is wanted. The Brand dimension is effectively Chewy's brand directory for the requested listing: each brand option carries its product count and, where Chewy publishes one, its own chewy.com/brands/<slug>-<id> landing-page slug in seo_hvf_slug. Exactly one of group_id or q is required. Every facets[].value paired with one of that facet's options[].value is a ready-to-use filter key:value pair for this endpoint, chewy_category, and chewy_search alike; passing filter here narrows the listing first, so the returned counts describe the already-narrowed result set. A group_id Chewy does not recognize returns a 404 rather than an empty option set.
14 Oct 2026: 12 facets; 4 fields had a value in every checked item.
Sample value profiles: count: 1 to 174, median 6; name: “Category” and 11 other values; options: median 6 entries.
curl 'https://api.crawlora.net/api/v1/chewy/facets' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| group_id | string | No | Chewy's numeric category id, e.g. \ | |
| q | string | No | Free-text search keywords to return refinement options for, e.g. \ | |
| filter | array | No | Repeatable, up to 10. Each value is \ |
{
"code": 200,
"msg": "OK",
"data": {
"group_id": "294",
"total": 2208,
"count": 2,
"facets": [
{
"name": "Category",
"value": "categoryId",
"count": 1,
"options": [
{
"name": "Health Condition",
"display_label": "Health Condition Dry Dog Food",
"value": "132958",
"url_slug": "science-backed-formulas",
"product_count": 752
}
]
},
{
"name": "Brand",
"value": "brand_facet",
"count": 2,
"options": [
{
"id": "507405",
"name": "ACANA",
"display_label": "ACANA",
"value": "ACANA",
"seo_hvf_slug": "acana-dry-dog-food",
"product_count": 93
},
{
"id": "330132",
"name": "Purina Pro Plan",
"display_label": "Purina Pro Plan",
"value": "Purina Pro Plan",
"seo_hvf_slug": "Purina-Pro-Plan-Dry-Dog-Food",
"product_count": 142
}
]
}
],
"source_url": "https://www.chewy.com/plp/api/facets?catalogId=1004&groupId=294",
"fetched_at": "2026-09-05T10:00:00Z"
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.