公开 API
总览
AniBT 公开 RSS 与 JSON API 的设计逻辑、端点速查与第三方接入入口。
AniBT 把公开数据通过两类端点暴露给第三方:用于订阅的 RSS 和用于程序集成的 JSON API。所有接口对公网匿名可读,统一支持 HTTP 304 Not Modified,可放心高频轮询。
qBittorrent / Sonarr / FlexGet / Tiny Tiny RSS 等标准 RSS 客户端无需任何额外配置,缓存与条件请求在响应头里自动生效。
公开 API 的生产 base URL 是 https://anibt.net。第三方集成请只使用本文档列出的主站路径。
我想做……(速查)
订阅某个番剧 + 字幕组
GET /rss/anime.xml?bgmId=<bgm>&groupSlug=<slug>
跨字幕组聚合一个番剧
GET /rss/anime.xml?bgmId=<bgm>
字幕组的全部发布
GET /rss/group/<slug>.xml
全站最新磁力
GET /rss/magnets.xml
订阅其他类资源
GET /rss/other/<category>.xml
个人订阅 RSS(鉴权)
GET /rss/subscriptions.xml
程序里查 slug
GET /api/subtitle-groups
按关键词查 bgmId
GET /api/bgm/search?q=…
查季度番剧
GET /api/seasons/anime
字幕组发布资源
POST /api/releases/publish(鉴权)
发布其他类资源
POST /api/other-releases/publish(鉴权)
查自己字幕组信息
GET /api/subtitle-groups/me(鉴权)
设计逻辑
整个体系按"职责分层"组织,便于第三方理解每个端点何时该用:
┌────────────────────────────────────────────────────────────┐
│ 第三方应用 (downloader / bot) │
└────────────────────────────────────────────────────────────┘
│ ① 启动时 / 每天 1 次:拉取字幕组目录
▼
┌────────────────────────────────────────────────────────────┐
│ GET https://anibt.net/api/subtitle-groups │
│ 返回 [{slug, name, totalReleases, totalAnimes, ...}] │
│ → 把"展示名"或"用户输入"映射到稳定 slug │
└────────────────────────────────────────────────────────────┘
│ ② 用户订阅时 / 每 N 分钟:拉 RSS
▼
┌────────────────────────────────────────────────────────────┐
│ /rss/anime.xml?bgmId=...&groupSlug=...&resolution=...&... │ 主入口(最灵活)
│ /rss/group/<slug>.xml │ 字幕组短链
│ /rss/magnets.xml │ 全站新片
│ 返回 RSS 2.0 + BEP 36(enclosure + <torrent infoHash>) │
└────────────────────────────────────────────────────────────┘
│ ③ 每一次轮询都带上上次的 ETag
▼
┌────────────────────────────────────────────────────────────┐
│ 服务端用弱 ETag 快速比较: │
│ - 数据未变:304 Not Modified(空 body,几十字节) │
│ - 数据变化:200 + 完整 RSS │
└────────────────────────────────────────────────────────────┘关键设计取舍
属性
类型
接口稳定性承诺
- 路径与查询参数视为公开契约,不会做不兼容变更;新增参数只会扩展。
slug一旦发布也尽量保持稳定。- 内部主键(如
organizationId)不属于公开契约,第三方一律使用slug。
继续阅读:字幕组目录、RSS 主入口、HTTP 缓存与 304。