# StockX Scraper (`unfenced-group/stockx-scraper`) Actor

Scrape StockX listings with live market data: lowest ask, highest bid, last sale, 72h/90d/annual sales counts, volatility and price premium on every result. Search, brand, category, or product modes. Optional style ID, colorway, retail price and size matrix. The lowest-priced StockX actor.

- **URL**: https://apify.com/unfenced-group/stockx-scraper.md
- **Developed by:** [Unfenced Group](https://apify.com/unfenced-group) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.69 / 1,000 listing results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

Scrape StockX listings and live resale market data at scale. Search by keyword, browse by brand or category, or pull specific products — every result comes with the current lowest ask, highest bid, last sale, and full sales statistics. No API key required.

---

### Why this scraper?

#### 📊 Live market data on every result
Lowest ask, highest bid, last sale, and ask depth — included on every listing, not hidden behind a slow product-page fetch.

#### 📈 Full sales statistics
72-hour, 90-day, and annual sales counts, average prices, volatility, and price premium — the numbers resale traders actually use.

#### 🏷️ Five ways to scrape
Search by keyword, browse a brand, browse a category, fetch specific products, or pass direct StockX URLs.

#### 🔍 Optional deep enrichment
Switch on product details to add style ID, colorway, retail price, restock date, and the full size matrix.

#### 🌍 Multi-region pricing
Request localized prices across 14 regions and 10 currencies.

#### 💸 The lowest price on the Store
Flat per-result pricing that undercuts every comparable StockX actor, with no separate start or retry fees.

---

### Input parameters

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `search` | What to scrape: `search`, `byBrand`, `byCategory`, `byProduct`, or `byUrl`. |
| `searchQuery` | string | `jordan 4` | Free-text query (mode = search). |
| `brand` | string | `jordan` | Brand slug (mode = byBrand), e.g. `nike`, `adidas`, `new-balance`, `supreme`, `rolex`. |
| `category` | string | `sneakers` | Category slug (mode = byCategory): `sneakers`, `apparel`, `accessories`, `electronics`, `collectibles`, `trading-cards`, `watches`. |
| `productUrls` | array | `[]` | Specific products (mode = byProduct). Full URL or slug. |
| `startUrls` | array | `[]` | Direct StockX search, brand, or category URLs (mode = byUrl). |
| `currency` | string | `USD` | Currency label for output. One of USD, EUR, GBP, JPY, AUD, CAD, CHF, HKD, SGD, MXN. |
| `country` | string | `US` | Region used for localized pricing. |
| `sortBy` | string | `featured` | Sort order: `featured`, `most_active`, `recently_released`, `price_high_to_low`, `price_low_to_high`. |
| `fetchDetails` | boolean | `false` | Enrich each result with its product page (style ID, colorway, retail price, restock date, size matrix). |
| `minPrice` | integer | — | Drop products with lowest ask below this value. |
| `maxPrice` | integer | — | Drop products with lowest ask above this value. |
| `newOnly` | boolean | `false` | Keep only products in New condition. |
| `maxResults` | integer | `5` | Cap on results emitted. Set 0 for no cap (StockX caps each query at 1,000). |
| `maxPages` | integer | `5` | Maximum listing pages to walk (up to 25). |

---

### Output schema

#### Always present

| Field | Type | Description |
|---|---|---|
| `id` | string | StockX product identifier (UUID). |
| `title` | string | Full product title. |
| `name` | string | Short product name. |
| `urlKey` | string | URL slug of the product. |
| `productUrl` | string | Full StockX product URL. |
| `brand` | string | Brand name. |
| `model` | string | Product model line. |
| `gender` | string | Target gender (men, women, child, unisex). |
| `condition` | string | Product condition (e.g. New). |
| `productCategory` | string | Primary product category. |
| `primaryCategory` | string | StockX primary category label. |
| `categories` | array | Category hierarchy aliases. |
| `listingType` | string | Listing type (e.g. STANDARD). |
| `description` | string | Plain-text product description. |
| `releaseDate` | string | Release date (null if not published). |
| `currency` | string | Currency the prices are expressed in. |
| `lowestAsk` | number | Current lowest ask price (null if none). |
| `lowestAskUpdatedAt` | string | Timestamp the lowest ask was last updated. |
| `highestBid` | number | Current highest bid price (null if none). |
| `highestBidUpdatedAt` | string | Timestamp the highest bid was last updated. |
| `lastSale` | number | Most recent sale price. |
| `askCount` | number | Number of standard asks available. |
| `averagePriceAnnual` | number | Average sale price over the last year. |
| `averagePrice90d` | number | Average sale price over the last 90 days. |
| `salesCount72h` | number | Sales in the last 72 hours. |
| `salesCount90d` | number | Sales in the last 90 days. |
| `salesCountAnnual` | number | Sales over the last year. |
| `volatilityAnnual` | number | Annual price volatility (0–1). |
| `pricePremiumAnnual` | number | Annual resale premium over retail (can be negative). |
| `imageUrl` | string | Product image URL. |
| `thumbUrl` | string | Thumbnail image URL. |
| `market` | string | Region the prices were requested for. |
| `source` | string | Always `StockX`. |
| `scrapedAt` | string | ISO timestamp of extraction. |

#### With `fetchDetails: true`

| Field | Type | Description |
|---|---|---|
| `styleId` | string | Manufacturer style code (e.g. FQ8138-600). |
| `colorway` | string | Official colorway description. |
| `retailPrice` | number | Original retail price (null if not listed). |
| `restockDate` | string | Restock date if one exists (often null). |
| `sizes` | array | Size matrix: variant id and size for each available size. |
| `gallery` | array | Additional product images (often null). |

#### Example record

```json
{
  "id": "9acafeb5-bc4a-4d66-bc3a-4899d2e64775",
  "title": "Jordan 4 Retro Toro Bravo (2026)",
  "name": "Toro Bravo (2026)",
  "urlKey": "air-jordan-4-retro-toro-bravo-2026",
  "productUrl": "https://stockx.com/air-jordan-4-retro-toro-bravo-2026",
  "brand": "Jordan",
  "model": "Jordan 4 Retro",
  "gender": "men",
  "condition": "New",
  "productCategory": "sneakers",
  "primaryCategory": "Air Jordan",
  "categories": ["sneakers", "lifestyle"],
  "listingType": "STANDARD",
  "description": "The Air Jordan 4 Retro Toro Bravo (2026) brings back one of the most recognisable colourways in the Jordan 4 line.",
  "releaseDate": "2026-05-30",
  "currency": "USD",
  "lowestAsk": 150,
  "lowestAskUpdatedAt": "2026-06-21T13:15:57Z",
  "highestBid": 243,
  "highestBidUpdatedAt": "2026-06-12T12:45:36Z",
  "lastSale": 190,
  "askCount": 2563,
  "averagePriceAnnual": 188,
  "averagePrice90d": 188,
  "salesCount72h": 633,
  "salesCount90d": 17254,
  "salesCountAnnual": 17289,
  "volatilityAnnual": 0.124127,
  "pricePremiumAnnual": -0.138,
  "imageUrl": "https://images.stockx.com/images/Air-Jordan-4-Retro-Toro-Bravo-2026-Product.jpg",
  "thumbUrl": "https://images.stockx.com/images/Air-Jordan-4-Retro-Toro-Bravo-2026-Product.jpg",
  "styleId": "FQ8138-600",
  "colorway": "Fire Red/White/Black/Cement Grey",
  "retailPrice": 220,
  "restockDate": null,
  "sizes": [{ "id": "fa920004-d46f-4927-ac04-7abaec15fabd", "size": "3.5" }],
  "gallery": null,
  "market": "US",
  "source": "StockX",
  "scrapedAt": "2026-06-22T08:26:34.427Z"
}
````

***

### Examples

**Search for Jordan 4 sneakers:**

```json
{
  "mode": "search",
  "searchQuery": "jordan 4",
  "maxResults": 100
}
```

**Browse a brand, filtered by price, new only:**

```json
{
  "mode": "byBrand",
  "brand": "new-balance",
  "minPrice": 100,
  "maxPrice": 300,
  "newOnly": true,
  "maxResults": 200
}
```

**Specific products with full detail:**

```json
{
  "mode": "byProduct",
  "productUrls": [
    "air-jordan-4-retro-white-cement-2025",
    "adidas-yeezy-boost-350-v2-onyx"
  ]
}
```

**Direct category URL in EUR pricing:**

```json
{
  "mode": "byUrl",
  "startUrls": ["https://stockx.com/category/watches"],
  "currency": "EUR",
  "country": "DE",
  "sortBy": "most_active",
  "maxResults": 500
}
```

***

### 💰 Pricing

**$1.99 per 1,000 listings** — you only pay for results actually returned. There are no separate start fees and no charges for retries.

| Results | Cost |
|---|---|
| 100 | ~$0.20 |
| 1,000 | ~$1.99 |
| 10,000 | ~$19.90 |
| 100,000 | ~$199.00 |

Higher subscription tiers pay less, down to $1.49 per 1,000.

**Product detail enrichment** (when `fetchDetails` is on, or in Specific products mode) is charged as a premium result at **$4.99 per 1,000**, reflecting the extra work of fetching each product page. Leave `fetchDetails` off to stay on the standard listing rate.

> Flat-rate alternatives typically charge $29–$49/month regardless of usage.

Use the **Max results** cap to control your spend exactly.

***

### Performance

| Run size | Mode | Typical time |
|---|---|---|
| 100 results | Listing | under 1 minute |
| 1,000 results | Listing | 2–4 minutes |
| 1,000 results | With details | 25–40 minutes |

***

### Known limitations

- Each StockX search, brand, or category query returns at most 1,000 results (a StockX limit). Split large catalogues across more specific queries.
- Style ID, colorway, retail price, and size matrix require `fetchDetails: true` — they are not available on listing pages.
- Localized prices depend on regional availability; some products show identical prices across regions.

***

### Technical details

- **Source:** stockx.com — sneaker, streetwear, electronics, collectibles, and watch resale marketplace
- **Memory:** 512 MB
- **Retry:** Automatic retry on network errors with backoff, multiple attempts per request
- **Output:** Dataset records plus an `OUTPUT` run summary and a `HEALTH` status key

***

### Need a custom scraper?

**[Unfenced Group](https://www.unfencedgroup.nl)** builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

**Get in touch:** [www.unfencedgroup.nl](https://www.unfencedgroup.nl)

# Actor input Schema

## `mode` (type: `string`):

What to scrape from StockX.

## `searchQuery` (type: `string`):

Free-text query (mode = search). E.g. 'jordan 4', 'yeezy 350', 'rolex submariner', 'pokemon 151'.

## `brand` (type: `string`):

Brand slug (mode = byBrand). Taken from stockx.com/brands/{slug}, e.g. 'jordan', 'nike', 'adidas', 'new-balance', 'supreme', 'rolex'.

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

Category slug (mode = byCategory). E.g. 'sneakers', 'apparel', 'accessories', 'electronics', 'collectibles', 'trading-cards', 'watches'.

## `productUrls` (type: `array`):

Specific StockX products (mode = byProduct). Full URL or just the slug, e.g. 'air-jordan-4-retro-white-cement-2025'.

## `startUrls` (type: `array`):

Direct StockX search, brand or category URLs (mode = byUrl).

## `currency` (type: `string`):

Currency label applied to output. StockX prices are localized by region; pair with a matching Country.

## `country` (type: `string`):

Region routed through the proxy. Drives localized pricing.

## `sortBy` (type: `string`):

Sort applied to search and browse results.

## `fetchDetails` (type: `boolean`):

Follow each listing to its product page for style ID, colorway, retail price, restock date and size matrix. Adds one request per product, so it is slower and more expensive on large runs.

## `minPrice` (type: `integer`):

Drop products with lowest ask below this value.

## `maxPrice` (type: `integer`):

Drop products with lowest ask above this value.

## `newOnly` (type: `boolean`):

Keep only products in New condition.

## `maxResults` (type: `integer`):

Hard cap on results emitted. Set 0 for no cap (StockX caps each query at 1000).

## `maxPages` (type: `integer`):

Maximum listing pages to walk (each page is up to ~40 products). Max 25.

## Actor input object example

```json
{
  "mode": "search",
  "searchQuery": "jordan 4",
  "brand": "jordan",
  "category": "sneakers",
  "productUrls": [],
  "startUrls": [],
  "currency": "USD",
  "country": "US",
  "sortBy": "featured",
  "fetchDetails": false,
  "newOnly": false,
  "maxResults": 5,
  "maxPages": 5
}
```

# 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 = {
    "mode": "search",
    "searchQuery": "jordan 4",
    "brand": "jordan",
    "category": "sneakers",
    "productUrls": [],
    "startUrls": [],
    "currency": "USD",
    "country": "US",
    "sortBy": "featured",
    "maxResults": 5,
    "maxPages": 5
};

// Run the Actor and wait for it to finish
const run = await client.actor("unfenced-group/stockx-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 = {
    "mode": "search",
    "searchQuery": "jordan 4",
    "brand": "jordan",
    "category": "sneakers",
    "productUrls": [],
    "startUrls": [],
    "currency": "USD",
    "country": "US",
    "sortBy": "featured",
    "maxResults": 5,
    "maxPages": 5,
}

# Run the Actor and wait for it to finish
run = client.actor("unfenced-group/stockx-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 '{
  "mode": "search",
  "searchQuery": "jordan 4",
  "brand": "jordan",
  "category": "sneakers",
  "productUrls": [],
  "startUrls": [],
  "currency": "USD",
  "country": "US",
  "sortBy": "featured",
  "maxResults": 5,
  "maxPages": 5
}' |
apify call unfenced-group/stockx-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "StockX Scraper",
        "description": "Scrape StockX listings with live market data: lowest ask, highest bid, last sale, 72h/90d/annual sales counts, volatility and price premium on every result. Search, brand, category, or product modes. Optional style ID, colorway, retail price and size matrix. The lowest-priced StockX actor.",
        "version": "0.0",
        "x-build-id": "nAd95Bqg36b3PxAkF"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/unfenced-group~stockx-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-unfenced-group-stockx-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/unfenced-group~stockx-scraper/runs": {
            "post": {
                "operationId": "runs-sync-unfenced-group-stockx-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/unfenced-group~stockx-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-unfenced-group-stockx-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "byBrand",
                            "byCategory",
                            "byProduct",
                            "byUrl"
                        ],
                        "type": "string",
                        "description": "What to scrape from StockX.",
                        "default": "search"
                    },
                    "searchQuery": {
                        "title": "Search query",
                        "type": "string",
                        "description": "Free-text query (mode = search). E.g. 'jordan 4', 'yeezy 350', 'rolex submariner', 'pokemon 151'.",
                        "default": "jordan 4"
                    },
                    "brand": {
                        "title": "Brand slug",
                        "type": "string",
                        "description": "Brand slug (mode = byBrand). Taken from stockx.com/brands/{slug}, e.g. 'jordan', 'nike', 'adidas', 'new-balance', 'supreme', 'rolex'.",
                        "default": "jordan"
                    },
                    "category": {
                        "title": "Category slug",
                        "type": "string",
                        "description": "Category slug (mode = byCategory). E.g. 'sneakers', 'apparel', 'accessories', 'electronics', 'collectibles', 'trading-cards', 'watches'.",
                        "default": "sneakers"
                    },
                    "productUrls": {
                        "title": "Product URLs or slugs",
                        "type": "array",
                        "description": "Specific StockX products (mode = byProduct). Full URL or just the slug, e.g. 'air-jordan-4-retro-white-cement-2025'.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "startUrls": {
                        "title": "Direct URLs",
                        "type": "array",
                        "description": "Direct StockX search, brand or category URLs (mode = byUrl).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "currency": {
                        "title": "Currency",
                        "enum": [
                            "USD",
                            "EUR",
                            "GBP",
                            "JPY",
                            "AUD",
                            "CAD",
                            "CHF",
                            "HKD",
                            "SGD",
                            "MXN"
                        ],
                        "type": "string",
                        "description": "Currency label applied to output. StockX prices are localized by region; pair with a matching Country.",
                        "default": "USD"
                    },
                    "country": {
                        "title": "Country / Region",
                        "enum": [
                            "US",
                            "GB",
                            "DE",
                            "FR",
                            "IT",
                            "ES",
                            "NL",
                            "JP",
                            "AU",
                            "CA",
                            "CH",
                            "HK",
                            "SG",
                            "MX"
                        ],
                        "type": "string",
                        "description": "Region routed through the proxy. Drives localized pricing.",
                        "default": "US"
                    },
                    "sortBy": {
                        "title": "Sort order",
                        "enum": [
                            "featured",
                            "most_active",
                            "recently_released",
                            "price_high_to_low",
                            "price_low_to_high"
                        ],
                        "type": "string",
                        "description": "Sort applied to search and browse results.",
                        "default": "featured"
                    },
                    "fetchDetails": {
                        "title": "Fetch product details",
                        "type": "boolean",
                        "description": "Follow each listing to its product page for style ID, colorway, retail price, restock date and size matrix. Adds one request per product, so it is slower and more expensive on large runs.",
                        "default": false
                    },
                    "minPrice": {
                        "title": "Minimum price (lowest ask)",
                        "type": "integer",
                        "description": "Drop products with lowest ask below this value."
                    },
                    "maxPrice": {
                        "title": "Maximum price (lowest ask)",
                        "type": "integer",
                        "description": "Drop products with lowest ask above this value."
                    },
                    "newOnly": {
                        "title": "New condition only",
                        "type": "boolean",
                        "description": "Keep only products in New condition.",
                        "default": false
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Hard cap on results emitted. Set 0 for no cap (StockX caps each query at 1000).",
                        "default": 5
                    },
                    "maxPages": {
                        "title": "Max pages",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum listing pages to walk (each page is up to ~40 products). Max 25.",
                        "default": 5
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
