StockX API endpoint
Use Crawlora's StockX product detail API to extract supported public StockX 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.
/stockx/product/{slug}Returns a normalized StockX product: identity (title, brand, model, colorway, style id, retail price, release date, description, image), current market data (lowest ask, highest bid, last sale, trailing average price/sales count, delivery-speed ask tiers), individual seller listings (price, condition, size), related-product recommendations (other colorways/siblings StockX surfaces on the product page), and any promotional badges. Credential-free public data from StockX's own product-page GraphQL API. 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 |
|---|---|---|---|---|---|
| slug (path) | string | Yes | StockX product URL slug (the urlKey), the path segment of a https://stockx.com/{slug} product page | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/stockx/product/%3Cslug%3E" \ -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.
- A slug that is well-formed but does not match a real product returns `404`, not an empty `200`. - `market.ask_service_levels` is a map keyed by StockX's own delivery-speed tier names (commonly `standard`, `express_standard`, `express_next_day`, `express_expedited`), each reporting the number of active asks and the lowest ask price at that tier. - `listings` is a page of individual active seller asks (price, condition, size). StockX does not expose seller identity on its public product pages, so none is included. - `related_products` is up to 15 other products StockX recommends alongside this one (typically sibling colorways of the same model, but can include other related products); each entry uses the same shape as a `/stockx/search` result row. Omitted when StockX's related-products call fails or returns nothing — it is a recommendation shelf, not core identity or pricing data, so a failure there does not fail the whole request. - `traits` mirrors StockX's own publicly displayed attribute list for the product (style, colorway, retail price, release date, and any others StockX adds); `colorway`, `retail_price`, and `release_date` are lifted out as typed top-level fields for convenience when present. - `badges` is omitted when StockX's badges call fails or the product has no active badges — it is a purely cosmetic marker (e.g. "Selling Fast"), not core identity or pricing data, so a failure there does not fail the whole request. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": "019ac251-3a0d-7243-bb16-5128353be8bf", "url_key": "air-jordan-5-retro-black-university-blue-2026", "title": "Jordan 5 Retro Black University Blue (2026)", "primary_title": "Jordan 5 Retro", "secondary_title": "Black University Blue (2026)", "brand": "Jordan", "model": "Jordan 5 Retro", "gender": "men", "product_category": "sneakers", "primary_category": "Air Jordan", "style_id": "DD0587-008", "colorway": "Black/University Blue/White", "retail_price": "220", "release_date": "2026-06-20", "description": "The Air Jordan 5 Retro in Black, University Blue, and White for 2026 ...", "image_url": "https://images.stockx.com/images/Air-Jordan-5-Retro-Black-University-Blue-2026-Product.jpg", "traits": [ {"name": "Style", "value": "DD0587-008"}, {"name": "Colorway", "value": "Black/University Blue/White"}, {"name": "Retail Price", "value": "220", "format": "currency"}, {"name": "Release Date", "value": "2026-06-20", "format": "date"} ], "market": { "lowest_ask": 260, "highest_bid": 315, "number_of_asks": 1341, "number_of_bids": 334, "last_sale": 271, "sales_last_72_hours": 713, "annual_average_price": 253, "annual_sales_count": 12394, "ask_service_levels": { "standard": {"count": 1341, "lowest_ask": 260}, "express_standard": {"count": 668, "lowest_ask": 271, "inventory_type": "CUSTODIAL"}, "express_next_day": {"count": 234, "lowest_ask": 271, "inventory_type": "CUSTODIAL"} } }, "listings": [ {"price": 250, "condition": "New - Other", "condition_alias": "new-other", "condition_description": "Replacement box", "size": "12", "size_descriptor": "Size"} ], "related_products": [ {"id": "63aff9cd-af0e-4027-b54d-555bf1f80bf7", "url_key": "air-jordan-5-retro-wolf-grey-2026", "title": "Jordan 5 Retro Wolf Grey (2026)", "brand": "Jordan", "model": "Jordan 5 Retro", "gender": "men", "product_category": "sneakers", "lowest_ask": 197, "highest_bid": 195, "last_sale": 288} ], "badges": [ {"id": "SELLING_FAST", "title": "713 Sold in Last 3 Days!", "subtitle": "This item sells fast."} ], "source_url": "https://stockx.com/air-jordan-5-retro-black-university-blue-2026" } } ```
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 |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
{
"code": 200,
"msg": "OK",
"data": {
"id": "019ac251-3a0d-7243-bb16-5128353be8bf",
"url_key": "air-jordan-5-retro-black-university-blue-2026",
"title": "Jordan 5 Retro Black University Blue (2026)",
"primary_title": "Jordan 5 Retro",
"secondary_title": "Black University Blue (2026)",
"brand": "Jordan",
"model": "Jordan 5 Retro",
"gender": "men",
"product_category": "sneakers",
"primary_category": "Air Jordan",
"style_id": "DD0587-008",
"colorway": "Black/University Blue/White",
"retail_price": "220",
"release_date": "2026-06-20",
"description": "The Air Jordan 5 Retro in Black, University Blue, and White for 2026 ...",
"image_url": "https://images.stockx.com/images/Air-Jordan-5-Retro-Black-University-Blue-2026-Product.jpg",
"traits": [
{
"name": "Style",
"value": "DD0587-008"
},
{
"name": "Colorway",
"value": "Black/University Blue/White"
},
{
"name": "Retail Price",
"value": "220",
"format": "currency"
},
{
"name": "Release Date",
"value": "2026-06-20",
"format": "date"
}
],
"market": {
"lowest_ask": 260,
"highest_bid": 315,
"number_of_asks": 1341,
"number_of_bids": 334,
"last_sale": 271,
"sales_last_72_hours": 713,
"annual_average_price": 253,
"annual_sales_count": 12394,
"ask_service_levels": {
"standard": {
"count": 1341,
"lowest_ask": 260
},
"express_standard": {
"count": 668,
"lowest_ask": 271,
"inventory_type": "CUSTODIAL"
},
"express_next_day": {
"count": 234,
"lowest_ask": 271,
"inventory_type": "CUSTODIAL"
}
}
},
"listings": [
{
"price": 250,
"condition": "New - Other",
"condition_alias": "new-other",
"condition_description": "Replacement box",
"size": "12",
"size_descriptor": "Size"
}
],
"related_products": [
{
"id": "63aff9cd-af0e-4027-b54d-555bf1f80bf7",
"url_key": "air-jordan-5-retro-wolf-grey-2026",
"title": "Jordan 5 Retro Wolf Grey (2026)",
"brand": "Jordan",
"model": "Jordan 5 Retro",
"gender": "men",
"product_category": "sneakers",
"lowest_ask": 197,
"highest_bid": 195,
"last_sale": 288
}
],
"badges": [
{
"id": "SELLING_FAST",
"title": "713 Sold in Last 3 Days!",
"subtitle": "This item sells fast."
}
],
"source_url": "https://stockx.com/air-jordan-5-retro-black-university-blue-2026"
}
}Request schema
No body schema
Response schema
#/definitions/stockx.productResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | stockx.ProductDetail | No | ||||
| data.badges | array | No | ||||
| data.badges[].id | string | No | SELLING_FAST | |||
| data.badges[].subtitle | string | No | This item sells fast. | |||
| data.badges[].title | string | No | 713 Sold in Last 3 Days! | |||
| data.brand | string | No | Jordan | |||
| data.colorway | string | No | Black/University Blue/White | |||
| data.description | string | No | ||||
| data.gender | string | No | men | |||
| data.id | string | No | 019ac251-3a0d-7243-bb16-5128353be8bf | |||
| data.image_url | string | No | ||||
| data.listings | array | No | ||||
| data.listings[].condition | string | No | New - Other | |||
| data.listings[].condition_alias | string | No | new-other | |||
| data.listings[].condition_description | string | No | Replacement box | |||
| data.listings[].image_url | string | No | ||||
| data.listings[].price | integer | No | 250 | |||
| data.listings[].size | string | No | 12 | |||
| data.listings[].size_descriptor | string | No | Size | |||
| data.market | stockx.MarketData | No | ||||
| data.market.annual_average_price | integer | No | 253 | |||
| data.market.annual_sales_count | integer | No | 12394 | |||
| data.market.ask_service_levels | object | No | ||||
| data.market.highest_bid | integer | No | 315 | |||
| data.market.last_90_days_average_price | integer | No | 253 | |||
| data.market.last_90_days_sales_count | integer | No | 12394 | |||
| data.market.last_sale | integer | No | 271 | |||
| data.market.lowest_ask | integer | No | 260 | |||
| data.market.number_of_asks | integer | No | 1341 | |||
| data.market.number_of_bids | integer | No | 334 | |||
| data.market.sales_last_72_hours | integer | No | 713 | |||
| data.model | string | No | Jordan 5 Retro | |||
| data.primary_category | string | No | Air Jordan | |||
| data.primary_title | string | No | Jordan 5 Retro | |||
| data.product_category | string | No | sneakers | |||
| data.related_products | array | No | ||||
| data.related_products[].brand | string | No | Jordan | |||
| data.related_products[].gender | string | No | men | |||
| data.related_products[].highest_bid | integer | No | 267 | |||
| data.related_products[].id | string | No | 9acafeb5-bc4a-4d66-bc3a-4899d2e64775 | |||
| data.related_products[].image_url | string | No | ||||
| data.related_products[].last_sale | integer | No | 176 | |||
| data.related_products[].lowest_ask | integer | No | 173 | |||
| data.related_products[].model | string | No | Jordan 4 Retro | |||
| data.related_products[].product_category | string | No | sneakers | |||
| data.related_products[].release_date | string | No | 2026-08-05 | |||
| data.related_products[].title | string | No | Jordan 4 Retro Toro Bravo (2026) | |||
| data.related_products[].url_key | string | No | air-jordan-4-retro-toro-bravo-2026 | |||
| data.release_date | string | No | 2026-06-20 | |||
| data.retail_price | string | No | 220 | |||
| data.secondary_title | string | No | Black University Blue (2026) | |||
| data.source_url | string | No | https://stockx.com/air-jordan-5-retro-black-university-blue-2026 | |||
| data.style_id | string | No | DD0587-008 | |||
| data.title | string | No | Jordan 5 Retro Black University Blue (2026) | |||
| data.traits | array | No | ||||
| data.traits[].format | string | No | currency | |||
| data.traits[].name | string | No | Style | |||
| data.traits[].value | string | No | DD0587-008 | |||
| data.url_key | string | No | air-jordan-5-retro-black-university-blue-2026 | |||
| 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/stockx/product/%3Cslug%3E" \
-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