用类型 16 和原始语言 ja 查找动漫
amodb 没有单独的动漫接口。动漫是对 GET /3/discover/tv 和 GET /3/discover/movie 的筛选:with_genres=16(动画)加上 with_。再加上 anime 关键词的 ID(用 GET /3/search/keyword 查询),就只保留被标记为动漫的作品。
需要坦率说明一个限制:日语不属于 amodb 提供的 14 种界面语言。片名和简介会以你请求的语言返回,或使用英语。日文片名保留在剧集的 original_name 和电影的 original_title 中。
你会得到:
- 来自同一组 discover 筛选的动漫剧集和动漫电影。
- 原始日文片名与本地化片名并列。
- 你选中的每部剧集的季和集列表。
- 来自
https:/的海报和背景图。/ img.amodb.dev/ t/ p/ {size}/ {file}
可获取的数据
| 你需要 | 调用或字段 | 说明 |
|---|---|---|
| 动漫剧集 | GET /3/discover/tv,带 with_genres=16 和 with_ | results 中包含 name、original_name、first_air_date、genre_ids |
| 动漫电影 | GET /3/discover/movie,使用相同的两个筛选 | title、original_title、release_date |
| anime 关键词 ID | GET / | results 数组,包含 id 和 name |
| 剧集列表 | GET / | 每季一次调用 |
| 日文片名 | original_name 或 original_title | 原始文字,按存储内容返回 |
| 海报 | poster_path | 拼接到图片主机,无需密钥 |
三步开始
- 在定价页选择套餐。每个套餐的数据相同,只有速率不同:每分钟 20、40 或 120 个请求。
- 在账户后台创建密钥。
- 先查一次关键词 ID,再用它和这两个筛选调用 discover。
请求示例
这段 Python 脚本先找到 anime 关键词 ID,再列出带有该关键词的最热门日本动画剧集。下面的 curl 调用不使用关键词,而是按日期窗口列出单个播出季。
curl -s "https://api.amodb.dev/3/discover/tv?with_genres=16&with_original_language=ja&first_air_date.gte=2026-10-01&first_air_date.lte=2026-12-31&sort_by=popularity.desc" \
-H "Authorization: Bearer $AMODB_KEY"import os
import requests
BASE = "https://api.amodb.dev/3"
session = requests.Session()
session.headers["Authorization"] = f"Bearer {os.environ['AMODB_KEY']}"
def get(path, **params):
r = session.get(BASE + path, params=params, timeout=10)
r.raise_for_status()
return r.json()
keywords = get("/search/keyword", query="anime")["results"]
anime_id = next((k["id"] for k in keywords if k["name"].lower() == "anime"), None)
if anime_id is None:
raise SystemExit("anime keyword not found")
page = get(
"/discover/tv",
with_genres=16,
with_original_language="ja",
with_keywords=anime_id,
sort_by="popularity.desc",
language="en-US",
page=1,
)
for show in page["results"]:
print(show.get("first_air_date"), show["name"], "/", show["original_name"])上面 Python 调用的精简响应:第 1 页 19 条结果中的 2 条,数组缩减为 2 项。
{
"page": 1,
"results": [
{
"adult": false,
"backdrop_path": "/dmptwhmqxcMrCKgyvBlTt18PgDu.jpg",
"first_air_date": "2005-04-22",
"genre_ids": [
10759,
16
],
"id": 65733,
"name": "Doraemon",
"origin_country": [
"JP"
],
"original_language": "ja",
"original_name": "ドラえもん",
"overview": "Robotic cat Doraemon is sent back in time from the 22nd century to protect 10-year-old...",
"popularity": 301.2214,
"poster_path": "/9ZN1P32SHviL3SV51qLivxycvcx.jpg",
"vote_average": 8.089,
"vote_count": 252
},
{
"adult": false,
"backdrop_path": "/mFKys64gbDQrFqwUheGwXQwo2JK.jpg",
"first_air_date": "2004-10-05",
"genre_ids": [
10759,
16
],
"id": 30984,
"name": "Bleach",
"origin_country": [
"JP"
],
"original_language": "ja",
"original_name": "BLEACH",
"overview": "For as long as he can remember, Ichigo Kurosaki has been able to see ghosts. But when h...",
"popularity": 190.3257,
"poster_path": "/2EewmxXe72ogD0EaWM8gqa0ccIw.jpg",
"vote_average": 8.4,
"vote_count": 2295
}
],
"total_pages": 216,
"total_results": 4302
}影响动漫列表的筛选
| 筛选 | 取值 | 效果 |
|---|---|---|
with_genres | 16 | 动画。逗号表示 AND,因此 16,35 是动画加喜剧。 |
without_genres | 类型 ID | 排除带有该类型的作品。 |
with_original_language | ja | 仅限日语原版。 |
with_keywords | 关键词 ID | 仅限带有该关键词标记的作品。没有标记的作品会被漏掉。 |
first_air_date.gte、first_air_date.lte | YYYY-MM-DD | 剧集的播出时间窗口。电影使用 primary_ 和 .lte。 |
sort_by | popularity.desc、vote_average.desc、first_air_date.desc | 排序。把 vote_average.desc 与 vote_count.gte 搭配使用,避免样本极少的作品排在最前。 |
page | 1 到 500 | 每页最多 20 条结果。 |
关键词标记并不完整。如果列表看起来偏短,请去掉 with_keywords,只保留类型和语言筛选来扩大范围。完整的筛选列表见发现,关键词 ID 的说明见关键词。
动漫电影和长篇剧集
电影接口使用同样的两个筛选。这个调用列出评分较高的日本动画电影,vote_count.gte 用来排除只有寥寥几票的作品。
curl -s "https://api.amodb.dev/3/discover/movie?with_genres=16&with_original_language=ja&sort_by=vote_average.desc&vote_count.gte=200" \
-H "Authorization: Bearer $AMODB_KEY"每条结果都有 title、original_title、release_date 和 poster_path。长期连载的剧集在目录中常被拆成多个季。GET / 会在已知时列出其他排序方式及名称和集数,但 amodb 不提供分组本身,剧集上的 number_of_episodes 给出总集数。季的调用见电视剧 API。
片名与语言
动漫是原始片名最重要的场景,所以请同时保留两个字段。
| 字段 | 内容 | 用途 |
|---|---|---|
name | 你请求的语言的片名 | 界面中的主标签 |
original_name | 原始语言的片名,日语原版为日文文字 | 次要标签,对了解日文片名的粉丝有用 |
original_language | ja | 混用多个数据源时在你这边筛选 |
overview | 本地化文本,没有译文时为空 | 为空时用 language=en-US 重新请求 |
GET / 会在已知时按国家列出其他片名。14 种提供的语言见语言页。
对比
| 能力 | 抓取粉丝网站 | 仅动漫的数据库 API | amodb |
|---|---|---|---|
| 范围 | 网站覆盖什么就是什么 | 仅限动漫,深度请查阅文档 | 一个目录包含电影和电视剧,用筛选选出动漫 |
| 动漫筛选 | 网站分类 | 请查阅文档 | 类型 16、with_、anime 关键词 |
| 原始语言片名 | 各不相同 | 请查阅文档 | original_name 和 original_title |
| 剧集列表 | 从页面解析 | 请查阅文档 | 带 episodes 数组的季调用 |
| 日语界面语言 | 取决于网站 | 请查阅文档 | 不提供,只有原始片名 |
| 访问条款 | 各网站自己的条款 | 免费和付费层各不相同 | 付费,预付,无免费额度 |
定价
动漫列表只需几次 discover 调用,而 discover 结果在边缘缓存 30 分钟,所以对许多应用来说每分钟 20 个请求就够了。套餐为每分钟 20、40 或 120 个请求,数据相同。可预付 1、3、6、12 或 24 个月,分别享受 0、10、20、30 和 40% 的折扣,不会自动续费。没有免费额度。请在定价页选择套餐。