{
  "openapi": "3.0.1",
  "info": {
    "title": "StockX Scraper - Sneaker Prices, Bids, Asks & Sales by Size",
    "description": "Scrape StockX by keyword, style ID, product URL or category: style ID, colorway, retail price, release date, lowest ask, highest bid and last sale for every size, UPCs, 72h/90d/12-month sales, volatility, price premium, price history and individual sales. No login, no browser.",
    "version": "0.1",
    "x-build-id": "GaqSBLCWHb1xGReOx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapersdelight~stockx-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapersdelight-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/scrapersdelight~stockx-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapersdelight-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/scrapersdelight~stockx-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapersdelight-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",
        "properties": {
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "What you would type in StockX's search box: a model (\"jordan 4\", \"yeezy 350\"), a brand, a collaboration or a style ID. Each term is searched separately. Leave everything empty to run the demo search \"jordan 4\".",
            "items": {
              "type": "string"
            }
          },
          "productUrls": {
            "title": "Products (URL, slug or ID)",
            "type": "array",
            "description": "Products you already know: a stockx.com product URL (https://stockx.com/air-jordan-4-retro-white-cement-2025, /en-gb/... works too), the slug (air-jordan-4-retro-white-cement-2025) or StockX's product UUID.",
            "items": {
              "type": "string"
            }
          },
          "styleIds": {
            "title": "Style IDs / SKUs",
            "type": "array",
            "description": "Manufacturer style codes such as FV5029-010 or DZ5485-612. Each one is searched on StockX and delivered only when the product record carries exactly that style ID (unmatched codes are listed in the run summary, never billed).",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "StockX search, brand or category URLs",
            "type": "array",
            "description": "Any stockx.com listing page: https://stockx.com/search?s=dunk, https://stockx.com/brands/nike, https://stockx.com/sneakers, https://stockx.com/category/watches?gender=men&sort=most-active. Product URLs work here too.",
            "items": {
              "type": "string"
            }
          },
          "outputMode": {
            "title": "Output",
            "enum": [
              "products",
              "sales"
            ],
            "type": "string",
            "description": "\"products\" = one row per product. \"sales\" = one row per completed sale (amount, time, size, express or standard) for every product found.",
            "default": "products"
          },
          "includeDetails": {
            "title": "Full product detail + per-size market",
            "type": "boolean",
            "description": "On: every search result becomes a full product row (style ID, colorway, retail price, release date, 12-month high/low, and the ask, bid, spread, last sale, 72 h sales and UPC of every size). Off: the search-result row only (prices, ask count, 72 h / 90 day / 12 month sales and averages, volatility, premium - no style ID, colorway, retail price or sizes); billed as the cheaper search-result event. Products given by URL, slug or style ID always get the full row.",
            "default": true
          },
          "priceHistoryPoints": {
            "title": "Price history points",
            "minimum": 0,
            "maximum": 400,
            "type": "integer",
            "description": "Add StockX's all-time sales price chart to each product row (date + price), with this many points (0 = off, up to 400). Same charge per product.",
            "default": 0
          },
          "includeRecentSales": {
            "title": "Add the 50 latest sales",
            "type": "boolean",
            "description": "Add the product's 50 most recent sales (amount, time, size, standard or express) to each product row. Same charge per product.",
            "default": false
          },
          "includeOrderBook": {
            "title": "Add the order book",
            "type": "boolean",
            "description": "Add the price levels asks and bids stand at, per size, with how many stand at each price (best price first). Same charge per product.",
            "default": false
          },
          "maxOrderBookLevels": {
            "title": "Order book levels per side",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many ask levels and how many bid levels to read per product with \"Add the order book\".",
            "default": 100
          },
          "onlySizes": {
            "title": "Only these sizes",
            "type": "array",
            "description": "Keep only these sizes in the per-size data (and, in sales output, only sales in these sizes). Match StockX's size (\"10\", \"10.5\", \"M\", \"7Y\") or any conversion (\"EU 44\" as \"44\", UK \"9\"). Empty = every size.",
            "items": {
              "type": "string"
            }
          },
          "maxSalesPerProduct": {
            "title": "Max sales per product (sales output)",
            "minimum": 0,
            "type": "integer",
            "description": "Sales output: newest first, at most this many sales per product (0 = every sale read). StockX shows the 50 latest per product; turn on \"Also read sales per size\" for up to 50 more per size.",
            "default": 50
          },
          "salesPerSize": {
            "title": "Also read sales per size (sales output)",
            "type": "boolean",
            "description": "Sales output: also read the 50 latest sales of every size, so a product with 26 sizes yields up to 1,300 recent sales instead of 50.",
            "default": false
          },
          "salesSince": {
            "title": "Sales since (sales output)",
            "type": "string",
            "description": "Sales output: drop sales older than this date, e.g. 2026-10-01."
          },
          "category": {
            "title": "Category",
            "type": "string",
            "description": "StockX category: sneakers, apparel, accessories, collectibles, shoes, trading-cards, electronics, or a sub-category such as watches, bags, t-shirts, hoodies-and-sweatshirts, figures, sealed-boxes. Works with or without a search term."
          },
          "brands": {
            "title": "Brands",
            "type": "array",
            "description": "StockX brand names or slugs: nike, jordan, adidas, new-balance, asics, supreme, pokemon, louis-vuitton, rolex... A brand also matches its collaborations.",
            "items": {
              "type": "string"
            }
          },
          "gender": {
            "title": "Gender",
            "enum": [
              "",
              "men",
              "women",
              "kids",
              "unisex"
            ],
            "type": "string",
            "description": "StockX's gender filter."
          },
          "activity": {
            "title": "Activity",
            "enum": [
              "",
              "basketball",
              "running",
              "soccer",
              "football",
              "skateboarding",
              "baseball",
              "golf",
              "hiking",
              "hockey",
              "ufc",
              "wrestling"
            ],
            "type": "string",
            "description": "StockX's activity filter (sneakers)."
          },
          "color": {
            "title": "Color",
            "enum": [
              "",
              "black",
              "white",
              "multi",
              "blue",
              "red",
              "grey",
              "brown",
              "green",
              "pink",
              "purple",
              "yellow",
              "orange"
            ],
            "type": "string",
            "description": "StockX's color filter."
          },
          "newOnly": {
            "title": "New & Verified only",
            "type": "boolean",
            "description": "Only products in StockX's New & Verified condition.",
            "default": false
          },
          "belowRetailOnly": {
            "title": "Below retail only",
            "type": "boolean",
            "description": "Only products whose resale price is below retail (StockX's own filter).",
            "default": false
          },
          "xpressShipOnly": {
            "title": "Xpress Ship only",
            "type": "boolean",
            "description": "Only products with at least one Xpress (ships-now) ask.",
            "default": false
          },
          "availableNowOnly": {
            "title": "Has a live ask",
            "type": "boolean",
            "description": "Only products with a live lowest ask.",
            "default": false
          },
          "hasLiveBidOnly": {
            "title": "Has a live bid",
            "type": "boolean",
            "description": "Only products with a live highest bid.",
            "default": false
          },
          "minPrice": {
            "title": "Min lowest ask",
            "minimum": 0,
            "type": "integer",
            "description": "Keep products whose lowest ask is at least this, in the chosen currency. Checked before billing: a product removed here costs nothing."
          },
          "maxPrice": {
            "title": "Max lowest ask",
            "minimum": 0,
            "type": "integer",
            "description": "Keep products whose lowest ask is at most this, in the chosen currency. Checked before billing."
          },
          "minSalesLast72Hours": {
            "title": "Min sales in the last 72 hours",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only products that sold at least this many pairs in the last 72 hours. Checked before billing."
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "featured",
              "most-active",
              "lowest_ask",
              "highest_bid",
              "recent_bids",
              "recent_asks",
              "deadstock_sold",
              "release_date",
              "price_premium",
              "last_sale"
            ],
            "type": "string",
            "description": "StockX's own result order (applied to the whole result set, not the page).",
            "default": "featured"
          },
          "country": {
            "title": "Market (country)",
            "type": "string",
            "description": "Two-letter country code of the market whose order book is quoted: US, GB, DE, FR, IT, ES, NL, JP, AU, CA, CH, HK, SG, KR, MX...",
            "default": "US"
          },
          "currency": {
            "title": "Currency",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "JPY",
              "CAD",
              "AUD",
              "CHF",
              "HKD",
              "KRW",
              "MXN",
              "SEK",
              "PLN",
              "SGD",
              "NZD",
              "NOK",
              "DKK",
              "BRL",
              "CLP",
              "CNY",
              "HUF",
              "IDR",
              "ILS",
              "KWD",
              "MOP",
              "MYR",
              "PEN",
              "PHP",
              "THB",
              "TWD",
              "VND"
            ],
            "type": "string",
            "description": "Currency the prices are expressed in. Retail price is StockX's US retail in USD; premium over retail is computed only for USD runs.",
            "default": "USD"
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many rows (products, search results or sales). 0 = no limit. Each search/category query returns up to about 1,040 products (a StockX limit); split big jobs into narrower terms or filters.",
            "default": 100
          },
          "maxPagesPerQuery": {
            "title": "Max pages per search",
            "minimum": 0,
            "maximum": 26,
            "type": "integer",
            "description": "40 products per page; 0 = until the results run out (up to 26 pages).",
            "default": 0
          },
          "onlyChanged": {
            "title": "Changes only (monitor)",
            "type": "boolean",
            "description": "Deliver (and bill) only products that are new or whose lowest ask, highest bid, last sale or ask/bid count moved since the previous run with the same input (or the same monitor key). Schedule it to get a price-change feed.",
            "default": false
          },
          "monitorKey": {
            "title": "Monitor key",
            "type": "string",
            "description": "Optional name for the changes-only memory, so several inputs share one feed. Empty = derived from the input."
          },
          "maxConcurrency": {
            "title": "Parallel products",
            "minimum": 1,
            "maximum": 32,
            "type": "integer",
            "description": "How many products are read at the same time.",
            "default": 8
          },
          "useResidentialFallback": {
            "title": "Residential fallback",
            "type": "boolean",
            "description": "If StockX refuses the run's own connection, retry through Apify's residential proxy (US), within a per-run cost limit. Off = stop instead.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Not needed: StockX's data API answers Apify's own connection. Your own proxy URLs are tried after it; an Apify residential group/country you pick replaces the default US residential fallback.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}