使用场景
批量导出
分页遍历数据集中的大规模数据切片——用于 LLM 上下文、自建数据库或数据分析——同时遵守每日配额限制。
导出前先浏览类目
在拉取整个市场平台的商品目录之前,先通过类目列表缩小范围通常会更高效——先调用
GET /categories,再将得到的 category_path 作为 GET /products 的 category
筛选参数。完整指南(包括在任意层级深度的包含匹配,以及如何理解空的
category_path: [])请参阅类目。您也可以用同样的方式,
通过 brand 参数把导出范围缩小到某个具体品牌——可用名称与完整示例请参阅
品牌。
分页
page_size 默认值为 100,最大为 500——相比典型的面向 UI 的 API,这个默认值刻意设得更宽松,
专门为这种使用场景设计。请根据响应中的 meta.total 驱动循环,而不是提前自行计算总页数:
#!/bin/bash
PAGE=1
while true; do
RESPONSE=$(curl -s -G -H "Authorization: Bearer mn_live_..." \
"https://data.marketninja.ru/v1/products" \
--data-urlencode "marketplace=wildberries" \
--data-urlencode "category=Зоотовары" \
--data-urlencode "page_size=500" \
--data-urlencode "page=$PAGE")
echo "$RESPONSE" | jq -c '.data[]' >> products.jsonl
TOTAL=$(echo "$RESPONSE" | jq '.meta.total')
if [ $((PAGE * 500)) -ge "$TOTAL" ]; then break; fi
PAGE=$((PAGE + 1))
done注意每日配额
配额统计的是响应中实际返回的记录数,而不是请求次数——一次分页导出所消耗的配额,
取决于您实际取得了多少条商品记录,与用了多少次请求无关。X-Quota-Limit/X-Quota-Used
请求头只会出现在 429 quota_exceeded 响应中——请检查响应状态,一旦触发就停止,
而不是提前预测剩余配额。
配额会在 UTC 午夜重置。如果您要导出整个数据集,建议将任务分散到多天完成,
而不是一次跑完;也可以联系我们为您的密钥申请更高的限额。
用于 LLM 上下文
如果目标是为模型提供一份最新的数据切片(而不是维护数据集的完整本地副本),通常更好的做法是 按用户的每次提问做针对性的窄范围查询,而不是提前「以防万一」批量导出全部数据:通过 查找商品中的场景,定位用户实际询问的那个商品或卖家, 然后把这段紧凑的 JSON 直接交给模型即可。
Last updated on