StockX Sales Data & Market Scraper 📈 avatar

StockX Sales Data & Market Scraper 📈

Pricing

from $1.40 / 1,000 results

Go to Apify Store
StockX Sales Data & Market Scraper 📈

StockX Sales Data & Market Scraper 📈

Search or browse StockX, past its Cloudflare block, and get one row per product with real sales data: last sale, 90-day and annual average price, sales volume, volatility, resale-vs-retail premium and ask-inventory depth. No login, no private API.

Pricing

from $1.40 / 1,000 results

Rating

0.0

(0)

Developer

Malek Oweis

Malek Oweis

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Categories

Share

StockX Sales Data & Market Scraper

StockX blocks scrapers — it sits behind Cloudflare and returns a 403 to any normal request, which is why almost every StockX Actor on the store is small or broken.

This one gets through. Every request is routed through a managed unblocker with full page rendering, and the data is read straight out of StockX's own embedded page data — no private API, no login, no captcha setup from you.

Search or browse StockX and get one row per product with real sales data:

What you get per product

FieldMeaning
title, brand, model, gender, categoryProduct identity
productUrl, urlKeyDirect StockX link and slug
lastSaleThe last sale price
avgPrice90d / avgPriceYearAverage sale price over the last 90 days / year
salesCount90d / salesCountYear / salesCount72hSales volume — how fast it moves
volatilityAnnual price volatility (0–1; higher = riskier)
pricePremium / pricePremiumPctResale price vs retail. -0.47 = trades 47% below retail
retailPriceOriginal retail price (when StockX exposes it)
asksAvailable / expressAsksAvailableHow many asks are listed — market depth / saturation
sizeCountNumber of size variants
releaseDate, colorway, styleIdFrom the product's traits, when available
imageUrlProduct image

Why no live "lowest ask / highest bid"? StockX serves a scrambled live order book to non-browser sessions (it will show an ask below the bid). This Actor deliberately does not report those. Everything above is verified field-by-field against a real browser and is accurate — and for sourcing decisions, the 90-day average and sales volume matter more than a live snapshot that moves every minute anyway.

Input

{
"queries": ["jordan 4 black cat", "nike dunk panda"],
"urls": ["https://stockx.com/brands/jordan"],
"maxProductsPerInput": 120
}
  • queries — keywords to search. Each is searched and paginated (40 products per page).
  • urls — any stockx.com search, brand or category URL. Non-StockX URLs are ignored.
  • maxProductsPerInput — stop after this many products per query/URL. 0 = no limit.
  • proxyConfiguration — defaults to Apify Unblocker, which is required. Don't change it unless you know what you're doing.

Output

One dataset row per product, plus a SEARCH_SUMMARY key-value record per query/URL with productsScraped, avgOf90dAvgPrice, totalSalesPerYear, avgPricePremiumPct, and the most-liquid product.

Example row

{
"source": "nike dunk panda",
"title": "Nike Dunk Low Retro White Black Panda",
"brand": "Nike",
"model": "Nike Dunk Low Retro",
"category": "sneakers",
"urlKey": "nike-dunk-low-retro-white-black-2021",
"productUrl": "https://stockx.com/nike-dunk-low-retro-white-black-2021",
"releaseDate": "2021-03-10",
"retailPrice": 110,
"styleId": "DD1391-100",
"lastSale": 61,
"avgPrice90d": 70,
"salesCount90d": 2541,
"avgPriceYear": 68,
"salesCountYear": 12878,
"salesCount72h": 70,
"volatility": 0.2979,
"pricePremium": -0.47,
"pricePremiumPct": -47.0,
"asksAvailable": 1234,
"expressAsksAvailable": 605,
"sizeCount": 26
}

Use cases

  • Sourcing research — pull a search/category and rank by 90-day average, sales volume and retail premium to find what's worth buying
  • Spot mispriced inventory — high sales volume + low asksAvailable = a tight, liquid market
  • Trend tracking — schedule weekly, diff avgPrice90d and salesCount72h to catch a shoe heating up or cooling off
  • Retail-arbitrage screening — filter pricePremiumPct > 0 to find items reselling above retail
  • Market datasets — export a whole brand's catalog with pricing history for analysis

FAQ

Why do other StockX scrapers break? StockX is behind Cloudflare and rotates its protection. A normal request gets a 403. This Actor routes through a managed unblocker that renders the page, so it reads the same data the site itself renders.

Do I need a proxy or captcha solver? No. The unblocker is the default and handles everything.

Where does the data come from — a private API? No. It's parsed from the Next.js data StockX embeds in every search/browse page. Only public pages, no login.

Can I get per-size prices? Not in this version — it returns product-level sales data. Per-size asks would need the product detail page and are a possible future addition.

Is this allowed? It reads only public StockX search and browse pages — the same pages any visitor sees. It never logs in and never touches account, order or buyer data. Respect StockX's terms and your local laws.

Use it from an AI agent

This Actor is available as a tool over Apify's MCP server, so an AI agent (Claude, ChatGPT, or any MCP client) can call it directly to pull StockX sales data and market depth into a conversation or workflow.

Notes

Reads only public StockX search and browse pages. No login, no private data.