GET/chewy/brandsapiKey2 credits/request
Returns one page of Chewy's full brand directory -- roughly 7,600 brands -- with each brand's id, name, Chewy's own written description, image, parent-catalog group, and its child brands where a brand umbrellas others (Purina lists 27). This is the whole catalog of brands, unlike chewy_facets, which only reports the brands present in one category's listing. Pass name to look up a single brand by exact name, case-insensitive; it is an exact match upstream, not a search, so "Purina" matches while "purina pro" does not. To filter products by a brand, pass the brand's NAME to chewy_category or chewy_search as filter=brand_facet:<name> -- facet_id is the join key onto chewy_facets' own option ids and is not accepted by the filter parameter.
Optional: page, limit, name.
Sampled 14 Oct 2026: 40 items. Filled in every item: id, name, facet_id, updated_at. Not in every item: long_description (13), image_url (12), catalog_group_id (11), child_brand_ids (2), short_description (1). In the sample: updated_at: 2026-10-13; name: “Dental Fresh” and 39 other values; image_url: image.chewy.com and 1 other host; long_description: median 304 characters; short_description: “Ruffwear for Dogs”.
Open in Playground
GET/chewy/categoriesapiKey2 credits/request
Returns Chewy's category taxonomy tree: how to discover group_id values for chewy_category, not the products within a category. Omitting group_id returns all top-level departments (Dog, Cat, Horse, Bird, Fish, Reptile, Small Pet, Farm and Livestock Supplies, Wild Bird and Wildlife Supplies, Pharmacy, Pet Parents); a group_id expands that specific group's own subtree instead. depth controls how many levels of subcategories are expanded in one call.
Optional: group_id, depth.
Sampled 14 Oct 2026: 11 items. Filled in every item: group_id, name, short_description, thumbnail_url, children. In the sample: name: “Dog” and 10 other values; thumbnail_url: image.chewy.com; children: median 12 entries; short_description: “Dog Supplies” and 10 other values.
Open in Playground
GET/chewy/categoryapiKey3 credits/request
Returns one page (36 products) of a Chewy category/browse listing's product grid (price, autoship price/discount, stock, rating, images), plus embedded facets and breadcrumbs. group_id is Chewy's own numeric category id -- the trailing id segment of a chewy.com/b/<slug>-<id> browse URL, e.g. 294 for /b/dry-food-294. Every breadcrumbs[].group_id and facets[].options[].value in a response is a ready-to-use group_id for a follow-up call, so a caller can discover the full category taxonomy starting from a known category. A group_id Chewy does not recognize returns a 404 rather than an unfiltered listing. sort and filter narrow/reorder the listing; every facets[].value paired with one of that facet's options[].value from any prior response is a valid filter key:value pair (e.g. brand, breed size, flavor, price range, customer rating -- whichever facets that category exposes). Set include_content to also return the category's curated editorial content -- Chewy's own FAQ question/answer pairs, the rich category description, and the SEO page title and meta description; it costs no extra upstream call and is omitted entirely when not requested. A keyword search carries none of this content, so it is a category-only addition.
Required: group_id. Optional: page, sort (7 allowed values: byRelevance, byNewest, byPopularity, byLowestPrice, byHighestPrice, byRating, byRatingCount), filter, include_content.
Sampled 14 Oct 2026: 36 items. Filled in every item: part_number, parent_part_number, name, manufacturer, url, image_url, currency_code, price and 3 more. Not in every item: strike_price (23), is_deal (2), rating (34), rating_count (34), has_more_choices (33), autoship_price (29), autoship_discount_pct (29), is_chewy_exclusive (3) and 1 more. In the sample: part_number: 46,861 to 5,245,126, median 143,259; name: “Pedigree Complete Nutrition Grilled Steak & Vegetable Flavo…” and 35 other values; url: chewy.com; is_autoship_allowed: true in 36 of 36; thumbnail_urls: median 8 entries; parent_part_number: 45,061 to 5,245,110, median 87,772; manufacturer: “Pedigree” and 20 other values; image_url: image.chewy.com.
Open in Playground
GET/chewy/facetsapiKey2 credits/request
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.
Optional: group_id, q, filter.
Sampled 14 Oct 2026: 12 items. Filled in every item: name, value, count, options. In the sample: count: 1 to 174, median 6; name: “Category” and 11 other values; options: median 6 entries; value: “categoryId” and 11 other values.
Open in Playground
GET/chewy/gtin-lookupapiKey2 credits/request
Resolves a batch of up to 20 GTIN/UPC barcodes to their Chewy part numbers in one call. gtins is a comma-separated list of barcodes, e.g. "192268541316". A barcode Chewy does not recognize is omitted from part_numbers and listed in not_found rather than causing the whole call to fail. The resolved part_numbers values feed directly into chewy_product/chewy_products.
Required: gtins.
Sampled 14 Oct 2026: 2 fields returned with a value. In the sample: count: 1.
Open in Playground
GET/chewy/inventoryapiKey3 credits/request
Returns Chewy's live warehouse inventory position for up to 20 products in one call, keyed by part number: the availability status, total units on hand, units inbound/in progress, units already reserved against unshipped orders, and the quantity actually available to the storefront. This is the only Chewy surface that carries real quantities -- every other endpoint in this family reports stock as a single boolean, so "36 units left" and "84,386 units left" are indistinguishable there. Quantities are live and move between calls. Part numbers Chewy does not return inventory for are reported in not_found; if none resolve the response is a 404.
Required: part_numbers.
Sampled 14 Oct 2026: 2 items. Filled in every item: part_number, status, quantity_on_hand, quantity_in_progress, quantity_available_to_site, available_date. In the sample: available_date: 2026-10-13; part_number: 52,448 to 101,143, median 52,448; status: “AVAILABLE”; quantity_on_hand: 8,349 to 88,067, median 8,349; quantity_in_progress: 346 to 3,614, median 346; quantity_available_to_site: 1,261 to 14,737, median 1,261.
Open in Playground
GET/chewy/item-attributesapiKey4 credits/request
Returns Chewy's own specification table for up to 20 products in one call, keyed by part number -- the structured attribute list (lifestage, pet type, product type, material, made-in country, packaging type, flavor, defining size, plus long-form key-benefits and cautions copy), together with the handling and compliance flags that govern how an item ships (pharmaceutical, prescription vet-diet, frozen, refrigerated, single-tablet, gift card), its bundle structure and component SKUs, its autoship eligibility/discount and preset reorder cadence, its merchandising classification path, and the numeric category group ids it belongs to (each usable directly as chewy_category's group_id). This complements rather than repeats chewy_products and chewy_product: price, rating, images, reviews, and descriptions stay on those endpoints, and the attribute table is not available from either. Use the group parameter to return a single attribute group. Part numbers Chewy does not recognize are reported in not_found; if none of them resolve the response is a 404.
Required: part_numbers. Optional: group (4 allowed values: DEFINING, STANDARD, EXTENDED, HIDDEN).
Sampled 14 Oct 2026: 2 items. Filled in every item: part_number, entry_id, name, brand, gtin, is_published, is_autoship_allowed, autoship_discount_pct and 4 more. In the sample: part_number: 52,448 to 101,143, median 52,448; name: “Lavender Scented Clumping Corn Cat Litter, 28-lb bag” and 1 other value; is_published: true in 2 of 2; merch_class_identifiers: median 3 entries; brand: “World's Best” and 1 other value; is_autoship_allowed: true in 2 of 2; attributes: median 27 entries.
Open in Playground
GET/chewy/product-questionsapiKey2 credits/request
Returns one page of a Chewy product's customer questions, each with its answers (text, author, date, staff flag, helpful count). chewy_product embeds only the first 20 questions with no way to page past them; this endpoint reaches the whole set. id is the numeric id from any chewy.com PDP URL, and questions are shared across a product's variants, so any variant's id returns the same set. Each question reports answers_total alongside its answers array, so a caller can tell when answers were truncated by answer_limit. Chewy offers no sort or filter on questions, so this endpoint deliberately exposes paging only.
Required: id. Optional: page, limit, answer_limit.
Sampled 14 Oct 2026: 20 items. Filled in every item: id, text. Not in every item: answers_total (6), answers (6). In the sample: answers_total: 1 to 4, median 1; answers: median 1 entry.
Open in Playground
GET/chewy/product-reviewsapiKey2 credits/request
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.
Required: id. Optional: page, limit, sort (6 allowed values: MOST_RELEVANT, NEWEST, OLDEST, HIGHEST_RATING, LOWEST_RATING, PHOTOS), filter (2 allowed values: POSITIVE, NEGATIVE).
Sampled 14 Oct 2026: 20 items. Filled in every item: id, title, text, rating, submitted_by, submitted_at. Not in every item: photo_urls (5), helpful_count (5). In the sample: submitted_at: 2026-08-12 to 2026-10-08; rating: 1 to 5, median 4; text: median 485 characters; photo_urls: median 1 entry; helpful_count: 1 to 7, median 2.
Open in Playground
GET/chewy/productapiKey3 credits/request
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).
Required: id.
Sampled 14 Oct 2026: 20 items. Filled in every item: id, title, text, rating, submitted_by, submitted_at. Not in every item: helpful_count (8), photo_urls (5). In the sample: submitted_at: 2025-10-04 to 2026-10-10; rating: 1 to 5, median 5; title: “Easy to use” and 19 other values; text: median 167 characters; photo_urls: median 1 entry; submitted_by: “Debora” and 18 other values; helpful_count: 1 to 9, median 2.
Open in Playground
GET/chewy/productsapiKey3 credits/request
Returns a batch of up to 20 Chewy products' lightweight summaries (price, rating, stock, images) in one call. part_numbers is a comma-separated list of Chewy part numbers, e.g. "52448,767758" -- the same value chewy_product returns as part_number/parent_part_number, and chewy_category/chewy_search return as products[].part_number. A part number Chewy does not recognize is omitted from products and listed in not_found rather than causing the whole call to fail.
Required: part_numbers.
Sampled 14 Oct 2026: 2 items. Filled in every item: part_number, name, slug, url, brand, manufacturer_part_number, gtin, currency_code and 8 more. Not in every item: on_special (1). In the sample: part_number: 52,448 to 767,758, median 52,448; name: “World's Best Lavender Scented Clumping Corn Cat Litter, 28-…” and 1 other value; url: chewy.com; in_stock: true in 2 of 2; brand: “World's Best” and 1 other value; manufacturer_part_number: 1,001,700 to 1,780,010,021, median 1,001,700; price: 27.99 to 34.99, median 27.99; list_price: 29.49 to 42.69, median 29.49.
Open in Playground
GET/chewy/searchapiKey5 credits/request
Returns one page of a Chewy keyword search's product listing (price, autoship price/discount, stock, rating, images), plus embedded facets. q is free-text search keywords, e.g. "salmon dog food". A generic query that strongly matches one of Chewy's own categories (e.g. "dog food", "cat litter", "leash") is transparently redirected to that category's listing, the same real results a chewy.com visitor would see -- source_url reflects the actual listing fetched. sort and filter narrow/reorder the listing; every facets[].value paired with one of that facet's options[].value from any prior response is a valid filter key:value pair.
Required: q. Optional: page, sort (7 allowed values: byRelevance, byNewest, byPopularity, byLowestPrice, byHighestPrice, byRating, byRatingCount), filter.
Sampled 14 Oct 2026: 36 items. Filled in every item: part_number, parent_part_number, name, manufacturer, url, image_url, currency_code, price and 7 more. Not in every item: strike_price (22), has_more_choices (30), is_deal (4), is_chewy_exclusive (3). In the sample: part_number: 52,545 to 3,861,726, median 733,486; name: “Purina Pro Plan Adult Sensitive Skin & Stomach Salmon & Ric…” and 35 other values; url: chewy.com; is_autoship_allowed: true in 36 of 36; thumbnail_urls: median 7 entries; parent_part_number: 44,993 to 3,861,694, median 222,974; manufacturer: “Purina Pro Plan” and 20 other values; image_url: image.chewy.com.
Open in Playground
GET/chewy/suggestapiKey2 credits/request
Returns Chewy's own search-box typeahead result for a partial query term: search-term suggestions (some resolving directly to a category/brand browse URL via their own url field) plus a handful of educational-content article suggestions. term is a partial query, e.g. "salmon dog" or "blue buff". Omit term entirely to get what Chewy shows on an empty search box instead: its current Popular Searches (each resolving to a category or brand listing) and Popular Articles.
Optional: term.
Sampled 14 Oct 2026: 3 items. Filled in every item: title, url, thumbnail_url. In the sample: title: “The Ultimate Guide to Dog Food Toppers” and 2 other values; url: chewy.com; thumbnail_url: pet-health-content-media.chewy.com.
Open in Playground
GET/chewy/variantsapiKey2 credits/request
Returns the full roster of purchasable variants for the product a given item belongs to -- every size, flavor, or color Chewy sells it in -- with each variant's own part number, price, Autoship price, stock, images, and the defining option that distinguishes it (e.g. Size = Medium). id is the numeric id from any chewy.com PDP URL; passing any one variant's id returns that variant's whole family, and the variant you asked for is flagged with is_requested. This answers a question chewy_product cannot: chewy_product describes only the single variant it was given and names its parent, but never lists the siblings or their prices. Only the defining option is returned, not the full attribute table -- use chewy_item_attributes for that.
Required: id.
Sampled 14 Oct 2026: 5 items. Filled in every item: part_number, entry_id, name, currency_code, price, in_stock, image_urls, options. Not in every item: is_requested (1). In the sample: part_number: 158,731 to 710,438, median 158,733; name: “Frisco Lion Mane Dog & Cat Costume, Medium” and 4 other values; in_stock: true in 5 of 5; image_urls: median 6 entries; price: 15.99 to 17.99, median 15.99; options: median 1 entry; is_requested: true in 1 of 1.
Open in Playground