Endpoint Playground
Returns one page of a Chewy product's customer reviews -- rating, title, body, author, submission date, helpful count, incentivized flag, and contributor badge -- with sorting and positive/negative filtering. chewy_product embeds only the first 20 reviews with no way to page past them; this endpoint reaches the whole set (products routinely carry thousands). id is the numeric id from any chewy.com PDP URL, and reviews are shared across a product's variants, so any variant's id returns the same set. total is the count for the current filter, so it drops when filter is applied, while rating_count stays the product's overall rating tally.
14 Oct 2026: 20 reviews; 6 fields had a value in every checked item and 2 varied between items.
Sample value profiles: submitted_at: 2026-08-12 to 2026-10-08; rating: 1 to 5, median 4; text: median 485 characters.
curl 'https://api.crawlora.net/api/v1/chewy/product-reviews?id=767806&sort=MOST_RELEVANT&filter=POSITIVE' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| id | string | Yes | 767806 | The numeric id from a chewy.com PDP URL, e.g. \ |
| page | integer | No | Page number, 1-based (default 1). | |
| limit | integer | No | Reviews per page, 1 to 50 (default 20). | |
| sort | string | No | MOST_RELEVANT | Sort order. One of MOST_RELEVANT, NEWEST, OLDEST, HIGHEST_RATING, LOWEST_RATING, PHOTOS. Defaults to Chewy's own ordering when omitted. |
| filter | string | No | POSITIVE | Restrict to POSITIVE (4-5 star) or NEGATIVE (1-3 star) reviews. Omit for all. |
{
"code": 200,
"msg": "OK",
"data": {
"part_number": "67742",
"total": 9696,
"page": 1,
"page_size": 20,
"count": 20,
"has_next_page": true,
"rating": 4.4,
"rating_count": 22965,
"reviews": [
{
"id": "…",
"title": "Stormie approved!",
"text": "My dog stopped itching within two weeks…",
"rating": 5,
"submitted_by": "vscarberry",
"submitted_at": "2026-08-20T14:02:11Z",
"helpful_count": 12
}
],
"source_url": "https://www.chewy.com/api/pdp/graphql",
"fetched_at": "2026-09-07T03:00:00Z"
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.