---
title: "Look up a batch of Chewy products' structured attributes and handling flags"
method: GET
path: "/chewy/item-attributes"
tags: ["Chewy"]
---

# Look up a batch of Chewy products' structured attributes and handling flags

`GET /chewy/item-attributes`

## Request

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

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.

## Query parameters

- `part_numbers` string, required
- `group` 'DEFINING' | 'STANDARD' | 'EXTENDED' | 'HIDDEN'

## Headers

- `x-api-key` string, required

## Response `200`

OK

- ChewyItemAttributesResponseDoc
  - `code` integer
  - `data` ChewyItemAttributesResponse
    - `count` integer
    - `fetched_at` string
    - `items` ChewyItemAttributes[]
      - `attributes` ChewyItemAttribute[]
        - `displayable` boolean
        - `group` string
        - `identifier` string
        - `name` string
        - `usage` string
        - `values` ChewyItemAttributeValue[]
          - `id` integer
          - `value` string
      - `autoship_discount_pct` number
      - `brand` string
      - `bundle_items` ChewyItemBundleMember[]
        - `name` string
        - `part_number` string
      - `bundle_title` string
      - `category_group_ids` string[]
      - `entry_id` string
      - `gtin` string
      - `is_autoship_allowed` boolean: Autoship.
      - `is_bundle` boolean: Bundle structure.
      - `is_bundle_multi_sku` boolean
      - `is_bundle_same_sku` boolean
      - `is_discontinued` boolean
      - `is_frozen` boolean
      - `is_gift_card` boolean
      - `is_pharmaceutical` boolean: Handling and compliance flags. These drive how an order ships and whether it needs vet authorization -- none of them are exposed by any other endpoint in this family.
      - `is_published` boolean
      - `is_refrigerated` boolean
      - `is_single_tablet` boolean
      - `is_vet_diet` boolean
      - `merch_class_identifiers` string[]: Catalog membership -- the merchandising classification path and the numeric category group ids this SKU belongs to. The group ids feed straight back into chewy_category's group_id.
      - `name` string
      - `part_number` string
      - `preset_frequency` ChewyItemFrequency
        - `unit` string
        - `value` integer
    - `not_found` string[]
    - `source_url` string
  - `msg` string

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `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/afac9b012a27?raw)
