公开 API
Bangumi 搜索
GET /api/bgm/search —— 公开搜索 Bangumi 番剧 ID,支持中 / 英 / 日 / 罗马音关键词。
/api/bgm/search 是公开搜索端点,无需鉴权。用于把"用户输入的番剧名"映射成稳定的 Bangumi.tv subject id(bgmId),后续就能喂给 /rss/anime.xml 或 /api/releases/publish。
生产实现由主站 Web runtime 直接查询 AniBT 的 Typesense 番剧索引,不再通过 Convex HTTP action 透传 Bangumi 上游。结果覆盖站内已索引番剧;未收录作品需要先完成站内番剧同步。
请求
GET https://anibt.net/api/bgm/search?q=<keyword>&limit=<n>支持中文、英文、日文、罗马音任意关键词。
curl -s -G 'https://anibt.net/api/bgm/search' \
--data-urlencode 'q=葬送的芙莉莲' -d 'limit=3'查询参数
属性
类型
响应
{
"ok": true,
"data": [
{
"bgmId": 400602,
"name": "葬送のフリーレン",
"nameCn": "葬送的芙莉莲",
"date": null,
"image": "https://...",
"rating": 8.5,
"totalEpisodes": 28,
"url": "https://bgm.tv/subject/400602"
}
]
}字段说明
属性
类型
实战:搜索 → 拼 RSS
BGM=$(curl -s -G 'https://anibt.net/api/bgm/search' \
--data-urlencode 'q=葬送的芙莉莲' -d 'limit=1' \
| jq -r '.data[0].bgmId')
echo "https://anibt.net/rss/anime.xml?bgmId=$BGM&resolution=1080p&language=CHS"缓存与限流
| 项目 | 值 |
|---|---|
Cache-Control | public, max-age=0, s-maxage=300, stale-while-revalidate=300, stale-if-error=300 |
| ETag | 支持 If-None-Match;未变化返回 304 Not Modified |
| 速率限制 | 60 次 / 60 秒 / IP,详见 限流与上限 |
注意事项
搜索结果按文本相关度、热度与更新时间排序,不保证第一条就是最热门版本。如果番名容易撞车(例如有多季 / 同名作品),建议把 limit 设大一点,再人工挑选。
生产代码里建议把解析出的 bgmId 缓存到本地,不要每次发布或拉 RSS 前都查。