StockX API endpoint
Returns StockX's full category/subcategory reference: the 7 top-level categories accepted by GET /stockx/search's category parameter, each with its subcategories (e.g. Shoes -> Boots, Cleats, Clogs).
/stockx/categoriesRequires the x-api-key header. No query parameters.
Notable response behavior:
categories[].slug matches SearchOption.Category's allowed values
exactly: sneakers, shoes, apparel, accessories, collectibles,
electronics, trading-cards.subcategories is not currently exposed as a /stockx/search filter
parameter -- it is reference data for building category-scoped browsing,
matching the https://stockx.com/category/{category}/{subcategory} URL
pattern (e.g. https://stockx.com/category/shoes/boots).sneakers → lifestyle, luxury, performanceshoes → boots, cleats, clogs, flats, heels, loafers,
oxfords, sandals, slides-and-sandals, slippers, spikesapparel → bottoms, other-apparel, outerwear, tops,
undergarmentsaccessories → bags, belts, eyewear, face-masks, headwear,
home-and-lifestyle, jewelry, lanyards-and-keychains,
other-accessories, tech-accessories, wallets-and-card-holders,
watchescollectibles → analog-music, comic-books, figures,
food-and-consumer-products, homeware, other-collectibles,
pins-and-keychains, plushes, prints, skate-decks,
sports-equipment, toyselectronics → audio, cellphones, computer-and-gaming-accessories,
computer-components, gaming-consoles, laptops-and-desktops,
other-electronics, small-appliances, smart-watches, tablets,
video-gamestrading-cards → sealed-boxes, graded-singles, ungraded-singlesThis set can drift as StockX adds or reorganizes subcategories -- treat it as a snapshot, not a permanently fixed enum, and always prefer the live response over this list.
| Field | Filled in, of 7 checked | Values in the sample |
|---|---|---|
| name | 7 | “Sneakers” and 6 other values |
| slug | 7 | |
| subcategories | 7 | median 11 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/stockx/categories" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"categories": [
{
"name": "Shoes",
"slug": "shoes",
"subcategories": [
{
"name": "Boots",
"slug": "boots"
},
{
"name": "Cleats",
"slug": "cleats"
},
{
"name": "Sandals",
"slug": "sandals"
}
]
},
{
"name": "Trading Cards",
"slug": "trading-cards",
"subcategories": [
{
"name": "Sealed Boxes",
"slug": "sealed-boxes"
},
{
"name": "Graded Singles",
"slug": "graded-singles"
},
{
"name": "Ungraded Singles",
"slug": "ungraded-singles"
}
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/stockx.categoriesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | stockx.CategoriesResponse | No | ||||
| data.categories | array | No | ||||
| data.categories[].name | string | No | Shoes | |||
| data.categories[].slug | string | No | shoes | |||
| data.categories[].subcategories | array | No | ||||
| data.categories[].subcategories[].name | string | No | Boots | |||
| data.categories[].subcategories[].slug | string | No | boots | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 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/categories" \
-H "x-api-key: $CRAWLORA_API_KEY"