Skip to content
scrapeatlas.Dashboard

Search StockX products

Try in Playground

Search StockX products by keyword, as stockx.com search does, and narrow the results by category, brand, gender, color, lowest-ask price range or below-retail pricing, sorted by featured, top selling, price, highest bid, release date, recent activity, last sale, price premium or sales. Each product returns its title, brand, model, category, release date, images and live market data: lowest ask, highest bid, last sale, active asks, recent sales counts, 90-day and annual averages, volatility and price premium. Pages of 40 products; choose the market to price in.

GET/v1/stockx/searchx-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
11
querystringrequiredquery

Search keywords, up to 100 characters.

min 1 chars · max 100 chars

Examplejordan 4
pageintegerdefault: 1query

Result page, 1 to 25 (40 products a page, default 1).

default: 1 · 1 – 25

marketenumdefault: "us"query

Market whose prices are returned: us (USD, default), gb (GBP), de or fr (EUR), ca (CAD), au (AUD) or jp (JPY).

one of: us, gb, de, fr, ca, au, jp · default: "us"

sortenumquery

featured (default), most-active (top selling), lowest_ask, highest_bid, release_date, recent_asks, recent_bids, last_sale, price_premium or deadstock_sold.

one of: featured, most-active, lowest_ask, highest_bid, release_date, recent_asks, recent_bids, last_sale, price_premium, deadstock_sold

Examplelowest_ask
categorystringquery

One category alias from StockX's category tree, for example sneakers, apparel, trading-cards, tops or sealed-boxes.

max 80 chars

brandstringquery

Up to 10 comma-separated brand aliases, for example nike,jordan or new-balance.

max 400 chars

genderstringquery

Comma-separated: men, women, kids or unisex.

max 400 chars

Examplewomen
colorstringquery

Comma-separated: black, white, grey, brown, red, pink, orange, yellow, green, blue, purple or multi.

max 400 chars

price_minintegerquery

Optional.

0 – 1000000

price_maxintegerquery

Optional.

0 – 1000000

below_retailstringquery

true returns only products whose lowest ask is below retail.

Response fields
63
requestIdstring

Request correlation UUID.

Upstream requests, decoded response bytes and elapsed milliseconds.

accounting.upstreamRequestsinteger

Always included.

≥ 0

accounting.responseBytesinteger

Always included.

≥ 0

accounting.durationMsnumber

Always included.

≥ 0

successboolean

True when usable data is returned; inspect status and coverage for omissions.

statusenum

success, partial, failed or challenged. HTTP 200 can be partial.

one of: success, partial

sourceUrlstring

The stockx.com page the data describes.

absolute HTTPS URL

fetchedAtstring

UTC retrieval time.

Retrieval coverage and warning codes: filter_not_applied when StockX did not apply a requested filter value (for example an unknown brand or category), malformed_products_omitted when a result could not be read.

coverage.sourcestring

Always included.

coverage.completeboolean

Always included.

coverage.warningsenum[]

Always included.

querystring

Search keywords, up to 100 characters.

marketenum

Market whose prices are returned: us (USD, default), gb (GBP), de or fr (EUR), ca (CAD), au (AUD) or jp (JPY).

one of: us, gb, de, fr, ca, au, jp

currencystring

Currency of every price in the response.

sortenumnullable

featured (default), most-active (top selling), lowest_ask, highest_bid, release_date, recent_asks, recent_bids, last_sale, price_premium or deadstock_sold.

The filters and sort as sent: category, brand, gender, color, priceMin, priceMax and belowRetail, with the sort id or null.

filters.categorystringnullable

Always included.

filters.brandstring[]

Always included.

filters.genderstring[]

Always included.

filters.colorstring[]

Always included.

filters.priceMinnumbernullable

Always included.

filters.priceMaxnumbernullable

Always included.

filters.belowRetailboolean

Always included.

pageinteger

Result page, 1 to 25 (40 products a page, default 1).

≥ 1

pageCountinteger

Always included.

≥ 0

totalCountintegernullable

Always included.

≥ 0

hasMoreboolean

Always included.

nextPageintegernullable

Always included.

≥ 2

Always included.

up to 40 items

products.idstring

Always included.

min 1 chars · max 100 chars

products.slugstring

Always included.

products.urlstring

Always included.

absolute HTTPS URL

products.titlestring

Always included.

products.namestringnullable

Always included.

products.brandstringnullable

Always included.

products.modelstringnullable

Always included.

products.genderstringnullable

Always included.

products.productCategorystringnullable

Always included.

products.primaryCategorystringnullable

Always included.

products.categoriesstring[]

Always included.

products.conditionstringnullable

Always included.

products.listingTypestringnullable

Always included.

products.releaseDatestringnullable

Always included.

products.imagestringnullable

Always included.

products.thumbnailstringnullable

Always included.

products.sizeCountinteger

Always included.

≥ 0

products.isAdboolean

Always included.

Always included.

products.market.lowestAsknumbernullable

Always included.

≥ 0

products.market.highestBidnumbernullable

Always included.

≥ 0

products.market.lastSalenumbernullable

Always included.

≥ 0

products.market.askCountintegernullable

Always included.

≥ 0

products.market.salesLast72Hoursintegernullable

Always included.

≥ 0

Always included.

products.market.last90Days.averagePricenumbernullable

Always included.

≥ 0

products.market.last90Days.salesCountintegernullable

Always included.

≥ 0

Always included.

products.market.annual.averagePricenumbernullable

Always included.

≥ 0

products.market.annual.salesCountintegernullable

Always included.

≥ 0

products.market.annual.volatilitynumbernullable

Always included.

products.market.annual.pricePremiumnumbernullable

Always included.

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

Error codes
12
HTTPfailure.codeMeaning
200partialUsable data with filter_not_applied, malformed_products_omitted, sizes_truncated, market_history_unavailable or size_labels_unavailable warnings.
400invalid_requestMissing, duplicate, malformed or unsupported parameters, both or neither of slug and url, both size and size_id, a link outside stockx.com product pages, a page outside 1–25, price_min above price_max, or an unknown sort, gender or color.
401unauthorizedMissing or invalid worker API key.
404not_foundUnknown product, or a size the product does not have.
429upstream_rate_limitedStockX rate limited the request.
502upstream_challengedStockX's edge refused the request or its challenge did not clear (status challenged).
502unsupported_pageMalformed or mismatched source data, or StockX changed its web client queries.
502response_too_largeA response exceeded 4 MiB.
502request_limitThe upstream request budget was exhausted.
502upstream_errorNetwork failure, GraphQL error or an unexpected upstream status after one retry.
503busyBoth retrieval slots and the queue are occupied, or the wait for a slot expired.
504timeoutThe 45-second deadline elapsed.