Retail pricing and availability monitoring
Use Nike endpoints to turn retail pricing and availability monitoring into repeatable API requests with documented inputs and JSON responses.
Turn Nike.com's public storefront into structured retail data — keyword product search with pagination, full product detail per color variant (pricing, every size, every other color), and the complete Men/Women/Kids/Jordan category taxonomy, all as normalized JSON. Credential-free.
Search Nike products and get full product detail — pricing, sizes, colorways, and images — plus the complete category taxonomy as structured JSON.
Endpoint families
5
Documented params
25
Examples
9
Live catalog snapshot
Active endpoints
9
Methods
GET
Required params
19
Schema refs
9
{
"platform": "Nike",
"endpoint": "nike-search",
"method": "GET",
"path": "/nike/search",
"auth": "apiKey"
}Use cases
Search Nike products and get full product detail — pricing, sizes, colorways, and images — plus the complete category taxonomy as structured JSON.
Use Nike endpoints to turn retail pricing and availability monitoring into repeatable API requests with documented inputs and JSON responses.
Use Nike endpoints to turn product catalog and colorway research into repeatable API requests with documented inputs and JSON responses.
Use Nike endpoints to turn category taxonomy mapping into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Nike endpoint catalog — 9 endpoints, 25 documented request parameters, and 9 published response schemas — the same catalog Docs and Playground run against.
9 documented Nike endpoints, grouped into 5 request families — Product, Categories and Search, plus 2 more.
25 request parameters are documented across those Nike endpoints, 19 of them required — the full input contract is public before you write any integration code.
9 of the 9 Nike endpoints ship a recorded example response, and 9 carry a documented response schema — you can code against the real JSON before the first request.
Nike endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
9 hosted MCP tools back the Nike endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/nike/product
/nike/categories
/nike/search
/nike/stores
/nike/suggest
Endpoint catalog
/nike/searchSearches Nike.com product listings by keyword, or browses a category/subcategory listing by slug, with real pagination. Exactly one of keyword or category is required. Returns normalized product groups with pricing, colorway images, and every purchasable color variant, plus filter and subcategory navigation data (facet_nav) already present on the same response -- both keyword search and a category listing's first page include filter groups (Gender, Color, Price, Size, and similar); only a category listing includes a breadcrumb trail and subcategory drill-down options, and only its first page (a category listing's later pages do not repeat navigation data). Keyword search is best-effort relevance, not a guaranteed keyword match: for an obscure or nonsense keyword, Nike's own search index falls back to its own recommended results instead of returning an empty list, and there is currently no reliable signal in the response to distinguish a true keyword match from that fallback behavior. A keyword Nike's own search router treats as structurally empty (for example a punctuation-only query) does return a genuine empty result. Category values come from nike-categories' own slug field, or from a prior response's own facet_nav navigation paths (with the leading /w/ stripped). Requesting a page beyond the available result pages returns a not-found error.
Response notes
- Keyword search is best-effort relevance, not a guaranteed keyword match. For an obscure or nonsense `keyword`, Nike's own search index falls back to its own recommended results instead of returning an empty list, and there is currently no reliable field in the response to distinguish a true keyword match from that fallback behavior. - A `keyword` Nike's own search router treats as structurally empty (for example a punctuation-only query) does return a genuine empty result (`count: 0`, `products: []`), distinct from the fallback-results behavior above. - Requesting a `page` beyond the number of pages Nike itself reports (`total_pages`) returns a not-found error rather than an empty page. - Each product group's `colors[].slug` and `colors[].style_color` are the values to pass as `slug`/`style_color` to `nike-product` for full product-detail data on that color. - `facet_nav` is present when Nike's own response carries navigation data: `categories[]` (subcategory drill-down options, each with a live `result_count` and a `path` usable as a future request's `category` value), `filters[]` (named filter groups such as Gender, Color, Shop by Price, Size, Brand, each with its own `options[]`), and `breadcrumbs[]` (the category hierarchy trail, e.g. Jordan > Shoes). Both keyword search and a category listing return `filters[]`; only a category listing returns `categories[]`/`breadcrumbs[]`. `facet_nav` is present only on a category listing's first page -- later pages of the same category browse do not repeat navigation data (Nike's own upstream omits it once a page requires the internal parameter this endpoint uses to keep pagination correctly scoped past page 1). Example response: ```json {"code":200,"msg":"OK","data":{"keyword":"running shoes","page":1,"page_size":24,"count":2,"total_pages":14,"total_products":315,"products":[{"group_key":"l11miwwa","title":"Nike Vomero Premium","subtitle":"Men's Road Running Shoes","product_type":"FOOTWEAR","colors":[{"slug":"vomero-premium-mens-road-running-shoes-l11miwwa","style_color":"HQ2050-102","color_label":"White","color_description":"White/Green Spark/Summit White/Midnight Navy","currency":"USD","price":230,"initial_price":230,"image_url":"https://static.nike.com/a/images/squarish1.png","url":"https://www.nike.com/t/vomero-premium-mens-road-running-shoes-l11miwwa/HQ2050-102"}]},{"group_key":"Z4kCQRR6","title":"Nike Structure 26","subtitle":"Women's Road Running Shoes","product_type":"FOOTWEAR","badge_label":"Best Seller","colors":[{"slug":"structure-26-womens-road-running-shoes-Z4kCQRR6","style_color":"HJ1101-501","color_label":"Purple","color_description":"Purple/Barely Grape","currency":"USD","price":140,"initial_price":140,"image_url":"https://static.nike.com/a/images/squarish3.png","url":"https://www.nike.com/t/structure-26-womens-road-running-shoes-Z4kCQRR6/HJ1101-501"}]}]}} ``` A category-browse request (`category=mens-jordan-shoes-37eefznik1zy7ok`) returns the same shape with `facet_nav.breadcrumbs` populated: ```json {"code":200,"msg":"OK","data":{"category":"mens-jordan-shoes-37eefznik1zy7ok","page":1,"page_size":24,"count":24,"total_pages":5,"total_products":100,"products":[{"title":"Air Jordan 6 Retro \"Oreo\"","subtitle":"Men's Shoes","colors":[{"slug":"air-jordan-6-retro-oreo-mens-shoes-mVJLdEz6","style_color":"CT8529-108"}]}],"facet_nav":{"categories":[{"label":"Jordan 1","path":"/w/jordan-1-shoes-37eefz3rknz5e1x6zy7ok","result_count":38}],"filters":[{"name":"Gender","options":[{"label":"Men","path":"/w/shoes-37eef","result_count":100,"selected":true}]}],"breadcrumbs":[{"name":"Jordan","path":"/w/jordan-37eef"},{"name":"Shoes","path":"/w/jordan-shoes-37eefzy7ok"}]}}} ```
MCP tool nike_search
/nike/productReturns normalized product-detail data for one color variant: title, description, pricing, images, every offered size, and every other available color. slug and style_color together reproduce Nike's own product page URL (nike.com/t/<slug>/<style_color>) and are both returned by nike-search's product colors[].slug and colors[].style_color fields.
Response notes
- `sizes` lists every size Nike currently offers for this color, each with its own `status` (e.g. `ACTIVE`) and `sku_id`. - `colors` lists this product's other available colorways, each with its own `slug`/`style_color` pair for a follow-up lookup. - `is_buyable` reflects Nike's own purchasability flag for the requested color as a whole (distinct from individual `sizes[].status`). - An unknown `slug`/`style_color` combination returns `404`. - A malformed `slug` or `style_color` (not matching Nike's own id shape, e.g. `HQ2050-102`) returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "slug": "vomero-premium-mens-road-running-shoes-l11miwwa", "style_color": "HQ2050-102", "style_code": "HQ2050", "color_code": "102", "title": "Nike Vomero Premium", "subtitle": "Men's Road Running Shoes", "description": "Take maximum cushioning to the extreme in the Vomero Premium.", "reason_to_buy": "Maximum cushioning and dual Air Zoom units deliver an ultrasoft ride.", "color_description": "White/Green Spark/Summit White/Midnight Navy", "product_type": "FOOTWEAR", "genders": ["MEN"], "sport_tags": ["Running"], "currency": "USD", "price": 230, "initial_price": 230, "is_buyable": true, "images": ["https://static.nike.com/a/images/squarish-main.png"], "product_details": ["Weight: Approx. 351g/12.4 oz (Men's US 10)", "Heel-to-toe drop: 10 mm"], "sizes": [ {"label": "9", "localized_label": "M 9 / W 10.5", "status": "ACTIVE", "sku_id": "sku-9"} ], "colors": [ {"slug": "vomero-premium-mens-road-running-shoes-l11miwwa", "style_color": "HQ2050-101", "color_description": "White/Total Orange/Laser Orange/Lapis", "image_url": "https://static.nike.com/a/images/squarish-101.png", "url": "https://www.nike.com/t/vomero-premium-mens-road-running-shoes-l11miwwa/HQ2050-101"} ], "url": "https://www.nike.com/t/vomero-premium-mens-road-running-shoes-l11miwwa/HQ2050-102" } } ```
MCP tool nike_product
/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.
Response notes
- 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. Example response: ```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"}]}]}]}} ```
MCP tool nike_categories
/nike/product/availabilityReturns per-size shipping availability for one product, sourced from the same anonymous mobile backend Nike's own app uses. group_key is the product's rollup key (from a search result's products[].group_key field). Each size carries its label, localized label, the color variant it belongs to, a GTIN, an available flag, Nike's own shipping-availability level (HIGH/LOW/MEDIUM/OOS), and the width grouping (Regular/Wide). Per-store pickup availability is not included -- this reflects online shipping availability.
Response notes
- `ship` is passed through as-is: `HIGH`, `LOW`, `MEDIUM`, or `OOS` (out of stock). - `sizes` spans every color and width grouping of the product. - This reflects online shipping availability, not per-store pickup. - An unknown `group_key` returns `404` (Nike's own `DATA_NOT_FOUND` response). Example response: ```json { "code": 200, "msg": "OK", "data": { "group_key": "5npsVBwT", "count": 365, "sizes": [ { "label": "6", "localized_label": "M 6 / W 7.5", "style_color": "HV8150-003", "gtin": "00198481532179", "available": true, "ship": "HIGH", "grouping_label": "Regular" } ] } } ```
MCP tool nike_product_availability
/nike/product/detailsReturns full product-group detail for one product's rollup key, sourced from the same anonymous mobile backend Nike's own app uses: shared product copy plus every purchasable color variant (across width groupings), each with its own pricing, sizes, and images. group_key is the product's rollup key, the same value nike-search returns as a products[].group_key field. Unlike nike-product (which returns one color variant by slug/style_color), this returns every color of the product in one response.
Response notes
- `colors` is ordered by width grouping (`grouping_label`) then Nike's own sort order. - `is_buyable` is derived from Nike's own buyable activation status. - `sizes[].status` reflects per-size state (`ACTIVE` in normal samples). - An unknown `group_key` returns `404` (Nike's own `DATA_NOT_FOUND` response). Example response: ```json { "code": 200, "msg": "OK", "data": { "group_key": "5npsVBwT", "title": "Nike Vomero Plus", "subtitle": "Men's Road Running Shoes", "description": "Take maximum cushioning to the next level with the Vomero Plus...", "product_type": "FOOTWEAR", "genders": ["MEN"], "count": 21, "colors": [ { "style_color": "IO4482-001", "style_code": "IO4482", "color_code": "001", "grouping_label": "Regular", "currency": "USD", "price": 144.97, "initial_price": 180, "discount_percentage": 19, "is_buyable": true, "images": ["https://static.nike.com/a/images/..."], "sizes": [ { "label": "6", "localized_label": "M 6 / W 7.5", "status": "ACTIVE" } ], "url": "https://www.nike.com/t/vomero-plus-mens-road-running-shoes-5npsVBwT/IO4482-001" } ] } } ```
MCP tool nike_product_details
/nike/product/recommendationsReturns Nike's own related-product ("Shop Similar") recommendations for one product, sourced from the same anonymous mobile backend Nike's own app uses. style_color is the anchor product's style-color id (from a search result's colors[].style_color field). Each recommendation carries the product's style-color, rank, title/subtitle, image, PDP URL, and current pricing. Recommendations are Nike's own ranking, not a guaranteed keyword match: an unrecognized style_color returns Nike's fallback recommendations rather than an empty list or an error.
Response notes
- Recommendations are Nike's own ranking, not a guaranteed keyword match: an unrecognized `style_color` returns Nike's fallback recommendations rather than an empty list or an error, the same fallback-relevance behavior as `nike-search`. - `count` is the number of recommendations returned (up to 10). Example response: ```json { "code": 200, "msg": "OK", "data": { "style_color": "HQ2050-102", "count": 10, "recommendations": [ { "style_color": "IR2984-100", "rank": 1, "title": "Nike Vomero Plus", "subtitle": "Men's Road Running Shoes", "image_url": "https://static.nike.com/a/images/...", "url": "https://www.nike.com/t/vomero-plus-mens-road-running-shoes-5npsVBwT/IR2984-100", "currency": "USD", "price": 144.97, "initial_price": 180, "price_type": "MARKDOWN", "style_type": "INLINE" } ] } } ```
MCP tool nike_product_recommendations
/nike/product/reviewsReturns one page of a Nike product's normalized customer reviews, plus an aggregate rating summary (average rating and a per-star rating breakdown) that Nike's own product-detail endpoint does not otherwise expose. slug and style_color are the same values nike-product accepts (from a search result's colors[].slug/colors[].style_color fields). A product with no reviews yet returns a well-formed empty result rather than an error. Requesting a page beyond the available result pages returns a not-found error.
Response notes
- A product with no reviews yet returns a well-formed empty result (`total_reviews: 0`, `reviews: []`), not an error. - `rating_histogram` is the count of ratings per star, ascending: index `0` is 1-star, index `4` is 5-star. - `total_reviews`/`total_pages` describe the full review set, independent of how many reviews are returned on this page. - An unknown or invalid `slug`/`style_color` combination returns `404`, the same as `nike-product`. - Requesting a `page` beyond the available result pages returns a not-found error. Example response: ```json { "code": 200, "msg": "OK", "data": { "slug": "vomero-premium-mens-road-running-shoes-l11miwwa", "style_color": "HQ2050-102", "page": 1, "page_size": 10, "total_pages": 23, "total_reviews": 224, "average_rating": 4.6, "rating_histogram": [6, 4, 7, 25, 182], "count": 10, "reviews": [ { "id": "1722809", "rating": 5, "headline": "Love them but you should know...", "body": "These are the cushiest shoes I have ever owned. Great if you have to stand on hard concrete style floors for hours...", "author": "Paul124122838", "location": "US", "recommended": false, "created_at": "2026-08-09T05:01:19Z" } ] } } ```
MCP tool nike_product_reviews
/nike/storesSearches Nike's physical retail store locator by coordinates and radius. Returns each nearby store's name, address, phone, coordinates, distance, and store page URL. A location with no nearby stores within the given radius returns a well-formed empty result.
Response notes
- A location with no nearby stores within the given radius returns a well-formed empty result (`count: 0`, `stores: []`), not an error. - Coordinates are rounded to two decimal places before the upstream request (Nike's own store locator does not accept finer precision) -- this is not meaningful precision loss for a radius search. - Requesting a `page` beyond the available result pages returns a not-found error. Example response: ```json { "code": 200, "msg": "OK", "data": { "lat": 40.75, "lng": -73.99, "radius_miles": 50, "page": 1, "page_size": 10, "count": 10, "total_stores": 18, "stores": [ { "store_number": "365", "name": "Nike House of Innovation NYC", "slug": "nike-nyc-house-of-innovation-000", "address": "650 5th Avenue", "city": "New York", "region": "NY", "postal_code": "10019-6108", "country": "USA", "phone": "2123769480", "latitude": 40.759713, "longitude": -73.976643, "distance_miles": 0.9690755145503277, "facility_type": "NIKE_OWNED_STORE", "business_concept": "BEACON", "store_concept": "HOI", "image_url": "https://static.nike.com/a/images/f_auto/ec30eae5-ca93-4d78-a69c-e7bc1aec5871/image.jpg", "url": "https://www.nike.com/retail/s/nike-nyc-house-of-innovation-000" } ] } } ```
MCP tool nike_stores
/nike/suggestReturns Nike's own search-box suggestions (typeahead) for a partial query, the same "Top Suggestions" list shown while typing into Nike's search box: a flat list of suggested search phrases, no product data.
Response notes
- There is no pagination -- `suggestions` is a single flat list. - A partial query with no real matches returns a normal, empty result (`count: 0`, empty `suggestions`) rather than an error. - A very short query may also return a well-formed empty result the same way. Example response: ```json {"code":200,"msg":"OK","data":{"query":"shoe","count":7,"suggestions":["shoes","kids' shoes","basketball shoes","men's shoes","running shoes","women's shoes","volleyball shoes"],"source_url":"https://api.nike.com/search/suggestions/v1?country=US&language=en&text=shoe","fetched_at":"2026-08-11T10:00:00Z"}} ```
MCP tool nike_suggest
Related APIs
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
Company coverage
NIKE, Inc. · NKE
Nike is operated by NIKE, Inc. (NKE). Crawlora's SEC endpoints take the same company's CIK, so filings, financials, insider transactions and 13F holdings come from the same API key as the Nike endpoints above.
SEC filings & financials API →How to scrape Nike
Crawlora's Nike endpoints return product search, detail, and category taxonomy as normalized JSON with one API key — no Nike account required.
Send a keyword to /nike/search for paginated, normalized product groups with pricing and every color variant.
Pass a slug and style_color from a search result's colors[] entry to /nike/product for full detail on one color variant — every size, pricing, and every other available color.
Use /nike/categories for Nike's full Men/Women/Kids/Jordan category and subcategory tree, each with a browsable slug.
FAQ
Send a keyword to Crawlora's /nike/search endpoint and get paginated, normalized product groups with pricing and colorway images as structured JSON, no Nike account required.
Yes — /nike/product returns every offered size for one color variant plus every other available color, given the slug and style_color from a search result.
No — Nike's own search index falls back to recommended results for an obscure or nonsense keyword instead of returning empty, and the API mirrors that behavior. A punctuation-only query does return a genuine empty result.