接入

五分钟跑通第一个请求

Base URL:https://api.databridge.world/v1。 这页是公开的摘要。完整文档和你的真实 token 在控制台里。

快速开始

  1. 拿到 token

    注册后在控制台「API」页生成。前缀 dbw_live_ 是正式额度,dbw_test_ 只能访问样例数据,不消耗配额。

  2. 挑一个源

    在 数据源目录 里选,或直接调 GET /v1/sources 看全量列表与当前状态。

  3. 发第一个请求

    下面三种写法等价,复制就能跑。

curl -s "https://api.databridge.world/v1/feeds/tech-github-releases/items?limit=20" \
  -H "Authorization: Bearer $DBW_TOKEN"

鉴权

所有请求走 Bearer token,放在 Authorization 头里。token 与控制台账号绑定,删除即失效。

Authorization: Bearer dbw_live_9f21c8d4e7a04b31
别把 token 放进前端代码
浏览器里直接调用会暴露 token。需要前端取数时,用你自己的服务端中转。 给第三方的 token 限到单个源,泄露了也只影响那一个。

端点

方法路径说明
GET/sources全部源、所属分类、最近抓取时间、健康状态
GET/feeds当前账号可访问的 feed 列表
GET/feeds/{feed_id}单源元信息:描述、频率、字段映射
GET/feeds/{feed_id}/items条目列表,支持 since / until / q / cursor / limit
GET/feeds/{feed_id}/items/{item_id}单条详情,含 revision 历史
POST/webhooks配置推送地址(Premium)

响应格式

所有条目同构,跨源字段名一致。下面是完整的单条结构。

{
  "feed": {
    "id": "tech-github-releases",
    "name": "GitHub · 仓库 Release",
    "category": "tech",
    "updated_at": "2026-11-04T09:12:40Z"
  },
  "items": [
    {
      "id": "tech-github-releases:9f21c8d4",
      "title": "v2.4.0 — streaming parser rewrite",
      "url": "https://example.com/releases/v2.4.0",
      "summary": "Replaces the buffered reader with an incremental...",
      "content": null,
      "author": "example",
      "published_at": "2026-11-04T08:41:00Z",
      "updated_at": null,
      "lang": "en",
      "tags": ["release"],
      "hash": "9f21c8d4",
      "revision": 0,
      "deleted": false
    }
  ],
  "next_cursor": "eyJvIjoyMH0"
}

分页与增量

第一次拉全量,之后只取增量。cursor 基于条目位置而非偏移量,翻到第 200 页和第一页一样快。

# 增量:只要 11 月 1 日之后的
GET /v1/feeds/fin-cn-macro/items?since=2026-11-01T00:00:00Z

# 续页:把上次响应里的 next_cursor 原样带回
GET /v1/feeds/fin-cn-macro/items?cursor=eyJvIjoyMH0

# next_cursor 为 null 表示已经到底

去重建议:用 id 做唯一键 upsert。 同一源内 id 永不变;跨源重复的内容不会自动合并,用 hash 自行判断。

配额与限流

配额按自然日(UTC+8)重置。响应头里带实时读数,可以编程判断,不用靠猜。

X-Quota-Limit: 20000
X-Quota-Used: 3412
X-Quota-Reset: 2026-11-05T00:00:00+08:00
X-Rate-Limit: 20          # 每秒请求数上限
X-Rate-Remaining: 17

超配额返回 402,超速率返回 429 并带 Retry-After。 两种都不扣费、不封号,退避重试即可。

错误码

状态码code含义与处理
401invalid_tokentoken 缺失或已删除。去控制台重新生成。
403source_not_in_plan该源不在当前套餐内。升级或换源。
404feed_not_foundfeed_id 拼错,或该源已下线。
402quota_exceeded当日配额用完。次日 0 点重置。
429rate_limited超过每秒上限。按 Retry-After 退避。
410feed_disabled源站改版导致连续失败,已暂停抓取。
503upstream_unavailable源站暂时不可达。指数退避重试。

Webhook(Premium)

不想轮询就配推送。新条目入库后立刻 POST 到你给的地址,带签名头,验签后再处理。

POST https://your-app.example.com/hooks/dbw
X-DBW-Signature: sha256=6b1f...e0
X-DBW-Feed: tech-github-releases
X-DBW-Delivery: 01JC2F8Q

{ "feed_id": "tech-github-releases", "items": [ { "id": "...", "title": "..." } ] }

签名 = HMAC-SHA256(原始请求体, webhook_secret)。失败重试 5 次,间隔指数增长(10s → 160s), 仍失败则记入控制台的投递日志,可手动重放。

本页可能落后于实现
这里只是市场站的摘要。字段名、端点、配额以控制台文档为准。两边对不上时听控制台的,顺便告诉我们一声。

拿个 token 试一下

免费档每天有 500 次调用,够把一个源完整跑通。