Gucci API endpoint
Returns one Gucci category/browse listing: products (name, price, colors, images, stock) plus the upstream's own product count, page count, sibling-category counts, and sort options. category comes from gucci-categories' own category field. page selects how many of the upstream's own batches to accumulate -- Gucci's own category pages page this way: requesting page=N returns every product from page 1 through page N combined (its own "Load All" button simply requests the last page), not a single page's worth. Defaults to 1 (the upstream's own first batch, 36 products); request page equal to the response's own pages_count to fetch a category's complete listing in one call.
/gucci/categorycategory is required and comes from gucci-categories' own category field (e.g. women/handbags-c-women-handbags). page selects how many of the upstream's own batches to accumulate, and defaults to 1.
Notable response behavior:
page=N returns every product from page 1 through page N combined (its own "Load All" button on the site simply requests the last page), not a single page's worth. Request page equal to the response's own pages_count to fetch a category's complete listing in one call.facets reports sibling/cross-cutting category counts within the current listing's context (e.g. a new or gifts shelf a product also belongs to), not only true subcategories of category.sort_options lists every value the site's own sort control accepts (default, newest, price-desc, price-asc).category value returns a not-found error.| Field | Filled in, of 36 checked | Values in the sample |
|---|---|---|
| style_code | 36 | |
| name | 36 | “Paparazzo large top handle bag” and 21 other values |
| variation_description | 36 | “black leather” and 8 other values |
| price | 36 | 1,450 to 3,950, median 2,390 |
| currency | 36 | USD in all 36 |
| colors | 36 | median 1 entry |
| images | 36 | median 10 entries |
| url | 36 | gucci.com |
| in_stock | 36 | true in 36 of 36 |
| in_stock_online | 36 | true in 36 of 36 |
| in_stock_stores | 36 | true in 36 of 36 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| category | string | Yes | Category path from gucci-categories' own category field | women/handbags-c-women-handbags | |
| page | integer | No | 1 (see description | How many of the upstream's own batches to accumulate, defaults to 1 (see description) | 1 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/gucci/category?category=women%2Fhandbags-c-women-handbags&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"category": "women/handbags-c-women-handbags",
"country": "us",
"language": "en",
"page": 1,
"products_count": 384,
"pages_count": 11,
"sort_options": [
"default",
"newest",
"price-desc",
"price-asc"
],
"facets": [
{
"path": "women",
"count": 384
},
{
"path": "gifts",
"count": 253
}
],
"products": [
{
"style_code": "A005XWAAG8T1000",
"name": "Jetset GG Marmont medium shoulder bag",
"price": 3100,
"currency": "USD",
"colors": [
"#000000|Black"
],
"images": [
"https://media.gucci.com/style/..."
],
"url": "https://www.gucci.com/us/en/pr/women/handbags/...",
"in_stock": true,
"in_stock_online": true,
"in_stock_stores": true
}
]
}
}Request schema
No body schema
Response schema
#/definitions/gucci.categoryResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | gucci.CategoryResponse | No | ||||
| data.category | string | No | ||||
| data.country | string | No | ||||
| data.facets | array | No | ||||
| data.facets[].count | integer | No | ||||
| data.facets[].path | string | No | ||||
| data.fetched_at | string | No | ||||
| data.language | string | No | ||||
| data.page | integer | No | ||||
| data.pages_count | integer | No | ||||
| data.products | array | No | ||||
| data.products[].colors | array | No | ||||
| data.products[].currency | string | No | ||||
| data.products[].images | array | No | ||||
| data.products[].in_stock | boolean | No | ||||
| data.products[].in_stock_online | boolean | No | ||||
| data.products[].in_stock_stores | boolean | No | ||||
| data.products[].name | string | No | ||||
| data.products[].price | number | No | ||||
| data.products[].style_code | string | No | ||||
| data.products[].url | string | No | ||||
| data.products[].variation_description | string | No | ||||
| data.products_count | integer | No | ||||
| data.sort_options | array | No | ||||
| 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/gucci/category?category=women%2Fhandbags-c-women-handbags&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"