---
title: "Search Chewy by keyword"
method: GET
path: "/chewy/search"
tags: ["Chewy"]
---

# Search Chewy by keyword

`GET /chewy/search`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/chewy/search`
- Auth: API key in header `x-api-key`

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.

## Query parameters

- `q` string, required
- `page` integer
- `sort` 'byRelevance' | 'byNewest' | 'byPopularity' | 'byLowestPrice' | 'byHighestPrice' | 'byRating' | 'byRatingCount'
- `filter` string[]

## Headers

- `x-api-key` string, required

## Response `200`

OK

- ChewySearchResponseDoc
  - `code` integer
  - `data` ChewySearchResponse
    - `breadcrumbs` ChewyCategoryBreadcrumb[]
      - `group_id` string
      - `text` string
      - `url_slug` string
    - `count` integer
    - `facets` ChewyCategoryFacet[]
      - `name` string
      - `options` ChewyCategoryFacetOption[]
        - `display_label` string
        - `name` string
        - `product_count` integer
        - `url_slug` string
        - `value` string
      - `value` string
    - `fetched_at` string
    - `products` ChewyCategoryProduct[]
      - `autoship_discount_pct` string
      - `autoship_price` number
      - `currency_code` string
      - `has_more_choices` boolean
      - `image_url` string
      - `in_stock` boolean
      - `is_autoship_allowed` boolean
      - `is_chewy_exclusive` boolean
      - `is_deal` boolean
      - `is_new` boolean
      - `manufacturer` string
      - `name` string
      - `parent_part_number` string
      - `part_number` string
      - `price` number
      - `rating` number
      - `rating_count` integer
      - `strike_price` number
      - `thumbnail_urls` string[]
      - `url` string
    - `query` string
    - `source_url` string
    - `total` integer
  - `msg` string

## Other responses

- `400`: Bad Request
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/028417aa35bb?raw)
