# StockX API Scraper (`rl1987/stockx-api-scraper`) Actor

Scrape product listings, market data, and product details from StockX via its private GraphQL API. Supports keyword search and category browsing with pricing data (lowest ask, highest bid).

- **URL**: https://apify.com/rl1987/stockx-api-scraper.md
- **Developed by:** [R.L.](https://apify.com/rl1987) (community)
- **Categories:** E-commerce
- **Stats:** 8 total users, 5 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.75 / 1,000 product list rows

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## StockX Scraper – Sneaker Prices, Resale Market Data & Product Details

**Scrape StockX at scale.** Extract sneakers, streetwear, watches, handbags, electronics, collectibles, and trading cards with live resale pricing — lowest ask, highest bid, and last sale — plus full product details and per-size market data. Search by keyword or browse any StockX category. No login, no browser automation, no rate-limit headaches.

Perfect for **sneaker resellers, price monitoring, dropshipping, market research, arbitrage, and price-comparison apps**.

### What this StockX Scraper does

- 🔎 **Keyword search** — find any product ("Jordan 1 Retro High", "Yeezy 350", "Rolex Submariner")
- 📂 **Category browse** — sneakers, streetwear, watches, handbags, electronics, collectibles, trading cards
- 💸 **Live resale pricing** — lowest ask, highest bid, last sale, retail price
- 📏 **Per-size market data** — pricing across every available size (optional PDP enrichment)
- 🖼️ **Rich product data** — title, brand, model, colorway, style ID, images, description, release date
- ⚡ **Fast API-based extraction** — no headless browser, low memory (runs on 128 MB)
- 🌐 **Built-in proxy support** — routes through Apify Proxy by default

### Use cases

| Who | Why |
|-----|-----|
| Sneaker resellers | Track lowest ask / last sale to spot arbitrage and price trends |
| E-commerce & dropshipping | Pull catalog + pricing to feed price-comparison and listing tools |
| Market researchers | Monitor resale demand across brands, models, and categories |
| Developers | Get clean StockX JSON via API without reverse-engineering the site |

### Input

| Field | Type | Description |
|-------|------|-------------|
| `q` | string | Search keyword (e.g. `Jordan 1 Retro High`) |
| `category` | select | Browse a category: `sneakers`, `streetwear`, `watches`, `handbags`, `electronics`, `collectibles`, `trading-cards` |
| `includeDetails` | boolean | Fetch PDP fields (description, release date, per-size `variantSizes`). Off by default for speed |
| `maxItems` | integer | Max products to scrape. `0` = no limit (default `100`) |
| `proxyConfiguration` | object | Proxy settings (Apify Proxy on by default) |

#### Example input

```json
{
  "q": "Jordan 1 Retro High",
  "includeDetails": true,
  "maxItems": 50
}
```

### Output

Each product is one dataset record:

```json
{
  "id": "...",
  "name": "Jordan 1 Retro High OG Chicago",
  "title": "Jordan 1 Retro High OG Chicago Lost & Found",
  "brandName": "Jordan",
  "model": "Jordan 1 Retro High",
  "colorway": "Varsity Red/Black-Sail-Muslin",
  "styleId": "DZ5485-612",
  "retailPrice": 180,
  "currency": "USD",
  "lowestAsk": 310,
  "highestBid": 275,
  "lastSale": 295,
  "thumbUrl": "https://images.stockx.com/...",
  "images": ["https://images.stockx.com/..."],
  "productUrl": "https://stockx.com/...",
  "productSlug": "air-jordan-1-...",
  "description": "...",
  "releaseDate": "2021-11-19",
  "variantSizes": [
    { "size": "10", "lowestAsk": 320, "highestBid": 280, "lastSale": 300 }
  ]
}
```

`description`, `releaseDate`, and `variantSizes` are populated only when **Include product details** is enabled.

### Export formats

Download results as **JSON, CSV, Excel, or XML**, or pull them programmatically via the [Apify API](https://docs.apify.com/api/v2). Push to Google Sheets, Airtable, Zapier, Make, and more through [Apify integrations](https://apify.com/integrations).

### How it works

The scraper talks directly to StockX's data API instead of rendering pages, so it's fast and cheap:

1. Runs a keyword search or category browse
2. Paginates results up to `maxItems`
3. Optionally enriches each product with PDP details and per-size market data
4. Stores structured records in the dataset

### FAQ

**Is scraping StockX legal?** This tool collects publicly available data. You are responsible for complying with StockX's terms and applicable law. Don't collect personal data.

**Do I need an account or API key?** No StockX account needed. Runs on Apify with built-in proxy.

**Can I get per-size prices?** Yes — enable **Include product details** to get `variantSizes` with per-size ask/bid/last-sale.

**Which categories are supported?** Sneakers, streetwear, watches, handbags, electronics, collectibles, and trading cards.

### Resources

- [Apify Platform documentation](https://docs.apify.com/platform)
- [Apify API reference](https://docs.apify.com/api/v2)
- [Integrations: Make, Zapier, Google Sheets, and more](https://apify.com/integrations)
- [Join the Apify Discord community](https://discord.com/invite/jyEM2PRvMU)

# Actor input Schema

## `q` (type: `string`):

Keywords to search for sneakers (e.g. 'Jordan 1 Retro High')

## `includeDetails` (type: `boolean`):

Whether to fetch PDP fields (description, releaseDate, variantSizes). Off by default for speed.

## `maxItems` (type: `integer`):

Maximum number of products to scrape. 0 = all (no limit).

## `category` (type: `string`):

Browse a sneaker category

## `proxyConfiguration` (type: `object`):

Route requests through a proxy (Apify Proxy by default).

## Actor input object example

```json
{
  "includeDetails": false,
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "q": "",
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("rl1987/stockx-api-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "q": "",
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("rl1987/stockx-api-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "q": "",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call rl1987/stockx-api-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=rl1987/stockx-api-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/v29w9UXaIBfki3ZSb/builds/zLyNNIlEqnjMTt2Fu/openapi.json
