jikan-me/jikan
jikan-me/jikan has 1,091 GitHub stars and 125 forks. GitHot measured +4 in 7 days. Last checked 2026-11-11 00:33 UTC. Last push 2026-10-19.
Unofficial MyAnimeList PHP+REST API which provides functions other than the official API
Measured star growth
- in 24h
- Update delayed
- in 7 days
- +4
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalJikan - Unofficial MyAnimeList.net PHP API
Jikan is a PHP API for MyAnimeList.net. It scrapes the website to satisfy the need for API functionality that MyAnimeList.net lacks.
The raison d'être of Jikan is to assist developers easily get the data they need for their apps and projects without having to depend on the lackluster official API, unstable APIs, or sidetracking their projects to develop parsers.
The word Jikan literally translates to Time in Japanese (時間). And that's what this API saves you of. ;)
Notice: Jikan does not support authenticated requests. You can not update your lists.
Status: active development is on master — the v5 line, currently 5.0.0. The v4 line
is end of life and no longer supported. Jikan is a PHP library, not a hosted service; a
self-hosted REST API exists as a separate project.
Getting Started
| Version | Support | PHP | Lumen/Laravel |
|---|---|---|---|
^5 |
✅ Current — actively maintained | ^13 |
|
^4 |
❌ End of life — no longer supported | ^9,^10 |
|
^3 |
❌ No longer maintained or supported | ^8, ^9 |
|
^2 |
❌ No longer maintained or supported | ^6 |
|
~1 |
❌ No longer maintained or supported | 5.5.* |
composer require jikan-me/jikan "^5.0"(needs PHP 8.4.4 or later)- Coming from v4? Read the upgrade guide.
- Read the Repository docs below — this repo holds the canonical documentation.
Repository docs
- Contributing — the endpoint spine, hermetic-fixture workflow, pre-commit gates
- Changelog — what changed per version, written for consumers
- Upgrading from v4 — what to change in your code, checked against a side-by-side run of both versions
- Decision log — why things are the way they are
- Deprecations — the running deprecation ledger
- API standard — conventions every public entry point must follow
Usage
use Jikan\MyAnimeList\MalClient;
use Jikan\Request\Anime\AnimeRequest;
use Jikan\Request\Search\AnimeSearchRequest;
$client = new MalClient(); // or new MalClient(HttpClientInterface $http) to inject the client
$anime = $client->getAnime(new AnimeRequest(1)); // Cowboy Bebop
$results = $client->getAnimeSearch(new AnimeSearchRequest())->getResults();
Every public endpoint is one MalClient method taking one Jikan\Request\* value object; the
method list, the class-per-endpoint surface, and the conventions each must follow are documented in
readme (conceptually), API-STANDARD.md (requirements) and CONTRIBUTING.md §3 (how to add one).
The full machine-readable catalog lives in llm.txt (and .backend-suite/endpoints.json) — derived,
regenerated with composer endpoints:write. On every change that touches the surface, run
composer endpoints:write and composer endpoints:check.
REST API (self-hosted)
The library powers a separate, self-hostable REST API project: jikan-me/jikan-rest.
No hosted/public instance of the REST API is provided.
Wrappers
| Language | Wrappers |
|---|---|
| JavaScript | JikanJS by Zuritor |
| Java | Jikan4java by Doomsdayrs reactive-jikan by Sandro Marques Jaikan by ShindouMihou |
| Python | JikanPy by Abhinav Kasamsetty |
| Deno | Jikan.js by RPDJF |
| Node.js | jikan-node by xy137 jikan-nodejs by ribeirogab |
| TypeScript | jikants by Julien Broyard jikan-client by Javier Blanco |
| PHP | jikan-php by Jan Vernieuwe |
| .NET | Jikan.net by Ervie |
| Go | jikan-go by Daren Liang jikan2go by nokusukun |
| Ruby | Jikan.rb by Zerocchi |
| Dart | jikan-dart by Rafal Wachol |
| Kotlin | JikanKt by Ganedra Afrasya |
Running Tests
composer quality # everything at once: php-cs-fixer dry-run + PHPStan + endpoint-manifest check + tests
composer test # PHPUnit via paratest — hermetic against recorded fixtures
Quality gates run automatically on every commit (grumphp: php-cs-fixer, php-parallel-lint,
git blacklist, paratest; plus the backend-suite error_handling/test_network_coupling
audits). The same composer quality gate is enforced in CI. Full workflow:
CONTRIBUTING.md.
Backers
A huge thank you to all our Patrons! 🙏 This project wouldn't be running without your support.
If you'd like to support the project, you can become a Patron!
Sugoi (すごい) Patrons
Patrons
- Aaron Treinish
- Abdelhafid Achtaou
- Aika Fujiwara
- Bobby Williams
- Cesar Irad Mendoza
- CrafterSama
- Fro116
- Jason Weatherly
- Jesse
- Kundan Chintamaneni
- Kururin
- Purplepinapples
- Ryo Ando
- Sakamotodesu
- TeraNovaLP
Development
![]() |
Jikan's development is powered by JetBrain's Open Source License |
A shoutout to their amazing products and for supporting Jikan since early versions!
DISCLAIMER
- Jikan is not affiliated with MyAnimeList.net
- You are responsible for the usage of this API. Please be respectful towards MyAnimeList's Terms Of Service
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
561,695 starspublic-apis/public-apis
A collective list of free APIs
498,092 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
451,208 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,318 stars
