Adidas API endpoint
Use Crawlora's Adidas product review topics API to extract supported public Adidas data as structured JSON. This page includes request parameters, cURL examples, response schema, error behavior, credit cost, and a Playground link for testing before integration.
/adidas/product/review-topicsReturns the topics an Adidas product model's customer reviews can be filtered by -- the "filter by topic" chips the product page shows, commonly satisfaction, comfort, color, purchase, fit, appearance, quality and style. Feed a topics[].topic value back to /adidas/product/reviews as its topic parameter to return only reviews about that aspect. The topic vocabulary is per model, not a fixed list: a shoe exposes fit and comfort topics that an accessory does not, so read it per model rather than hard-coding it. model_number is the Adidas model number (e.g. SAMBAU2312) -- NOT the SKU: take it from an adidas_search result's products[].model_number field. A model with no reviews, including a well-formed but unrecognized model_number, returns an empty topics list rather than an error. Note the label field is a display form of topic, not translated text: Adidas returns the same English values for every locale on this route. Developers commonly use this endpoint for data enrichment, monitoring, research dashboards, internal automation, and agent-native workflows that need repeatable structured public web data. Authentication uses the documented Crawlora headers, and usage is metered with the credit cost shown on this page.
Request parameters are generated from the active endpoint catalog. Required values must be sent before Crawlora can call the upstream public web data source.
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| model_number | string | Yes | Adidas model number, from an adidas_search result's products[].model_number field | ||
| locale | string | No | en_US | Locale accepted for consistency with the reviews endpoint. Allowed values: cs_CZ, da_DK, de_AT, de_CH, de_DE, el_GR, en_AE, en_AU, en_CA, en_GB, en_IE, en_IL, en_IN, en_NZ, en_PH, en_SG, en_US, en_ZA, es_AR, es_CL, es_CO, es_ES, es_MX, es_PE, fr_BE, fr_CA, fr_CH, fr_FR, id_ID, it_CH, it_IT, ja_JP, ko_KR, nl_BE, nl_NL, pl_PL, pt_BR, pt_PT, ru_RU, sk_SK, sv_SE, th_TH, tr_TR, zh_HK, zh_TW. Defaults to en_US. Note Adidas returns the same English topic labels regardless of this value. | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/adidas/product/review-topics" \ -H "x-api-key: $CRAWLORA_API_KEY"
Send your scraping API key in the x-api-key header. Use the console API Keys page to rotate or select the active key.
Endpoint usage is metered in credits. The plan prices, included credits, limits, and overage rates below match the active backend billing configuration.
| Plan | Price | Included credits | Daily cap | Rate limit | Overage |
|---|---|---|---|---|---|
| Free | $0/mo | 2,000 | 500 daily credits | 5/min | No overage |
| Starter | $9/mo | 20,000 | 5,000 daily credits | 15/min | $0.75/1,000 overage credits when enabled |
| Growth | $29/mo | 100,000 | 25,000 daily credits | 45/min | $0.45/1,000 overage credits when enabled |
| Pro | $79/mo | 400,000 | No daily cap | 120/min | $0.30/1,000 overage credits |
| Business | $199/mo | 1,200,000 | No daily cap | 300/min | $0.20/1,000 overage credits |
| Enterprise | $499/mo | 5,000,000 | No daily cap | 1,000/min | $0.12/1,000 overage credits |
This endpoint is executed through Crawlora's managed scraping infrastructure.
- The topic vocabulary is **per model**, not a fixed list — a shoe exposes fit and comfort topics an accessory does not. Read it per model rather than hard-coding it. Commonly seen values are `satisfaction`, `comfort`, `color`, `purchase`, `fit`, `appearance`, `quality` and `style`. - `label` is a **display form of `topic`, not translated text**. Adidas returns the same English values for every `locale` on this route, unlike `/adidas/product/reviews`, where the locale genuinely translates the rating-scale labels. - A model with no reviews — including a well-formed but unrecognized `model_number` — returns an empty `topics` list rather than an error, because the upstream answers `200` with an empty list rather than `404`. - Passing a `topic` that is not in this list to `/adidas/product/reviews` returns `400` naming the model's valid topics, rather than silently returning zero reviews.
Crawlora does not silently return bad data when the upstream page cannot be used.
| Status | Common failure case |
|---|---|
| 400 | Invalid input or missing required parameter |
| 429 | Plan or endpoint rate limit exceeded |
| 500 | Internal execution error |
| 502 | Upstream platform failed, returned unusable HTML, or served a challenge page that could not be resolved |
When possible, Crawlora returns structured error context so your integration can retry, back off, or inspect the request.
| 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 |
{
"code": 200,
"msg": "OK",
"data": {
"model_number": "SAMBAU2312",
"locale": "en_US",
"count": 8,
"topics": [
{
"topic": "satisfaction",
"label": "satisfaction"
},
{
"topic": "comfort",
"label": "comfort"
},
{
"topic": "color",
"label": "color"
},
{
"topic": "purchase",
"label": "purchase"
},
{
"topic": "fit",
"label": "fit"
},
{
"topic": "appearance",
"label": "appearance"
},
{
"topic": "quality",
"label": "quality"
},
{
"topic": "style",
"label": "style"
}
],
"source_url": "https://www.adidas.com/api/models/SAMBAU2312/filter/topics?bazaarVoiceLocale=en_US",
"fetched_at": "2026-09-06T00:00:00Z"
}
}Request schema
No body schema
Response schema
#/definitions/adidas.reviewTopicsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | adidas.ReviewTopicsResponse | No | ||||
| data.count | integer | No | ||||
| data.fetched_at | string | No | ||||
| data.locale | string | No | ||||
| data.model_number | string | No | ||||
| data.source_url | string | No | ||||
| data.topics | array | No | ||||
| data.topics[].label | string | No | Label is the upstream's display string. Despite the upstream field being named "localizedFeature" it is not translated -- it is returned identically for every locale -- so treat it as a display form of Topic, not as localized text. | |||
| data.topics[].topic | string | No | Topic is the value to pass as the reviews endpoint's topic parameter. | |||
| msg | string | No | OK |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/adidas/product/review-topics" \
-H "x-api-key: $CRAWLORA_API_KEY"Crawlora is designed for responsible structured public web data workflows. Customers are responsible for using Crawlora in compliance with applicable laws, third-party rights, target-platform rules, and Crawlora terms.
Read Crawlora terms