Zara API endpoint
Returns a Zara category's full product listing: products with pricing, images, and availability. categoryId is a numeric id from zara-categories. Zara does not paginate this data -- the response always contains the category's complete listing in one call, not one page of it. Each entry represents one purchasable color variant rather than a color-grouped product family.
/zara/category/{categoryId}/productsReturns a Zara category's full product listing, sourced from Zara's own category browse data. categoryId is required and is a numeric id from zara-categories' id field.
Notable response behavior:
count is that listing's real size.products represents one purchasable color variant rather than a color-grouped product family (matching how Zara's own category data is structured) -- colors therefore always holds exactly one entry, itself. This differs from zara-search, whose entries group every color of a base product together.price is in US dollars.url reconstructs Zara's own product-detail page URL from the product's SEO keyword and id.categoryId returns 404. A non-numeric or missing categoryId returns 400 before any upstream request is made.| Field | Filled in, of 343 checked | Values in the sample |
|---|---|---|
| id | 343 | |
| reference | 343 | “09632275-I2026” and 218 other values |
| name | 343 | “ZW COLLECTION MID-RISE CURVED STRAIGHT JEANS” and 241 other values |
| price | 343 | 49.9 to 169, median 69.9 |
| section_name | 343 | WOMAN in all 343 |
| family_name | 343 | PANTALON (342), BERMUDA (1) |
| subfamily_name | 343 | T.PANT.PAQUETER (141), W.PANT.PAQUETER (98), B.PANT.PAQUETER (53) and 4 more |
| availability | 343 | in_stock (342), coming_soon (1) |
| url | 343 | zara.com |
| image_url | 343 | static.zara.net |
| colors | 343 | median 1 entry |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| categoryId (path) | string | Yes | Numeric Zara category id, from zara-categories' id field | 2491844 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/zara/category/2491844/products" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"category_id": "2491844",
"count": 1,
"products": [
{
"id": 545413052,
"reference": "08727223-I2026",
"name": "TRF LOW-RISE WIDE LEG JEANS",
"price": 59.9,
"section_name": "WOMAN",
"family_name": "PANTALON",
"subfamily_name": "T.PANT.PAQUETER",
"availability": "in_stock",
"url": "https://www.zara.com/us/en/trf-low-rise-wide-leg-jeans-p08727223.html",
"image_url": "https://static.zara.net/assets/public/0670/266f/94d044d4b726/35ed5c28bb36/06688224427-p/06688224427-p.jpg?w=800",
"colors": [
{
"id": "427",
"product_id": 545413052,
"name": "Mid-blue",
"price": 59.9,
"availability": "in_stock",
"image_url": "https://static.zara.net/assets/public/0670/266f/94d044d4b726/35ed5c28bb36/06688224427-p/06688224427-p.jpg?w=800"
}
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/zara.categoryProductsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | zara.CategoryProductsResponse | No | ||||
| data.category_id | string | No | ||||
| data.count | integer | No | ||||
| data.fetched_at | string | No | ||||
| data.products | array | No | ProductSummary record, 17 fields: availability, colors, family_name, id, image_url, name, price, reference, section_name, subfamily_name, url. Described under Search Zara products API. | |||
| 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/zara/category/2491844/products" \
-H "x-api-key: $CRAWLORA_API_KEY"