闲鱼 Xianyu关键词搜索 API

POST

接口健康状态

24h 健康值
正常
24h 平均耗时
—
最近检查时间
2026年9月30日 04:58(北京时间)
  • 健康 / 正常
  • 可用
  • 少量可用
  • 基本不可用
健康 API正常
健康值怎么算
  • 健康值 = 返回了数据的调用占比(百分比)。空结果、失败和结果未知都不算返回数据。
  • 档位:≥90% 健康、≥70% 可用、≥40% 少量可用,更低是基本不可用。
  • 一个时段(24 小时、每小时、每天)调用满 50 次才计算健康值;不足的时段显示为正常——少量调用里的偶发失败不代表接口不可用。
  • 调用包括客户的真实调用和我们每天的探测调用;请求本身的错误(参数不对、余额不足)不计入。
  • 平均耗时只算正常返回的调用:同步取响应时间,异步取受理到完成。
逐时段数据
时间(北京时间)状态健康值平均耗时
2026-09-30 04:00 - 04:59正常——
2026-09-30 03:00 - 03:59正常——
2026-09-30 02:00 - 02:59正常——
2026-09-30 01:00 - 01:59正常——
2026-09-30 00:00 - 00:59正常——
2026-09-29 23:00 - 23:59正常——
2026-09-29 22:00 - 22:59正常——
2026-09-29 21:00 - 21:59正常——
2026-09-29 20:00 - 20:59正常——
2026-09-29 19:00 - 19:59正常——
2026-09-29 18:00 - 18:59正常——
2026-09-29 17:00 - 17:59正常——
2026-09-29 16:00 - 16:59正常——
2026-09-29 15:00 - 15:59正常——
2026-09-29 14:00 - 14:59正常——
2026-09-29 13:00 - 13:59正常——
2026-09-29 12:00 - 12:59正常——
2026-09-29 11:00 - 11:59正常——
2026-09-29 10:00 - 10:59正常——
2026-09-29 09:00 - 09:59正常——
2026-09-29 08:00 - 08:59正常——
2026-09-29 07:00 - 07:59正常——
2026-09-29 06:00 - 06:59正常——
2026-09-29 05:00 - 05:59正常——
2026-09-29正常——
2026-09-28正常——
2026-09-27正常——
2026-09-26正常——
2026-09-25正常——
2026-09-24正常——
2026-09-23正常——
2026-09-22正常——
2026-09-21正常——
2026-09-20正常——
2026-09-19正常——
2026-09-18正常——
2026-09-17正常——
2026-09-16正常——
2026-09-15正常——
2026-09-14正常——
2026-09-13正常——
2026-09-12正常——
2026-09-11正常——
2026-09-10正常——
2026-09-09正常——
2026-09-08正常——
2026-09-07正常——
2026-09-06正常——
2026-09-05正常——
2026-09-04正常——
2026-09-03正常——
2026-09-02正常——
2026-09-01正常——
2026-08-31正常——

关键词搜索:返回列表,默认 20 条、单次最多 50 条;主要字段 item_id、url、title、price、original_price、currency。

单价 $5.56 / 千次(每次 $0.005556),失败与空结果不扣费。 同步返回;慢任务可在请求体加 "mode": "async",先拿 job_id 再轮询。

请求参数

参数名位置类型必填默认值说明
Authorizationheaderstring是-Bearer 加你的 API Key。在控制台创建;不要放进网址或代码仓库。
platformbodystring是xianyu平台标识,固定值。
actionbodystring是search能力标识,固定值。
keywordbody.params未声明是-闲鱼站内搜索词,1–100 个字符;卖家标题里常见的中文词或型号词更容易命中。
limitbody.paramsinteger (1–50)否20

代码示例

bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "xianyu",
  "action": "search",
  "params": {
    "keyword": "iPhone 15"
  }
}'

[OpenAPI 定义 (JSON)]示例从环境变量 EVERYINFRA_API_KEY 读取 Key,复制出去的代码不含你的 Key。

keyword 是闲鱼站内搜索词,中文词或型号词更容易命中;默认返回 20 条,最多 50 条。

响应示例

字段预览

这组示例参数还没有真实样例:这里只按契约列出响应结构和字段,值用 … 占位,不是一次真实调用的结果。

json
{
  "id": "req_…",
  "platform": "xianyu",
  "action": "search",
  "results": [
    {
      "item_id": …,
      "url": …,
      "title": …,
      "price": …,
      "original_price": …,
      "currency": …,
      "city": …,
      "image_url": …,
      "want_count": …,
      "tags": …,
      "category_id": …,
      "free_shipping": …,
      "is_auction": …,
      "has_video": …,
      "posted_at": …,
      "seller_id": …,
      "seller_name": …,
      "platform": …
    }
  ],
  "count": …,
  "billing": { … },
  "quota": { … }
}

返回字段

业务数据在 results 里;下表是每条记录可能包含的字段,平台没有提供的值不会被补造。

字段含义
item_id本平台特有闲鱼商品数字 ID(字符串);可直接放进 item_detail 的 urls。
url该记录在原平台上的可访问链接。
title标题。平台无标题概念时(如纯文本帖)为 null。
price价格数值,不含货币符号;币种见 currency。
original_price本平台特有卖家填写的原价(元);没填时为 null。
currency价格币种代码(如 CNY、USD)。price 存在但 currency 为 null 时不要假定币种。
city本平台特有商品所在地,按闲鱼页面显示到城市,部分商品只显示到省份;不返回更精确的位置。
image_url图片链接。多图能力可能返回 image_urls 数组。
want_count本平台特有想要人数,即点过「我想要」的用户数。搜索结果取自商品卡片上的「N人想要」,卡片没显示时为 null;null 不等于 0。
tags本平台特有商品卡片上的标签,如「全新」「包邮」、品牌或降价提示;想要人数单独放在 want_count。无标签时为空数组。
category_id本平台特有闲鱼类目 ID(字符串)。
free_shipping本平台特有是否包邮。
is_auction本平台特有是否为拍卖商品;拍卖商品的 price 是当前出价。
has_video本平台特有商品是否带视频。
posted_at发布时间,ISO 8601 格式、UTC 时区(如 2026-08-07T12:34:56+00:00)。平台只给非标准字符串时原样透传,解析前建议做容错。null 表示平台未公开。
seller_id本平台特有卖家数字 ID(字符串)。
seller_name本平台特有卖家昵称。闲鱼对未登录访问会部分打码(如「南***鱼」),按页面显示原样返回。
platform数据来源平台标识,与请求里的 platform 一致(如 xiaohongshu、tiktok)。

错误与计费

401
缺少 Key 或 Key 无效。先鉴权再校验参数,未鉴权的请求拿不到参数结构。
422
参数名或取值不对。错误信息会列出这项能力支持的参数、允许值和最接近的候选,按它改即可;发生在扣费之前。
402
余额不足,请先充值。
429
超过每分钟请求上限,按 Retry-After 等待后再试。
503
暂时无法完成。已预扣的费用按原账本退回;响应里的 billing 与 refund 写明实际结果,结果未知时会明确标出,不要直接重发。
200 空结果
请求完成但没有数据,不扣费(billing.reason = empty_result_refunded)。