Substack关键词搜索 API

POST

接口健康状态

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

关键词搜索:返回列表,默认 10 条、单次最多 30 条;主要字段 id、handle、name、url、custom_domain、bio。

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

请求参数

参数名位置类型必填默认值说明
Authorizationheaderstring是-Bearer 加你的 API Key。在控制台创建;不要放进网址或代码仓库。
platformbodystring是substack平台标识,固定值。
actionbodystring是search能力标识,固定值。
keywordbody.params未声明是-Substack newsletter / publication 发现词;搜索专栏,不是对所有文章正文做全文检索。
limitbody.paramsinteger (1–30)否10

代码示例

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": "substack",
  "action": "search",
  "params": {
    "keyword": "climate"
  }
}'

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

按刊物或作者主题检索;搜索结果不代表付费文章全文可读。

响应示例

真实返回样例

2026年9月26日 16:56(北京时间)用上方代码示例的参数真实调用所得。results 与 count 是那次的真实返回,已隐去名字、账号、头像、主页链接、联系方式等个人信息,列表只保留前 2 条;id、billing、quota 每次调用都不同,只给结构。

json
{
  "id": "req_…",
  "platform": "substack",
  "action": "search",
  "results": [
    {
      "id": "1577253",
      "handle": "(已隐去)",
      "name": "Climate Drift",
      "url": "https://climatedrift.substack.com",
      "custom_domain": "www.climatedrift.com",
      "bio": "Your cheat-sheet to climate: Breaking down real solutions, hard numbers, and career moves for operators, founders, and investors who want impact.",
      "language": "en",
      "payments_enabled": true,
      "avatar_url": "https://substackcdn.com/(已隐去)",
      "cover_url": "https://substack-post-media.s3.amazonaws.com/public/images/1e57b0db-25cb-435f-b067-4bd437423c48_1280x1280.png",
      "platform": "substack",
      "author_name": "(已隐去)",
      "author_username": "(已隐去)"
    },
    {
      "id": "2693993",
      "handle": "(已隐去)",
      "name": "Your Daily Dose of Climate Hope",
      "url": "https://climateactapp.substack.com",
      "bio": "Action is the antidote to despair. Subscribe now to get one easy action to take every weekday, along with stories about the trends, innovations, and people creating a better world! Enjoy our Weekly Quiz on Saturdays and Good News Roundup on Sundays!",
      "language": "en",
      "payments_enabled": true,
      "avatar_url": "https://substackcdn.com/(已隐去)",
      "cover_url": "https://substack-post-media.s3.amazonaws.com/public/images/e88a5e06-81ff-4c12-be5a-55ecc6cfb03f_1280x372.png",
      "platform": "substack",
      "author_name": "(已隐去)",
      "author_username": "(已隐去)"
    }
  ],
  "count": 10,
  "billing": { … },
  "quota": { … }
}

返回字段

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

字段含义
id该记录在原平台上的唯一标识。仅在同一平台内唯一,跨平台可能重复。
handle本平台特有用户短名。
name名称。用于账号/商品/商家类能力,指该对象本身的名字。
url该记录在原平台上的可访问链接。
custom_domain本平台特有自定义域名,配了说明作者有意长期经营。
bio个人简介,账号自己填写的文本。可能含换行和 emoji。
language内容语言代码(如 zh、en),由平台判定,可能不准。
subscriber_count本平台特有订阅数。Substack 只对部分账号公开,null 不等于 0。
payments_enabled本平台特有该出版物是否开通了付费订阅。
avatar_url头像图片链接。部分平台给的是带尺寸参数的 CDN 链接,可能有时效。
cover_url本平台特有封面图。
platform数据来源平台标识,与请求里的 platform 一致(如 xiaohongshu、tiktok)。
author_name作者昵称(显示名)。
author_username作者用户名(@handle),通常可用于拼 URL。
top_posts保留平台原语义

错误与计费

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