零摩擦接入:没有 API key、没有 OAuth、没有注册,GET https://api.jikan.moe/v4/anime/1 现在就能跑,五秒钟拿到第一份 JSON
严格只读,永远写不了:无法以用户身份认证,标记已看/改评分/增删列表全做不到——这些必须用官方 MyAnimeList API
Jikan 不需要任何准备:直接打 GET https://api.jikan.moe/v4/anime/1 就能拿到《星际牛仔》的完整元数据。常用端点:/anime?q=关键词 搜索动画,/anime/{id} 取详情,/anime/{id}/characters 取角色,/seasons/now 取当季番表,/schedules 取放送表,/top/anime 取排行,/manga 一族对应漫画。生产中务必在自己这边按资源 ID 缓存响应,并把请求频率压在 60 req/min、3 req/s 以下。需要更高吞吐时,用 `docker run -d --name jikan-rest -p 8080:8080 -v ./.env:/app/.env jikanme/jikan-rest:latest` 自托管,限流由你自己设。记住:任何涉及登录用户自己列表的读写都得用官方 MyAnimeList API。
可用率 · 30 天窗口
关于这个 API
Jikan 是非官方的 MyAnimeList REST API,名字取自日语「時間」。它存在的原因很简单:MyAnimeList 多年没有可用的公开 API,社区便靠读取站点公开页面、把结果整理成干净 JSON,自己造了一个。今天它以 PHP/Laravel 应用运行,当前版本 v4,公共实例在 https://api.jikan.moe/v4。最大特点是零摩擦:没有 API key、没有账号、没有 OAuth、没有 Authorization 头,发个 GET 就拿到 JSON。端点面很广——/anime 与 /manga 做搜索和详情,/characters 与 /people 做角色和制作人员,/seasons/now 拿当季番表,/schedules 看每个工作日放送,/top/anime 取排行,/genres/anime 做类型筛选,/producers 看制作方,外加 /random、/recommendations、/reviews——对「浏览 + 发现」类产品基本覆盖了你想展示的一切。两个必须围着设计的事实:第一,限流。公共实例同时执行每秒 3 次与每分钟 60 次,两者都生效,超过任一个返回 429;项目靠 Patreon 捐赠运营,期望你在自己这边积极缓存而不是猛打。第二,新鲜度。Jikan 返回缓存数据,默认缓存 24 小时(CACHE_DEFAULT_EXPIRE=86400,部分端点更短),对简介、评分、排行没问题,但不适合需要实时的场景。最重要的边界是只读:Jikan 读的是公开数据、无法以用户身份认证,所以它永远改不了任何人的列表——标记已看、改评分、增删条目都得用官方 MyAnimeList API。因此很多真实应用两个都用:公开目录用 Jikan,登录用户读写自己列表用官方 API。吞吐不够时,jikan-rest 开源且已 Docker 化,自托管能在不改客户端代码的前提下抬高限流,但自托管仍然只读,因为它仍然没有用户认证。
你可以做什么
- 1动画/漫画浏览与发现站:用 /anime、/manga 搜索和取详情,/seasons/now 拉当季番表,/schedules 看每个工作日放送,/top/anime 做排行榜,全程零认证
- 2角色与声优页:/characters 和 /people 拿角色资料、声优和制作人员,配合 /anime/{id}/characters 做作品-角色关系图
- 3数据分析与数据集构建:批量拉取公开元数据做评分分布、类型趋势等分析(注意 60 req/min 限流,需自建缓存或自托管)
优劣对比
优点
- 零摩擦接入:没有 API key、没有 OAuth、没有注册,GET https://api.jikan.moe/v4/anime/1 现在就能跑,五秒钟拿到第一份 JSON
- 公开数据覆盖极全:动画、漫画、角色、人物、季度、放送表、排行、类型、制作方、推荐、评论一站齐全,贴合真实的浏览/发现需求
- 完全免费且开源:公共实例免费,代码(jikan-me/jikan-rest)开源、可 Docker 自托管,吞吐不够时不用换 API,自己跑一份即可
注意事项
- 严格只读,永远写不了:无法以用户身份认证,标记已看/改评分/增删列表全做不到——这些必须用官方 MyAnimeList API
- 数据有缓存延迟:默认缓存 24 小时,简介和排行没问题,但任何需要分钟级实时的场景都不适合
- 共享实例限流偏紧:3 req/秒 + 60 req/分,做批量或高并发要么自建缓存要么自托管,否则容易撞 429
官方快速开始
在官方文档查看快速开始:docs.api.jikan.moe
快速开始
Jikan 不需要任何准备:直接打 GET https://api.jikan.moe/v4/anime/1 就能拿到《星际牛仔》的完整元数据。常用端点:/anime?q=关键词 搜索动画,/anime/{id} 取详情,/anime/{id}/characters 取角色,/seasons/now 取当季番表,/schedules 取放送表,/top/anime 取排行,/manga 一族对应漫画。生产中务必在自己这边按资源 ID 缓存响应,并把请求频率压在 60 req/min、3 req/s 以下。需要更高吞吐时,用 `docker run -d --name jikan-rest -p 8080:8080 -v ./.env:/app/.env jikanme/jikan-rest:latest` 自托管,限流由你自己设。记住:任何涉及登录用户自己列表的读写都得用官方 MyAnimeList API。
常见问题
Jikan 需要 API key 或注册吗?+
都不需要。公共 Jikan 实例免费,无 API key、无账号、无 OAuth,直接发 GET 请求即可。它靠 Patreon 捐赠维持,所以有限流并内置缓存,期望你做个体贴的使用者。
Jikan 的限流是多少?+
v4 公共实例同时执行每秒 3 次、每分钟 60 次,两者都生效,超了返回 HTTP 429。没有公布的每日上限。v3 的每分钟 30 次已废弃。需要更高吞吐就自托管。
能用 Jikan 修改用户的动画列表吗?+
不能。Jikan 严格只读,无法以用户身份认证,改不了状态、评分或列表条目。要写用户列表,必须用官方 MyAnimeList API(OAuth2)。
Jikan 数据是实时的吗?+
不是。Jikan 返回缓存数据,默认缓存 24 小时(部分端点更短)。简介、评分、排行这类几乎不变的数据没问题,但需要分钟级实时的场景应改用官方 API。
技术细节
- 认证方式
- none
- 计费
- free
- 速率限制
- Public instance (api.jikan.moe) enforces two limits simultaneously: 3 requests/second AND 60 requests/minute. Both apply, so a burst of 5 requests in one second trips the per-second cap even when well under 60/minute. Exceeding either returns HTTP 429. No published per-day cap. (v3 was 30/min and is deprecated; v4 doubled it to 60.) Self-hosting removes the shared limit entirely.
- 免费额度
- Entirely free with no key and no account. Rate-limited to 3 req/sec and 60 req/min on the public instance. Funded by community donations (Patreon), so aggressive client-side caching is the implicit expectation rather than a paid upgrade.
- 协议
- REST
- SDK
- Python, JavaScript, TypeScript