E-commerce & Marketplaces

StockX API

The StockX API returns live resale-market data for sneakers, streetwear and collectibles as clean JSON.

8 actionsLive JSON1,000 free creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

The primary product_detail endpoint returns a product's title, brand, model, SKU, colorway, retail price, release date and live market data — lowest ask, highest bid and last sale. You can also search, pull recent_sales, price_history and sales_history, browse and see what is trending. It is built for resale-price intelligence, sneaker apps and reselling tools that need StockX market data without scraping a defended marketplace. One ReefAPI key, one shared credit pool, the standard envelope.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/stockx/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "jordan 1"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "stockx",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 813.8,
    "record_count": 40,
    "bytes": 30731,
    "cache_hit": false,
    "currency": "USD",
    "market": "US",
    "page": 1,
    "total": 159479,
    "pagination": {
      "page": 1,
      "has_more": true
    }
  },
  "data": {
    "query": "jordan 1",
    "results": [
      {
        "id": "019cfdb4-3545-7b[redacted-phone]f7411145fb",
        "url_key": "air-jordan-1-retro-low-og-sp-travis-scott-sail-tropical-pink",
        "url": "https://stockx.com/air-jordan-1-retro-low-og-sp-travis-scott-sail-tropical-pink",
        "title": "Jordan 1 Retro Low OG SP Travis Scott Sail Tropical Pink",
        "brand": "Jordan",
        "sku": "IQ7604-101",
        "category": "sneakers",
        "gender": "men",
        "image": "https://images.stockx.com/images/Air-Jordan-1-Retro-Low-OG-SP-Travis-Scott-Sail-Tropical-Pink-Product.jpg?fit=fill&bg=FFFFFF&w=700&h=500&fm=webp&auto=compress&q=90&dpr=2&trim=color&updated_at=[redacted-phone]",
        "lowest_ask": 307,
        "highest_bid": 652,
        "last_sale": 343
      },
      {
        "id": "019b0a03-b142-73e7-b0f9-3cf04d719268",
        "url_key": "air-jordan-1-retro-low-og-sp-travis-scott-shy-pink",
        "url": "https://stockx.com/air-jordan-1-retro-low-og-sp-travis-scott-shy-pink",
        "title": "Jordan 1 Retro Low OG SP Travis Scott Shy Pink",
        "brand": "Jordan",
        "sku": "IQ7604-100",
        "category": "sneakers",
        "gender": "men",
        "image": "https://images.stockx.com/images/Air-Jordan-1-Retro-Low-OG-SP-Travis-Scott-Shy-Pink-Product.jpg?fit=fill&bg=FFFFFF&w=700&h=500&fm=webp&auto=compress&q=90&dpr=2&trim=color&updated_at=[redacted-phone]",
        "lowest_ask": 293,
        "highest_bid": 632,
        "last_sale": 356
      },
      {
        "id": "61e4b088-c550-40cb-bec7-9589f6cee907",
        "url_key": "air-jordan-11-retro-gamma-blue-2025",
        "url": "https://stockx.com/air-jordan-11-retro-gamma-blue-2025",
        "title": "Jordan 11 Retro Gamma Blue (2025)",
        "brand": "Jordan",
        "sku": "CT8012-047",
        "category": "sneakers",
        "gender": "men",
        "image": "https://images.stockx.com/images/Air-Jordan-11-Retro-Gamma-Blue-2025-Product.jpg?fit=fill&bg=FFFFFF&w=700&h=500&fm=webp&auto=compress&q=90&dpr=2&trim=color&updated_at=[redacted-phone]",
        "lowest_ask": 180,
        "highest_bid": 379,
        "last_sale": 225
      }
    ],
    "page_info": {
      "page": 1,
      "limit": 40,
      "total": 159479
    }
  }
}
Actions

What the StockX API does

ActionDescriptionConcrete use caseKey params
product_detailfull product by `url` OR `url_key`/`id`/`uuid`: title/brand/model/sku/category/colorway/retail_price/release_date/image + market{lowest_ask,highest_bid,number_of_asks/bids,last_sale,sales_last_72h,last_sale_change_pct/value,avg_price_72h/90d/annual,sales_count_*,price_premium=(last_sale-retail)/retail, volatility=CV-of-recent-sales, ask_service_levels{standard/express_*: count,lowest_ask,processing_fee,delivery}} + per-size variants[]{size,lowest_ask,highest_bid,last_sale}. The market-data moat. `currency` (USD/EUR/GBP/…) + `market` (US/GB/DE/…) optional.Pricing teams call product_detail to get full product by `url` OR `url_key`/`id`/`uuid`.url, url_key, id, uuid, currency, ...
searchproduct search → results[]{id,url_key,url,title,brand,sku,category,image,lowest_ask,highest_bid,last_sale} + page_info{page,limit,total}. Resolves url_keys for product_detail. Optional facet filters: `brand` (e.g. Jordan), `gender` (men/women/…), `category` (sneakers/apparel/…) + `sort` (most-active/featured/release_date/lowest_ask). `page` (40/page) + `currency`/`market` optional.Marketplace operators call search to get product search → results[]{id,url_key,url,title,brand,sku,category,image,lowest_ask,highest_b….query, page, currency, market, brand, ...
recent_salesrecent transaction feed by `url`/`url_key`/`id` → sales[]{amount,created_at} (most recent first) + product ref. Best-effort market-history. `currency`/`market` optional.Catalog enrichment teams call recent_sales to get recent transaction feed by `url`/`url_key`/`id` → sales[]{amount,created_at} (most recent fir….url, url_key, id, uuid, currency, ...
suggestautocomplete query suggestions for `query` (QuerySuggestion text; falls back to search-derived titles if the suggest op drifts).Retail analysts call suggest to get autocomplete query suggestions for `query` (QuerySuggestion text; falls back to search-derive….query
price_historyhistorical price time-series for a product, aggregated from the deep sales feed → series[]{date,count,avg,min,max,last} (oldest→newest) + summary{points,sales_sampled,min,max,avg,first_date,last_date,window_complete}. `window` (30d/90d/180d/365d/all) bounds lookback; `bucket` (day/week/month) sets granularity; optional `size` for per-size history. The #1 resale-trader ask. `currency` optional.Pricing teams call price_history to get historical price time-series for a product, aggregated from the deep sales feed → series[]{da….url, url_key, id, uuid, window, ...
sales_historydeep paginated transaction log → sales[]{amount,created_at,cursor} (newest first) + page_info{cursor,has_more,total,limit,returned} + product. Far deeper than recent_sales (StockX exposes the full ledger, e.g. 60k+ sales). Cursor-paginate with `cursor`; optional `size` filters to one variant. `limit` ≤ 50 (StockX page cap). `currency` optional.Marketplace operators call sales_history to get deep paginated transaction log → sales[]{amount,created_at,cursor} (newest first) + page_info….url, url_key, id, uuid, cursor, ...
browsecategory/vertical grids + sort + facet filters → results[]{id,url_key,url,title,brand,sku,category,image,lowest_ask,highest_bid,last_sale} + page_info{page,limit,total}. Needs at least one of `category` (sneakers/apparel/electronics/collectibles/accessories), `query`, or a facet filter (`brand`/`gender`). `sort` (most-active/featured/release_date/lowest_ask) + `page` (40/page) optional. The catalog-discovery surface.Catalog enrichment teams call browse to get category/vertical grids + sort + facet filters → results[]{id,url_key,url,title,brand,sku,cat….category, query, brand, gender, sort, ...
trendingmovers / most-active products (global or within a `category`) → results[] (same card shape as browse) + page_info. Defaults `sort`=most-active. Optional `category`, `brand`, `gender`, `page`. Surfaces what's trading right now.Retail analysts call trending to get movers / most-active products (global or within a `category`) → results[] (same card shape as….category, brand, gender, sort, page, ...
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/stockx/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"jordan 1"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.stockx.search with {"query":"jordan 1"}.
Use cases

Who uses this API and why

  • Resale-price tools call product_detail to track lowest ask, highest bid and last sale for a SKU.
  • Sneaker apps use price_history and recent_sales to chart a product's market value over time.
  • Resellers use trending and browse to spot rising products before they spike.
FAQ

Questions developers ask before integrating

What is the StockX API?

StockX API is a ReefAPI endpoint group for live resale prices, market stats and sales history. It returns live JSON through POST requests under /stockx/v1.

Is the StockX API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. StockX calls use the same shared credit balance as every other ReefAPI engine.

Do I need a StockX login or account?

No login to StockX is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the StockX data?

The page example is captured from a live product_detail call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the StockX API use?

StockX actions currently cost 1-3 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call StockX from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call stockx actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the StockX API a StockX scraper?

It is the managed alternative to a DIY StockX scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same live resale prices, market stats and sales history back as clean JSON.

Why does my StockX scraper keep getting blocked?

Most StockX scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.

docs / stockx

StockX

Live resale prices, market stats and sales history.

base /stockx/v18 endpoints
post/stockx/v1/product_detail2 credits

full product by `url` OR `url_key`/`id`/`uuid`: title/brand/model/sku/category/colorway/retail_price/release_date/image + market{lowest_ask,highest_bid,number_of_asks/bids,last_sale,sales_last_72h,last_sale_change_pct/value,avg_price_72h/90d/annual,sales_count_*,price_premium=(last_sale-retail)/retail, volatility=CV-of-recent-sales, ask_service_levels{standard/express_*: count,lowest_ask,processing_fee,delivery}} + per-size variants[]{size,lowest_ask,highest_bid,last_sale}. The market-data moat. `currency` (USD/EUR/GBP/…) + `market` (US/GB/DE/…) optional.

ParameterAllowed / rangeDescription
url_keyoptionalProduct slug from the StockX product URL (stockx.com/<url_key>) — copy it from search results. Internal id/uuid also accepted. Provide url_key OR url.
urloptionalFull StockX product URL — alternative to url_key.
currency = USDoptionalUSD · EUR · GBP · JPY · AUD · CAD · CHF · HKD · KRW · MXN · NZD · SGD · SEK · DKK · NOK · PLN · CNY · TWD · THBCurrency for all prices.
market = USoptionalUS · GB · DE · FR · IT · ES · NL · JP · AU · CA · KR · HK · SG · CH · MX · NZ · SE · DK · NO · PL · CN · TW · THMarketplace region (affects asks/bids and service levels).
Try in playground →
post/stockx/v1/recent_sales1 credit

recent transaction feed by `url`/`url_key`/`id` → sales[]{amount,created_at} (most recent first) + product ref. Best-effort market-history. `currency`/`market` optional.

ParameterAllowed / rangeDescription
url_keyoptionalProduct slug from the StockX product URL (stockx.com/<url_key>) — copy it from search results. Internal id/uuid also accepted. Provide url_key OR url.
urloptionalFull StockX product URL — alternative to url_key.
currency = USDoptionalUSD · EUR · GBP · JPY · AUD · CAD · CHF · HKD · KRW · MXN · NZD · SGD · SEK · DKK · NOK · PLN · CNY · TWD · THBCurrency for all prices.
market = USoptionalUS · GB · DE · FR · IT · ES · NL · JP · AU · CA · KR · HK · SG · CH · MX · NZ · SE · DK · NO · PL · CN · TW · THMarketplace region (affects asks/bids and service levels).
Try in playground →
post/stockx/v1/suggest1 credit

autocomplete query suggestions for `query` (QuerySuggestion text; falls back to search-derived titles if the suggest op drifts).

ParameterAllowed / rangeDescription
queryrequiredPartial search text to complete.
Try in playground →
post/stockx/v1/price_history3 credits

historical price time-series for a product, aggregated from the deep sales feed → series[]{date,count,avg,min,max,last} (oldest→newest) + summary{points,sales_sampled,min,max,avg,first_date,last_date,window_complete}. `window` (30d/90d/180d/365d/all) bounds lookback; `bucket` (day/week/month) sets granularity; optional `size` for per-size history. The #1 resale-trader ask. `currency` optional.

ParameterAllowed / rangeDescription
url_keyoptionalProduct slug from the StockX product URL (stockx.com/<url_key>) — copy it from search results. Internal id/uuid also accepted. Provide url_key OR url.
urloptionalFull StockX product URL — alternative to url_key.
window = 90doptional30d · 90d · 180d · 365d · allHow far back the price series reaches.
bucket = dayoptionalday · week · monthTime-bucket granularity for each series point.
sizeoptionalOptional shoe/apparel size for per-size price history (must match a product variant size, e.g. 10, 10.5, M).
currency = USDoptionalUSD · EUR · GBP · JPY · AUD · CAD · CHF · HKD · KRW · MXN · NZD · SGD · SEK · DKK · NOK · PLN · CNY · TWD · THBCurrency for all prices.
Try in playground →
post/stockx/v1/sales_history1 credit

deep paginated transaction log → sales[]{amount,created_at,cursor} (newest first) + page_info{cursor,has_more,total,limit,returned} + product. Far deeper than recent_sales (StockX exposes the full ledger, e.g. 60k+ sales). Cursor-paginate with `cursor`; optional `size` filters to one variant. `limit` ≤ 50 (StockX page cap). `currency` optional.

ParameterAllowed / rangeDescription
url_keyoptionalProduct slug from the StockX product URL (stockx.com/<url_key>) — copy it from search results. Internal id/uuid also accepted. Provide url_key OR url.
urloptionalFull StockX product URL — alternative to url_key.
cursoroptionalPagination cursor from a previous page_info.cursor (omit for the first/newest page).
limit = 50optional1–50Rows per page (StockX caps at 50).
sizeoptionalOptional size for one variant's transaction log.
currency = USDoptionalUSD · EUR · GBP · JPY · AUD · CAD · CHF · HKD · KRW · MXN · NZD · SGD · SEK · DKK · NOK · PLN · CNY · TWD · THBCurrency for all prices.
Try in playground →
post/stockx/v1/browse1 credit

category/vertical grids + sort + facet filters → results[]{id,url_key,url,title,brand,sku,category,image,lowest_ask,highest_bid,last_sale} + page_info{page,limit,total}. Needs at least one of `category` (sneakers/apparel/electronics/collectibles/accessories), `query`, or a facet filter (`brand`/`gender`). `sort` (most-active/featured/release_date/lowest_ask) + `page` (40/page) optional. The catalog-discovery surface.

ParameterAllowed / rangeDescription
categoryoptionalsneakers · apparel · electronics · collectibles · accessoriesStockX vertical to browse (grid of that whole category).
queryoptionalOptional keyword to combine with category/filters.
brandoptionalFilter results to a brand (StockX facet value, e.g. Jordan, Nike, adidas, New Balance, Supreme).
genderoptionalmen · women · youth · infantFilter results by gender facet.
sortoptionalmost-active · featured · release_date · lowest_askResult ordering for browse/trending grids.
page = 1optional1–Page number (40 results per page).
currency = USDoptionalUSD · EUR · GBP · JPY · AUD · CAD · CHF · HKD · KRW · MXN · NZD · SGD · SEK · DKK · NOK · PLN · CNY · TWD · THBCurrency for all prices.
market = USoptionalUS · GB · DE · FR · IT · ES · NL · JP · AU · CA · KR · HK · SG · CH · MX · NZ · SE · DK · NO · PL · CN · TW · THMarketplace region (affects asks/bids and service levels).
Try in playground →