StockX API endpoint
Browses StockX's product catalog by category with optional free-text keyword search and facet filters (gender, brand, color, shoe height, activity, availability), returning product summaries with headline pricing plus the total matching count.
/stockx/searchQuery parameters:
category (required) — StockX top-level category. Allowed values:
sneakers, shoes, apparel, accessories, collectibles,
trading-cards, electronics.query (optional) — free-text keyword search within the category, e.g. a
model name or colorway (jordan 5).gender (optional) — comma-separated for multiple values. Allowed values:
men, women, kids, unisex.brand (optional) — one or more lowercase-hyphenated brand slugs,
comma-separated, e.g. jordan,nike. StockX's brand catalog is large,
category-scoped, and changes over time, so this is not a fixed enum — any
slug-shaped value is accepted and passed through. Commonly available
brands as of 2026-08-04 (not exhaustive): 361-degrees, adidas,
aime-leon-dore, alexander-mcqueen, altra, amiri, anta,
arcteryx, asics, atmos, autry, axel-arigato, balenciaga,
bape, birkenstock, bottega-veneta, brooks, burberry, buscemi,
camper, chanel, christian-louboutin, clarks, cole-haan,
comme-des-garcons, common-projects, converse, crocs, dc-shoes,
diadora, diesel, dior, disney, dolce-and-gabbana, dr-martens,
ecco, ewing-athletics, fendi, ferragamo, fila, givenchy,
golden-goose, gore-tex, gucci, hermes, hey-dude, hoka-one-one,
john-geiger, jordan, k-swiss, karhu, keen, kith, la-sportiva,
lacoste, lanvin, li-ning, loewe, louis-vuitton,
maison-margiela, maison-mihara-yasuhiro, marvel, merrell, mizuno,
moncler, new-balance, nfl, nike, off-white, on,
onitsuka-tiger, palm-angels, pharrell-williams, polo-ralph-lauren,
prada, puma, raf-simons, reebok, rick-owens, rigorer,
saint-laurent, salomon, saucony, skechers, stella-mccartney,
supreme, the-north-face, timberland, travis-scott, ugg,
undefeated, under-armour, valentino, vans, veja, versace,
virgil-abloh, y-3, yeezy, yohji-yamamoto.
See GET /stockx/brands for the current full catalog (396 brands
confirmed live 2026-08-04).model (optional) — filter by a single model slug, e.g. air-force-1, as
found in a StockX brand-page URL like
stockx.com/brands/nike?model=air-force-1. StockX scopes model resolution
to one selected brand: model requires brand to also be set to exactly
one value, and a comma-separated multi-brand list is rejected with 400
when model is present. Model slugs are not enumerated by this API or by
GET /stockx/brands -- pass one captured from a real StockX URL. An
unrecognized model slug returns a genuine zero-result page from StockX,
not an error.color (optional) — comma-separated for multiple values. Allowed values:
white, black, multi, blue, grey, pink, red, brown,
yellow, green, purple, orange.shoe_height (optional) — comma-separated for multiple values. Allowed
values: low, mid, high.activity (optional) — comma-separated for multiple values. Allowed
values: basketball, football, golf, hiking, running,
skateboarding, soccer.available_now (optional) — only include products with at least one
active ask.xpress_ship (optional) — only include products with StockX Xpress Ship
availability.below_retail (optional) — only include products currently trading below
original retail price.sort (optional) — result sort order. Allowed values: featured
(default), most-active (top selling).page (optional) — 1-indexed result page. Defaults to 1.limit (optional) — results per page. Defaults to 20, maximum 100.Notable response behavior:
total_count reflects StockX's full matching-result count for the
applied filters, not just len(products).category, gender, color, shoe_height, activity,
sort, or malformed brand/model value returns 400 before any
upstream request is made, as does model set without exactly one brand
value.sort in the response reports the sort StockX actually applied; an
unrecognized sort value is rejected as 400 rather than silently
falling back to featured.| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| url_key | 20 | |
| title | 20 | “Jordan 5 Retro Black University Blue (2026)” and 19 other values |
| brand | 20 | Jordan in all 20 |
| model | 20 | Jordan 5 Retro (19), Jordan 5 Retro OG (1) |
| gender | 20 | |
| product_category | 20 | sneakers in all 20 |
| image_url | 20 | images.stockx.com |
| lowest_ask | 20 | 55 to 377, median 145 |
| highest_bid | 20 | 70 to 502, median 213 |
| last_sale | 20 | 70 to 386, median 188 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| category | string | Yes | StockX top-level category Allowed values: sneakers, shoes, apparel, accessories, collectibles, trading-cards, electronics. | sneakers | |
| query | string | No | Free-text keyword search within the category, e.g. a model name or colorway | jordan 5 | |
| gender | string | No | Filter by gender, comma-separated for multiple values Allowed values: men, women, kids, unisex. | men | |
| brand | string | No | Filter by one or more brand slugs, comma-separated, e.g. jordan,nike | jordan,nike | |
| model | string | No | Filter by a single model slug, e.g. air-force-1. Requires exactly one value in brand | air-force-1 | |
| color | string | No | Filter by color, comma-separated for multiple values Allowed values: white, black, multi, blue, grey, pink, red, brown, yellow, green, purple, orange. | black | |
| shoe_height | string | No | Filter by shoe height, comma-separated for multiple values Allowed values: low, mid, high. | low | |
| activity | string | No | Filter by activity, comma-separated for multiple values Allowed values: basketball, football, golf, hiking, running, skateboarding, soccer. | basketball | |
| available_now | boolean | No | Only include products with at least one active ask | false | |
| xpress_ship | boolean | No | Only include products with StockX Xpress Ship availability | false | |
| below_retail | boolean | No | Only include products currently trading below original retail price | false | |
| sort | string | No | featured | Result sort order, defaults to featured Allowed values: featured, most-active. | featured |
| page | integer | No | 1 | 1-indexed result page, defaults to 1 | 1 |
| limit | integer | No | 20 | Results per page, defaults to 20, maximum 100 | 20 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/stockx/search?category=sneakers&query=coffee&gender=men&color=white&shoe_height=low&activity=basketball&available_now=true&xpress_ship=true&below_retail=true&sort=featured&page=1&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"category": "sneakers",
"query": "jordan 5",
"sort": "featured",
"page": 1,
"limit": 20,
"total_count": 1000,
"products": [
{
"id": "9acafeb5-bc4a-4d66-bc3a-4899d2e64775",
"url_key": "air-jordan-4-retro-toro-bravo-2026",
"title": "Jordan 4 Retro Toro Bravo (2026)",
"brand": "Jordan",
"model": "Jordan 4 Retro",
"gender": "men",
"product_category": "sneakers",
"image_url": "https://images.stockx.com/images/toro-bravo-thumb.jpg",
"lowest_ask": 173,
"highest_bid": 267,
"last_sale": 176
}
]
}
}Request schema
No body schema
Response schema
#/definitions/stockx.searchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | stockx.SearchResponse | No | ||||
| data.category | string | No | sneakers | |||
| data.limit | integer | No | 20 | |||
| data.page | integer | No | 1 | |||
| data.products | array | No | ||||
| data.products[].brand | string | No | Jordan | |||
| data.products[].gender | string | No | men | |||
| data.products[].highest_bid | integer | No | 267 | |||
| data.products[].id | string | No | 9acafeb5-bc4a-4d66-bc3a-4899d2e64775 | |||
| data.products[].image_url | string | No | ||||
| data.products[].last_sale | integer | No | 176 | |||
| data.products[].lowest_ask | integer | No | 173 | |||
| data.products[].model | string | No | Jordan 4 Retro | |||
| data.products[].product_category | string | No | sneakers | |||
| data.products[].release_date | string | No | 2026-08-05 | |||
| data.products[].title | string | No | Jordan 4 Retro Toro Bravo (2026) | |||
| data.products[].url_key | string | No | air-jordan-4-retro-toro-bravo-2026 | |||
| data.query | string | No | jordan 5 | |||
| data.sort | string | No | featured | |||
| data.total_count | integer | No | 1000 | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 500 | Internal Server Error | #/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/stockx/search?category=sneakers&query=coffee&gender=men&color=white&shoe_height=low&activity=basketball&available_now=true&xpress_ship=true&below_retail=true&sort=featured&page=1&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"