Nike API endpoint
Use Crawlora's Nike Category Taxonomy API to extract supported public Nike 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.
/nike/categoriesReturns Nike's full Men/Women/Kids/Jordan category and subcategory taxonomy tree, sourced directly from Nike.com's own nav mega-menu. Each top-level entry (Men, Women, Kids, Jordan) breaks down into named groups (e.g. Shoes, Clothing, Accessories, Shop By Sport -- Women additionally carries a Shop by Color group, and Jordan is organized by Men/Women/Kids instead of by product type), each with its own subcategory entries. Every subcategory (and most groups) carries a slug usable as a future category-browse endpoint's path/slug input, and is directly browsable today at https://www.nike.com/w/<slug>. This mirrors the live nav exactly, including its seasonal/promotional groups (e.g. Limited Time, New & Featured) alongside the stable structural ones -- Nike's own markup does not distinguish the two. 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 |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/nike/categories" \ -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 response has one entry per top-level tab, in order: `Men`, `Women`, `Kids`, `Jordan`. - Each top-level entry breaks down into named `groups` (for example `Shoes`, `Clothing`, `Accessories`, `Shop By Sport` -- `Women` additionally carries a `Shop by Color` group, and `Jordan` is organized by `Men`/`Women`/`Kids` instead of by product type). - Each group lists its `subcategories` -- the individual entries a caller would browse (for example `Jordan` under `Men` > `Shoes`, or `Dark Neutrals` under `Women` > `Shop by Color`). - Most groups and subcategories carry a non-empty `slug` -- the bare identifier from Nike's own `/w/<slug>` browse-page URL. `slug` is directly browsable today at `https://www.nike.com/w/<slug>` and is the value a future Nike category-browse endpoint would expect as its `path`/`slug` input. A small number of entries point at a distinct standalone hub page instead of a `/w/` browse page (for example `Shop By Sport`'s own `All Conditions Gear` entry) -- those carry an empty `slug`. - This mirrors the live nav exactly, including its seasonal/promotional groups (`Limited Time`, `New & Featured`, and similar) alongside the stable structural ones -- Nike's own markup does not distinguish the two, so this endpoint does not either. - Two collab/campaign tabs visible in the live nav alongside Men/Women/Kids/Jordan (a NikeSKIMS collection tab and a site-wide Sale tab) are intentionally not included -- they are not part of the stable taxonomy this endpoint documents. ```json {"code":200,"msg":"OK","data":{"source_url":"https://www.nike.com/","fetched_at":"2026-08-10T00:00:00Z","categories":[{"name":"Men","path":"/men","groups":[{"name":"Shoes","path":"/w/mens-shoes-nik1zy7ok","slug":"mens-shoes-nik1zy7ok","subcategories":[{"name":"All Shoes","path":"/w/mens-shoes-nik1zy7ok","slug":"mens-shoes-nik1zy7ok"},{"name":"Jordan","path":"/w/mens-jordan-shoes-37eefznik1zy7ok","slug":"mens-jordan-shoes-37eefznik1zy7ok"}]}]},{"name":"Women","path":"/women","groups":[{"name":"Shop by Color","path":"/w/womens-matching-sets-clothing-2lukpz5e1x6z6ymx6","slug":"womens-matching-sets-clothing-2lukpz5e1x6z6ymx6","subcategories":[{"name":"Dark Neutrals","path":"/w/womens-color-shop-brown-4elb3z5e1x6","slug":"womens-color-shop-brown-4elb3z5e1x6"}]}]},{"name":"Jordan","path":"/jordan","groups":[{"name":"Sport","subcategories":[{"name":"Basketball","path":"/w/jordan-basketball-37eefz3glsm","slug":"jordan-basketball-37eefz3glsm"}]}]}]}} ```
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 |
|---|---|---|
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Request schema
No body schema
Response schema
#/definitions/nike.categoriesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | nike.CategoriesResponse | No | ||||
| data.categories | array | No | ||||
| data.categories[].groups | array | No | ||||
| data.categories[].groups[].name | string | No | ||||
| data.categories[].groups[].path | string | No | ||||
| data.categories[].groups[].slug | string | No | ||||
| data.categories[].groups[].subcategories | array | No | ||||
| data.categories[].groups[].subcategories[].name | string | No | ||||
| data.categories[].groups[].subcategories[].path | string | No | ||||
| data.categories[].groups[].subcategories[].slug | string | No | ||||
| data.categories[].name | string | No | ||||
| data.categories[].path | string | No | ||||
| data.fetched_at | string | No | ||||
| data.source_url | string | No | ||||
| 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/nike/categories" \
-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