~/ecommerce/stockx-scraper

StockX Scraper——球鞋价格、出价、要价与成交记录

StockX 上每个尺码的最低要价、最高出价与要价数量,按配送速度划分的库存、最近一笔成交,以及 90 天与 12 个月的价格统计——需要时还可获取每一笔成交记录和完整订单簿。每件商品都附带目录数据、条形码与图片。

转售市场 TypeScript 美国
proooxy/stockx-scraper — 规格
分类ecommerce / 转售市场
语言TypeScript
技术栈TypeScript
市场美国
输出干净、RAG 就绪的 JSON

核心特性

每个尺码的最低要价、最高出价与要价数量都在同一条记录里,而不只是商品层面的一个总价

按配送速度划分的库存——标准、加急或次日达——以及最低要价的商品是否已在 StockX 的仓库中

最近一笔成交及其涨跌,以及最近 90 天和 12 个月的价格:均价、区间与成交笔数

按需提供单笔成交记录:成交时间、价格、尺码,以及标准或加急,最新的排在最前

按需提供订单簿:要价和出价各自所处的每个价位,按尺码列出,并附该价位上的数量

每件商品都附带目录数据:标题、品牌、款号、配色、发售日期、零售价、条形码、图片以及 360° 视图

支持任意形式的商品页,也支持搜索页、品牌页或分类页,并按 StockX 自己的排序读取

应用场景

  • 为转售库存定价:每个尺码现在的成交价,以及有多少卖家在该价位竞争
  • 逐次运行追踪某款发售品相对零售价的溢价
  • 覆盖球鞋、服饰、配饰、电子产品、收藏品和交易卡的市场调研
  • StockX 与零售商店或其他市场之间的套利
  • 按今天的市场价值评估一批收藏或一家店铺的库存
  • 通过 Apify 的 MCP 服务器,为 AI Agent 提供实时的球鞋市场数据

输入参数

参数类型必填说明
startUrlsarray必填StockX 商品页,或搜索页、品牌页、分类页
maxProductsnumber可选存储这么多件商品后停止(0 = 不限)
maxProductsPerListingnumber可选每个搜索页、品牌页或分类页最多读取的商品数(默认 100,最多 1,000)
includeSalesboolean可选添加最新的单笔成交记录(默认关闭)
maxSalesPerProductnumber可选每件商品添加多少条成交记录(默认 50)
includeOrderBookboolean可选添加订单簿(默认关闭)
maxOrderBookLevelsnumber可选每一侧(要价和出价)的价位档数(默认 100)
maxConcurrencynumber可选同时读取的商品数(默认 3)
proxyConfigurationobject可选请求使用的代理(默认:Apify 数据中心代理)

输出示例

一件商品,已精简为一个尺码、一笔成交,以及每一侧各一个价位。金额以美分为单位:6300 即 63 美元。

 1{
 2  "source": {
 3    "id": "de258c04-2f2a-4806-9d8c-9c84e17d45ea",
 4    "canonicalUrl": "https://stockx.com/adidas-campus-00s-core-black",
 5    "retailer": "stockx",
 6    "currency": "USD"
 7  },
 8  "title": "adidas Campus 00s Core Black",
 9  "brand": "adidas",
10  "details": { "brandStyleID": "HQ8708" },
11  "variants": [
12    {
13      "title": "US M 10",
14      "options": ["10"],
15      "price": { "current": 6300, "currentFormatted": "$63", "original": 11000, "stockStatus": "InStock", "stockCount": 42 },
16      "extraInfo": {
17        "gtins": [{ "type": "UPC", "identifier": "195747807682" }],
18        "lowestAsk": 6300,
19        "highestBid": 3700,
20        "askCount": 42
21      }
22    }
23  ],
24  "price": { "current": 3300, "currentFormatted": "$33", "original": 11000, "stockStatus": "InStock", "stockCount": 630 },
25  "extraInfo": {
26    "retailPrice": 11000,
27    "releaseDate": "2023-02-17",
28    "market": {
29      "lowestAsk": 3300,
30      "lowestAskSize": "US M 4.5",
31      "highestBid": 6600,
32      "highestBidSize": "US M 6",
33      "lastSale": { "amount": 10000, "changeValue": 7100 },
34      "last90Days": { "averagePrice": 6300, "rangeLow": 2000, "rangeHigh": 20000, "salesCount": 633 }
35    },
36    "sales": [
37      { "soldAt": "2026-10-12T01:40:57.622Z", "amount": 10000, "size": "US M 10", "orderType": "STANDARD" }
38    ],
39    "orderBook": {
40      "asks": [{ "size": "US M 4.5", "amount": 3300, "count": 34 }],
41      "bids": [{ "size": "US M 6", "amount": 6600, "count": 1 }]
42    }
43  }
44}

该记录的结构与 Farfetch Scraper 相同,因此 StockX 的转售价格和零售价格可以汇入同一张表。仅当最低要价低于零售价时,price.original 才是零售价,就像打折商品显示折前价那样。

使用建议

  • 仅在需要时才开启成交记录和订单簿。 二者都是附加项,只对找到内容的商品计费。
  • maxProductsPerListing 可以让列表保持小规模。 StockX 对任何一个搜索、品牌或分类最多列出 1,000 件商品;想快速看看什么在热销,读取前 20 件即可。
  • 商品页可以是任意形式。 带语言前缀的页面、带尺码的页面、买入或卖出页面,或某位卖家的商品页,都指向各自的商品,每次运行中每件商品只存储一次。

常见问题

数据有多新?
运行过程中逐件商品实时读取:要价、出价和成交记录都是 StockX 在那一刻的数据。
为什么某个尺码的最低要价比商品的最低要价高?
商品的最低要价和最高出价,是其所有尺码中最便宜的要价和最高的出价,往往来自两个不同的尺码;`lowestAskSize` 和 `highestBidSize` 会告诉你分别是哪个尺码。
它能读取其他市场或币种吗?
暂时不能:它读取美国市场,价格以美元计。所有金额都是以美分为单位的整数。
抓取 StockX 是否被允许?
该 Actor 读取的是 StockX 向任何访客展示的商品数据。StockX 的使用条款限制自动化访问及其数据的使用;你需要自行对所采集数据的用途负责。

~/ecommerce 下的相关工具

运行 StockX Scraper——球鞋价格、出价、要价与成交记录,或定制专属方案

几分钟内即可在 Apify 上开始提取数据,或聘请我为你的目标源和 schema 定制专属爬虫与 RAG 管道。

在 Apify 上运行 获取定制数据