Chewy API endpoint
Returns one Chewy product's full detail: name, brand, description, images, price, stock, rating and its star-count breakdown, category breadcrumbs, customer questions and answers, and customer reviews. id is the numeric id from a chewy.com PDP URL, e.g. 185468 from https://www.chewy.com/frisco-lion-mane-dog-cat-costume/dp/185468 -- also the same value a chewy_category response's products[].part_number field carries for that product's own default variant. The response also carries the item's shipping weight and package dimensions as Chewy states them, its per-order purchase limit, and any promotions currently attached to it (each with a type such as "Spend $X" or "BOGO", plus short and long descriptions).
/chewy/productReturns one Chewy product's full detail: name, brand, description, images, price, stock, rating and its star-count breakdown, category breadcrumbs, customer questions and answers, and customer reviews. There is no separate reviews or Q&A endpoint; everything is returned in one call.
Notable response behavior:
entry_id/part_number identify the exact variant this response describes (the requested id). Chewy models a product page as a shared "style"-level entity (name, description, breadcrumbs, rating, reviews, Q&A -- common to every size/color variant) plus one "item"-level entity per purchasable variant (price, stock, images, variant-specific name). parent_entry_id/parent_part_number identify the shared style; both are omitted for a single-variant product with no size/color options.rating_breakdown is the product's star-count distribution (5 down to 1 star), sorted descending by star count.questions/questions[].answers are omitted when the product has no customer Q&A yet.reviews[].photo_urls is not currently populated by this endpoint's data source.The response also carries item-level fulfilment and promotion facts:
weight / dimensions -- Chewy's own shipping weight and package size as
free text ("40 pounds", "8.46 x 11.02 x 0.39 inches"). Both are absent
on many items and are passed through rather than parsed into numbers and
units.max_quantity -- the per-order purchase limit.promotions[] -- promotions currently attached to the item, each with
id, name, type (Chewy's own category, e.g. Spend $X or BOGO),
short_description and long_description. Omitted entirely when the item
has none.| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| title | 20 | “Easy to use” and 19 other values |
| text | 20 | median 167 characters |
| rating | 20 | 1 to 5, median 5 |
| submitted_by | 20 | “Debora” and 18 other values |
| submitted_at | 20 | 2025-10-04 to 2026-10-10 |
| helpful_count | 8 | 1 to 9, median 2 |
| photo_urls | 5 | median 1 entry |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id | string | Yes | Numeric id from a chewy.com PDP URL | 185468 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/chewy/product?id=185468" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"source_url": "https://www.chewy.com/api/pdp/graphql",
"fetched_at": "2026-08-20T10:00:00Z",
"product": {
"entry_id": "185468",
"part_number": "158732",
"parent_entry_id": "185466",
"parent_part_number": "158730",
"name": "Frisco Lion Mane Dog & Cat Costume, Medium",
"description": "Your pet will be the king of the trick-or-treat jungle with this impressive lion's mane from Frisco by Chewy.",
"brand": "Frisco",
"brand_url": "https://www.chewy.com/brands/frisco-6767",
"slug": "frisco-lion-mane-dog-cat-costume",
"url": "https://www.chewy.com/frisco-lion-mane-dog-cat-costume/dp/185468",
"currency_code": "USD",
"price": 15.99,
"in_stock": true,
"images": [
"https://image.chewy.com/catalog/general/images/frisco-lion-mane/img-570111.jpg"
],
"icons": [
{
"name": "Polyester",
"image_url": "https://image.chewy.com/icons/polyester.svg"
}
],
"breadcrumbs": [
{
"id": "288",
"name": "Dog Supplies",
"url": "https://www.chewy.com/b/dog-288"
}
],
"rating": 4.0677,
"rating_count": 473,
"rating_breakdown": [
{
"stars": 5,
"count": 301
},
{
"stars": 1,
"count": 56
}
],
"questions_count": 1,
"questions": [
{
"id": "UXVlc3Rpb246MQ==",
"text": "Does this run true to size?",
"answers": [
{
"id": "QW5zd2VyOjE=",
"text": "Yes, it fits true to size.",
"submitted_by": "srigaud",
"submitted_at": "2026-01-05T00:00:00.000Z",
"is_staff": true,
"helpful_count": 3
}
]
}
],
"reviews": [
{
"id": "UmV2aWV3OjE3NzkyODA3",
"title": "Great costume!",
"text": "Purchased this lion head for my dog Remington and he loves it.",
"rating": 5,
"submitted_by": "Susan",
"submitted_at": "2025-08-17T17:39:31.000Z",
"helpful_count": 10
}
]
}
}
}Request schema
No body schema
Response schema
#/definitions/chewy.productResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | chewy.ProductResponse | No | ||||
| data.fetched_at | string | No | ||||
| data.product | chewy.Product | No | ||||
| data.product.brand | string | No | Frisco | |||
| data.product.brand_url | string | No | ||||
| data.product.breadcrumbs | array | No | ||||
| data.product.breadcrumbs[].id | string | No | ||||
| data.product.breadcrumbs[].name | string | No | ||||
| data.product.breadcrumbs[].url | string | No | ||||
| data.product.currency_code | string | No | USD | |||
| data.product.description | string | No | ||||
| data.product.dimensions | string | No | 8.46 x 11.02 x 0.39 in | |||
| data.product.entry_id | string | No | 185468 | |||
| data.product.icons | array | No | ||||
| data.product.icons[].image_url | string | No | ||||
| data.product.icons[].name | string | No | ||||
| data.product.images | array | No | ||||
| data.product.in_stock | boolean | No | ||||
| data.product.max_quantity | integer | No | 50 | |||
| data.product.name | string | No | ||||
| data.product.parent_entry_id | string | No | 185466 | |||
| data.product.parent_part_number | string | No | 158730 | |||
| data.product.part_number | string | No | 158732 | |||
| data.product.price | number | No | 15.99 | |||
| data.product.promotions | array | No | ||||
| data.product.promotions[].id | integer | No | 19408 | |||
| data.product.promotions[].long_description | string | No | ||||
| data.product.promotions[].name | string | No | ||||
| data.product.promotions[].short_description | string | No | ShortDescription is the customer-facing one-liner, e.g. "Spend $75 on Select Pro Plan item, Get $25 eGC with code PURINAPRO25". | |||
| data.product.promotions[].type | string | No | Spend $X | Type is Chewy's own promotion category, e.g. "Spend $X" or "BOGO". | ||
| data.product.questions | array | No | ProductQuestion record, 11 fields: answers, answers_total, id, is_staff_answered, text. Described under Chewy Product Q&A API. | |||
| data.product.questions_count | integer | No | ||||
| data.product.rating | number | No | 4.07 | |||
| data.product.rating_breakdown | array | No | ||||
| data.product.rating_breakdown[].count | integer | No | ||||
| data.product.rating_breakdown[].percent | number | No | ||||
| data.product.rating_breakdown[].stars | integer | No | 5 | |||
| data.product.rating_count | integer | No | ||||
| data.product.reviews | array | No | Review record, 10 fields: contributor_badge, helpful_count, id, incentivized, photo_urls, rating, submitted_at, submitted_by, text, title. Described under Chewy Product Reviews API. | |||
| data.product.slug | string | No | ||||
| data.product.url | string | No | ||||
| data.product.weight | string | No | 40 pounds | Weight/Dimensions are the item's shipping weight and package size as Chewy states them ("40 pounds", "8.46 x 11.02 x 0.39 in"). Both are free-text upstream and are often absent, so they are passed through rather than parsed into numbers and units. | ||
| data.source_url | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/chewy/product?id=185468" \
-H "x-api-key: $CRAWLORA_API_KEY"