StockX Scraper — Search & Market Data avatar

StockX Scraper — Search & Market Data

Pricing

from $2.00 / 1,000 results

Go to Apify Store
StockX Scraper — Search & Market Data

StockX Scraper — Search & Market Data

Scrape StockX search & category pages with live market data — lowest ask, highest bid, last sale, sales counts & volatility on every product. Sneakers, apparel, electronics, collectibles, trading cards, watches. Search by keyword or paste any StockX URL. JSON/CSV export.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

4 hours ago

Last modified

Categories

Share

StockX Scraper — Search & Browse with Live Market Data

Scrape StockX search results and category pages into structured product rows with a full market snapshot per product: lowest ask, highest bid, last sale, sales counts, average prices, and price volatility. Enter a keyword or paste any StockX search/category URL, and export JSON or CSV in seconds.

Track resale prices across sneakers, apparel, electronics, collectibles, trading cards, watches, and handbags — without touching a browser.

How StockX Search Scraper works

Why Use This Scraper?

  • Full market snapshot on every row — lowest ask, highest bid, last sale, 72-hour sales count, annual sales count, average prices, and volatility come with every product, straight from the search page.
  • Fast — 40 products per page, pages fetched in parallel; 100 products typically land in under 10 seconds.
  • Simple input — a keyword like jordan 4 is enough. Or paste any StockX search or category URL, filters included.
  • Ranking preserved — every row carries its position and page, so you can reconstruct exactly how StockX ordered the results.
  • Sponsored placements flagged — paid tiles are marked with isSponsored so your analysis isn't skewed by ads.
  • JSON, CSV, Excel — standard Apify dataset export in every format.

Overview

This actor is built for resellers, arbitrage traders, market researchers, and data teams who need StockX pricing signals at scale. It scrapes StockX search results and category browse pages and produces one dataset row per product.

Each row combines catalog data (title, colorway, brand, model, category, release date, image, description) with the live market state StockX embeds in its result pages (lowest ask, highest bid, last sale, ask counts, sales statistics).

This is a search/browse-level scraper. It does not open individual product pages, so per-size variant pricing, bid/ask depth tables, and individual sale transactions are out of scope (see FAQ).

Supported Inputs

Search queries

Plain keywords in the search field — each becomes a StockX search:

  • jordan 1
  • travis scott
  • pokemon 151
  • rolex submariner

Brands and categories

  • brands — brand names or slugs (nike, adidas, Aime Leon Dore); each becomes stockx.com/brands/{slug}
  • categoriessneakers, shoes, apparel, accessories, electronics, collectibles, trading-cards, watches, handbags

Structured filters

Applied to every search query, brand, and category in the run:

  • sortfeatured, most-active (trending), recent_asks, recent_bids, release_date (newest first), last_sale
  • priceMin / priceMax — lowest-ask price range in USD
  • belowRetail — only products currently selling below retail
  • availableNow — only products with at least one active ask

URL types

Paste full URLs into startUrls:

  • Search URLshttps://stockx.com/search?s=yeezy
  • Category pageshttps://stockx.com/sneakers, https://stockx.com/apparel, https://stockx.com/electronics, https://stockx.com/collectibles, https://stockx.com/trading-cards, https://stockx.com/watches, https://stockx.com/handbags
  • Brand pageshttps://stockx.com/brands/nike
  • Filtered category URLs — apply filters on stockx.com, then copy the URL; the filter parameters are kept.

Copy-pasteable startUrls

{
"startUrls": [
{ "url": "https://stockx.com/search?s=nike dunk" },
{ "url": "https://stockx.com/sneakers" }
],
"maxItems": 200
}

Unsupported inputs

  • Product detail URLs (e.g. https://stockx.com/air-jordan-1-retro-high-og-cool-grey) — this actor works at the search/browse level only.
  • Seller/account pages, portfolio pages — behind login, out of scope.

Use Cases

WhoWhat they do with it
Resellers & arbitrage tradersMonitor lowest ask vs last sale spreads across whole categories to spot flip opportunities
Sneaker & collectibles investorsTrack sales velocity (72-hour and annual counts) and volatility before buying in
E-commerce & pricing teamsBenchmark retail prices against live resale market values
Market researchers & analystsBuild datasets of resale prices, premiums, and release calendars per brand
Data & AI teamsFeed structured resale market data into models, dashboards, and agents

How It Works

  1. Resolve inputs — each keyword becomes a StockX search URL; pasted search/category URLs are validated and passed through.
  2. Fetch page 1 — one HTTP request discovers the result count and page count (up to 25 pages × 40 products per query).
  3. Parse embedded market data — each page embeds the full product + market payload; the actor extracts it directly, no rendering.
  4. Walk remaining pages in parallel — a sliding-window fetch pool works through pages 2..N.
  5. Dedupe and push — one row per unique product, capped at maxItems.

Input Configuration

Input fields

FieldTypeDefaultDescription
searcharray["jordan 1"]Keyword searches. Each query is scraped as stockx.com/search?s={query}.
brandsarrayBrand names or slugs, e.g. nike, Aime Leon Dore. Each becomes stockx.com/brands/{slug}.
categoriesarrayCategory slugs: sneakers, shoes, apparel, accessories, electronics, collectibles, trading-cards, watches, handbags.
startUrlsarrayFull StockX search or category/brand URLs. Mix freely with search.
sortstringfeaturedResult ordering: featured, most-active, recent_asks, recent_bids, release_date, last_sale.
priceMin / priceMaxintegerLowest-ask price range filter (USD).
belowRetailbooleanfalseOnly products currently selling below their retail price.
availableNowbooleanfalseOnly products with at least one active ask.
maxItemsinteger1000Hard cap on products collected across all queries and URLs.
maxConcurrencyinteger5Listing pages fetched in parallel.
maxRequestRetriesinteger5Retries before a failed page is given up.

Common scenarios

Keyword search, first 100 products:

{
"search": ["nike dunk"],
"maxItems": 100
}

Whole category snapshot (top 1,000 by StockX ranking):

{
"startUrls": [{ "url": "https://stockx.com/trading-cards" }],
"maxItems": 1000
}

Several queries in one run:

{
"search": ["jordan 4", "yeezy 350", "new balance 990"],
"maxItems": 500
}

Newest Nike releases between $100 and $300:

{
"brands": ["nike"],
"sort": "release_date",
"priceMin": 100,
"priceMax": 300,
"maxItems": 200
}

Below-retail flip shortlist for a whole category:

{
"categories": ["sneakers"],
"belowRetail": true,
"sort": "most-active",
"maxItems": 500
}

Output Overview

One dataset row per product. Each row has three groups of fields:

  1. Catalog — title, colorway name, brand, model, gender, category, release date, description, image URL, product URL.
  2. Market snapshot — lowest ask, highest bid, last sale, ask counts, Xpress-Ship availability, sales counts (72-hour, 90-day, annual), average prices, volatility, price premium.
  3. Provenanceposition and page (StockX ranking), sourceUrl, isSponsored, scrapedAt.

Prices are plain numbers in the currency StockX serves to US traffic (USD).

Output Samples

Real row (shortened), from a "jordan 1" search:

{
"productId": "019cfdb4-3545-7b24-8773-11f7411145fb",
"title": "Jordan 1 Retro Low OG SP Travis Scott Sail Tropical Pink",
"name": "Travis Scott Sail Tropical Pink",
"urlKey": "air-jordan-1-retro-low-og-sp-travis-scott-sail-tropical-pink",
"productUrl": "https://stockx.com/air-jordan-1-retro-low-og-sp-travis-scott-sail-tropical-pink",
"brand": "Jordan",
"model": "Jordan 1 Retro Low OG SP",
"gender": "men",
"condition": "New",
"productCategory": "sneakers",
"primaryCategory": "Air Jordan",
"releaseDate": "2026-05-29",
"image": "https://images.stockx.com/images/Air-Jordan-1-Retro-Low-OG-SP-Travis-Scott-Sail-Tropical-Pink.jpg",
"variantCount": 25,
"lowestAsk": 267,
"lowestAskUpdatedAt": "2026-09-09T06:15:54Z",
"highestBid": 439,
"highestBidUpdatedAt": "2026-09-06T01:35:31Z",
"lastSale": 478,
"asksCount": 1572,
"xpressShipAvailable": true,
"salesLast72Hours": 183,
"annualAveragePrice": 407,
"annualSalesCount": 16862,
"annualVolatility": 0.189869,
"annualPricePremium": 2.078,
"last90DaysAveragePrice": 371,
"last90DaysSalesCount": 9624,
"isSponsored": false,
"position": 1,
"page": 1,
"sourceUrl": "https://stockx.com/search?s=jordan%201",
"scrapedAt": "2026-09-10T11:06:54.535Z"
}

A description field with the full product write-up (typically 1-2 paragraphs) is also included; it's omitted above for brevity.

Key Output Fields

Product Core

  • productId, title, name (colorway), urlKey, productUrl, brand, model, gender, condition

Categorization

  • productCategory, primaryCategory, browseVerticals[], listingType, releaseDate

Market Prices

  • lowestAsk, highestBid, lastSale, annualAveragePrice, last90DaysAveragePrice, annualPricePremium

Market Activity

  • salesLast72Hours, annualSalesCount, last90DaysSalesCount, asksCount, annualVolatility, xpressShipAvailable

Provenance

  • position, page, sourceUrl, isSponsored, scrapedAt

FAQ

Which StockX URLs are supported?

Search URLs (/search?s=...), category pages (/sneakers, /apparel, /electronics, /collectibles, /trading-cards, /watches, /handbags), and brand pages (/brands/{slug}), including any filter parameters. Product detail URLs are not supported.

Does this return per-size prices or individual sale transactions?

No. Those live on product detail pages, which are outside this actor's scope. You get the product-level market snapshot: lowest ask, highest bid, last sale, sales counts, averages, and volatility. variantCount tells you how many size variants exist.

Why is a single query capped at 1,000 products?

StockX caps any single search/browse query at 25 pages × 40 products. To go deeper into a large category, split it into multiple runs using the built-in filters — priceMin/priceMax bands, individual brands, sort orders — or multiple filtered start URLs.

What currency are the prices in?

USD — the actor requests US-market pages. Multi-currency output isn't currently supported.

Are all market fields always populated?

Almost always, but very new or inactive products can have null for lowestAsk, highestBid, or lastSale when no asks/bids/sales exist yet.

Can I mix keywords and URLs in one run?

Yes — search queries and startUrls are merged, deduplicated by product, and counted against the same maxItems.

Can I scrape private or login-gated content?

No. The actor only accesses publicly available pages. Accounts, portfolios, and anything behind the StockX login wall are out of scope.

What about rate limits and blocks?

The actor uses browser-grade TLS fingerprints with automatic retry and fingerprint rotation. Failed pages are retried up to maxRequestRetries times and skipped rather than failing the run.

Support

Found a bug or have a feature request? Open an issue on the actor's Issues tab or email me at muhamed.didovic@gmail.com.

Additional Services

Need a custom export shape, scheduled monitoring, or a different marketplace covered? I do tailored work — drop me a line at muhamed.didovic@gmail.com.

Explore More Scrapers

If you found this useful, you might also like:

Full list at apify.com/memo23.

🤖 For AI Agents & LLM Apps

Compact reference for AI agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/stockx-search-scraper).

Purpose: scrapes StockX search results and category pages; one row per product with a live market snapshot (lowest ask, highest bid, last sale, sales counts, volatility) — no product-page visits needed.

Minimal input:

{ "search": ["jordan 4"], "maxItems": 20 }

Filtered input:

{ "brands": ["nike"], "sort": "release_date", "priceMin": 100, "priceMax": 300, "belowRetail": false, "maxItems": 50 }

Other targeting inputs: categories (sneakers, apparel, trading-cards, ...), availableNow (boolean), sort one of featured | most-active | recent_asks | recent_bids | release_date | last_sale.

Output: one dataset row per product — productId, title, name, urlKey, productUrl, brand, model, gender, condition, productCategory, primaryCategory, browseVerticals[], releaseDate, description, image, variantCount, lowestAsk, highestBid, lastSale, asksCount, xpressShipAvailable, salesLast72Hours, annualAveragePrice, annualSalesCount, annualVolatility, annualPricePremium, last90DaysAveragePrice, last90DaysSalesCount, isSponsored, position, page, sourceUrl, scrapedAt.

Behaviors an agent should know:

  • Always set maxItems — an uncapped run returns up to 1,000 products per query/URL (40 per page, max 25 pages; that's StockX's own cap).
  • search queries and startUrls are merged into one run and deduplicated by product.
  • Product detail URLs are rejected; only search/category/brand listing URLs work.
  • Billing: charged per dataset item (result) plus a small actor-start fee; failed or retried pages are never charged.
  • Prices are USD product-level values; per-size pricing and individual sale transactions are not available.

⚠️ Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by StockX LLC or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.

The scraper accesses only publicly available StockX search and category pages — no authenticated endpoints, paid features, or content behind the stockx.com login wall. Users are responsible for ensuring their use complies with stockx.com's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organization.


SEO Keywords

stockx scraper, scrape stockx, stockx API, stockx.com scraper, Apify stockx, sneaker price scraper, resale price tracker, sneaker market data, stockx price monitoring, lowest ask scraper, last sale data, sneaker resell data, trading card prices, collectibles market data, streetwear resale data, sneaker arbitrage tool, resale market intelligence, stockx data export, sneaker analytics, watch resale prices