Forum Settings
Forums
New
Reply Disabled for Non-Club Members
Pages (3) « 1 2 [3]
Jan 27, 2018 7:04 AM

Offline
Sep 2015
101
There will be a minor 15-30 minutes downtime at 7.00 PM UTC , 4 hours from this post to update the REST API + maintenance.

The unofficial MyAnimeList REST API
Jan 27, 2018 12:22 PM

Offline
Sep 2015
101
REST API 2.1 RELEASED

HIGHLIGHTS

  • Search Endpoint (anime, manga, character, people) with pagination support!
  • New Extended Requests (stats, pictures, videos, news)


- Stats parse MAL + scoring data from the stats page of any anime or manga
- Pictures are parsed from the 'pictures' page of any anime, manga, person or character
- Videos are parsed from anime. These include PVs & episode links (if any)
- News is parsed from Anime or manga

OTHER

  • Performance improvements
  • Lots of bug fixes


- Detailed Changelog
- Documentation



I've tried and kept endpoints as simple, here's a quick tutorial of how the new endpoints work if you don't want to hit the docs.

Stats
https://api.jikan.moe/{anime|manga}/{id}/stats

https://api.jikan.moe/anime/21/stats

https://api.jikan.moe/manga/1/stats


Pictures
https://api.jikan.moe/{anime|manga|character|person}/{id}/pictures

https://api.jikan.moe/anime/1/pictures

https://api.jikan.moe/manga/1/pictures

https://api.jikan.moe/character/1/pictures

https://api.jikan.moe/person/1/pictures


Videos
https://api.jikan.moe/anime/{id}/videos

https://api.jikan.moe/anime/1/videos



And the most awaited feature,
Search
https://api.jikan.moe/search/{anime|manga|character|person|people}/{query}/{page}

Note: People is an alias of Person.
Note 2: There may be some bugs as this endpoint is still in beta.


https://api.jikan.moe/search/anime/code%20geass

https://api.jikan.moe/search/character/shou/2

https://api.jikan.moe/search/person/hanazawa

https://api.jikan.moe/search/manga/naruto



A more in-depth search with filters and flags are in the works. You may track the progress here.


All cache has been cleared to reflect the updated schema (nothing changed, only additions). Services may be slightly slower.



Jikan | Documentation | JikanPHP (Parser) | Report A Bug
Nekomata1037Apr 11, 2018 11:34 AM

The unofficial MyAnimeList REST API
Jan 30, 2018 7:50 PM
Offline
Apr 2012
2
Hi, this API looks great! I'm new to webdev and I'm slowly learning, so I may have some dumb questions in the future.

Does this API let you access/modify things in user lists, or is that something I can currently only do through the official MAL API?
Jan 31, 2018 1:16 PM

Offline
Sep 2015
101
@Ocarina1494 No such thing as a dumb question, fire away!

This API only covers what the official API lacks, such as getting info to your favorite show, author, seiyuu, etc via unauthenticated GET (simple requests, even possible through your browser) requests.

To perform authenticated requests such as modifying user lists is something only the official API can do.

The unofficial MyAnimeList REST API
Feb 1, 2018 12:37 PM

Offline
Sep 2015
101
Hear ye! Jikan now has an amazing Ruby wrapper library thanks to Zerocchi.

Get started: https://github.com/Zerocchi/jikan.rb
Installation w/ Gem:
gem install jikan.rb
Nekomata1037Mar 21, 2018 10:53 PM

The unofficial MyAnimeList REST API
Mar 26, 2018 12:28 AM

Offline
Sep 2012
3599
Well hello.

Great API. I think I will use it in my ext. My question is the request limit is still there?
Mar 27, 2018 8:12 AM

Offline
Sep 2015
101
sasalx said:
Well hello.

Great API. I think I will use it in my ext. My question is the request limit is still there?

Hi @sasalx, I hope you do! The limit had been increased to 5,000 requests per IP per day a few weeks back.(I didn't really announce it.)

If you need a higher limit, we can discuss it.

The unofficial MyAnimeList REST API
Mar 28, 2018 9:51 AM

Offline
Sep 2012
3599
Nekomata1037 said:
sasalx said:
Well hello.

Great API. I think I will use it in my ext. My question is the request limit is still there?

Hi @sasalx, I hope you do! The limit had been increased to 5,000 requests per IP per day a few weeks back.(I didn't really announce it.)

If you need a higher limit, we can discuss it.


I think it should be fine. However I want to ask something else. How the API handles the sorting of the search results? For example
https://api.jikan.me/search/anime/Kaichou_wa_Maid-sama

returns the special of the said anime rather than first season as the first result.
Mar 29, 2018 2:30 AM

Offline
Sep 2015
101
@sasalx, unfortunately I don't have control over which data is displayed first right now. The search request you're making parses off directly from this
https://myanimelist.net/anime.php?q=Kaichou_wa_Maid-sama

And MAL puts the special first for some reason.

I'll be releasing REST 2.2 mid-April which will give you some control over the search results via filters so you'll be able to have it display TV results only if you'd like.

TBA in REST Advanced search: https://github.com/jikan-me/jikan/issues/97
Release ETA: https://github.com/jikan-me/jikan/projects/1

The unofficial MyAnimeList REST API
Apr 11, 2018 10:20 AM

Offline
Sep 2015
101
Announcement

I have 2 announcements to make.

1. Jikan is being transferred to a new domain: Jikan.MOE
Developers, you have until May 12th, 2018 to update your apps until jikan.me expires.

2. Jikan REST 1.X will be depreciated when REST 2.2 releases. Which will, hopefully, be sometime this month!
Nekomata1037Apr 11, 2018 10:45 AM

The unofficial MyAnimeList REST API
Apr 12, 2018 8:45 PM
Offline
Jan 2015
23
I was looking through your Github and I saw files for getting schedule, seasonal, and top anime. I didn't see anything in the documentation for it, so can I assume that it works like this (based on my cursory understanding of the code):

https://api.jikan.me/search/anime/[seasonal/schedule/top]


Apr 12, 2018 10:58 PM

Offline
Sep 2015
101
45b16 said:
I was looking through your Github and I saw files for getting schedule, seasonal, and top anime. I didn't see anything in the documentation for it, so can I assume that it works like this (based on my cursory understanding of the code):

https://api.jikan.me/search/anime/[seasonal/schedule/top]



@45b16, This is a bit confusing but here's the thing. The REST API is built on the PHP API (the GitHub one).

Seasonal, Schedule, & Top Endpoints are implemented in the PHP API (v1.15.3) as of now. The REST API instance is v2.1, which is running on an older version of of the PHP API (v1.7.1), which does not include those features.

REST v2.2 will be released within this month, hopefully in the upcoming week(s). And those endpoints are to be used like this:


Seasonal
https://api.jikan.moe/season{/year/season}
e.g https://api.jikan.moe/season // for current season
https://api.jikan.moe/season/2018/summer


Schedule
https://api.jikan.moe/schedule // For the schedule listing of this seasons


Top
https://api.jikan.moe/top/anime{/page}
https://api.jikan.moe/top/manga
https://api.jikan.moe/top/manga/2 // listing of page 2

Note: These exemplary endpoints are not implemented yet and may change by the release of REST 2.2!


When REST 2.2 is released, the documentation will be appropriately available in the REST Documentation


P.S Switch over to api.jikan.MOE for your base URL as the .me domain will be discontinued by May 12th.
Nekomata1037Apr 12, 2018 11:05 PM

The unofficial MyAnimeList REST API
Apr 21, 2018 6:37 AM

Offline
Sep 2015
101
Notice: There might be some service disruption tomorrow (Sunday, 22nd April, 2018) as there's planned maintenance and updates (REST 2.2!).


Edit (Sunday, 22nd April): The update has been delayed till tomorrow, Monday, 23rd April.
Nekomata1037Apr 22, 2018 10:21 AM

The unofficial MyAnimeList REST API
Apr 23, 2018 12:20 PM

Offline
Sep 2015
101
REST 2.2 RELEASE!
I'm very excited to announce the release of REST API v2.2. It's been in the works for the past few months and a lot of new features have been added.


Links
- Documentation
- Source Changelog

Highlights

  • Added Top anime/manga request
  • Added Seasonal anime request (you can fetch previous anime of previous seasons too)
  • Added Advanced search (filter your searches!)
  • Added Schedule request (fetch airing anime schedules for the week!)
  • Added forum and moreinfo extended requests for Anime & Manga
  • Added Meta requests (get status on the REST API or a list of popular requests for today, weekly, or monthly) (experimental)
  • Major bug fixes & performance improvements

  • Jikan REST is now hosted by Hibiki
  • REST Server is now located at Tokyo.


A huge thanks to previous hosters. Hosting itself is an amazing contribution.

DOMAIN CHANGE TO JIKAN.MOE
As mentioned in previous posts, Jikan has moved to a .moe TLD. If you haven't updated your code, do it now!

If you're still using the .ME TLD, it's still running on REST 2.1. And it will expire on May 12th!

NO RATE LIMITING FOR CACHED REQEUSTS
Rate Limiting was introduced to prevent MAL Rate limiting JIkan from the plethora amount of requests and disk-space requirements. But since the previous and current hosters, Jikan has a bigger potential. There's a lot requests coming in daily. It's being used over multiple apps, bots and projects. That's enough to generate lots of cache.

Thus, from today, there will be no throttling for any cached request! Only uncached requests will be throttled.

Also, I did ninja edit the rate limit. It's no longer 2,000. The new rate limit is 5,000/day.


REST API 1.X DISCONTINUED
REST API 1.X has been discontinued and removed.

100+ STARS ON GITHUB!
It's amazing how far the project has come. A huge thanks to everyone who's supported the project through contributions and messages! It has been a huge motivation factor for me.

TOTAL OPEN-SOURCE!
Jikan is available on GitHub as an organization. You can find listed the PHP Source API, the REST API, the website and wrappers built for the REST API. Everything is open source and free to use.


Open-source contributions to Jikan is highly appreciated! If you can create a wrapper in your language, that'd be awesome!


Examples!

Here's some minor examples to motivate you to hit the docs.

Fetching anime scheduling for the week
https://api.jikan.moe/schedule


Anime scheduling for sunday only
https://api.jikan.moe/schedule/sunday


Anime airing this season
https://api.jikan.moe/season


Anime that aired last year on winter
https://api.jikan.moe/season/2017/winter


Get Top Anime movies from page 2
https://api.jikan.moe/top/anime/2/movie


Get search results for PG13 rated anime
https://api.jikan.moe/search/anime/Boku+No/?rated=pg13


Or vice versa ( ͡° ͜ʖ ͡°)
https://api.jikan.moe/search/anime/Boku+No/?rated=rx


Get only movie results
https://api.jikan.moe/search/anime/Bleach/?type=movie


I hope this motivates you to explore the Docs as there's a lot you can do and implement. If you've any questions or bugs, you can always DM me on Discord (Nekomata#0428), PM me or open an issue!



Links
Nekomata1037Sep 4, 2018 8:01 AM

The unofficial MyAnimeList REST API
May 6, 2018 3:00 AM

Offline
Sep 2015
101
Updates
Jikan.me is no longer pointing to the old server (REST 2.1), now it's at REST 2.2.
Friendly reminder to start using JIKAN.MOE before May 12th


Good news for .Net devs, @Ervelan is developing a Dot.Net wrapper for Jikan!
Github: https://github.com/Ervie/jikan.net
NuGet: https://www.nuget.org/packages/JikanDotNet/

The unofficial MyAnimeList REST API
May 14, 2018 10:12 AM

Offline
Jan 2010
65
Small update

I'm proud to announce that jikan.net enter initial release and is up to date with whole Jikan APi as of today. I will be switching to issue fixing/updating mode now. Besides that, documentation with model schema and usage examples will be coming in following days/weeks.

Jikan.net it MIT licensed like Jikan API, so feel free to use it wherever you like.

Special thanks to Nekomata, who provided help during development.

Repository: https://github.com/Ervie/jikan.net
Nuget: https://www.nuget.org/packages/JikanDotNet/
Open an issue: https://github.com/Ervie/jikan.net/issues/new
May 15, 2018 3:13 PM

Offline
Mar 2018
13
hey there - I've begun work on a site that will hopefully (eventually) automate some of the challenges MAL hosts - I'm starting off trying to write some Python that will handle all of MAL 2018 AWC - from BBcode production for the forums themselves, to registration, but most importantly (and the most fun) optimizing the minimal amount of time the user has to spend making their list instead of watching anime!

i'll be going about that by implementing a sort of minimum coverage algorithm so i can find the optimal ordering of anime for each question possible, or each question asked (according to a user's difficulty). in order to do that, i'll be hardcoding the questions whenever a new year is created - so as of right now, i'm trying to find ways to codify some of the weirder questions.

for example, it seems T1 question 5 (Watch a noitaminA anime) can be simplified from scrolling through a list in a forum post to checking if the anime is broadcast on Thursdays at 01:55 JST. however, some questions like this are not simplifiable - e.g., the question right before it (Watch an award-winning anime). this question requires the user to search the sidebar (where it says Anime Relations) of https://myanimelist.net/clubs.php?cid=71894 for the anime they desire to check.

I'd like to know, do you think there's any chance of adding functionality like that, i.e. parsing of Club metadata, to Jikan? I can probably find a way to manually scrape that page with some trial and error, but it seems like the sort of thing which could exist in an unofficial API!

love Jikan so far, you're making this challenge more fun and simple
May 16, 2018 7:28 AM

Offline
Sep 2015
101
That's a pretty interesting project, @ts0l! I'm glad Jikan has been making it simpler for you

I can slate the club parsing endpoints for the REST 2.3 release, which I'll be working on over the next few months. You can follow the issue here.

Do you have any other pages for parsing in mind?

P.S, Since you're using Python, there's an updated fork of JikanPy (Jikan python wrapper) for REST 2.2 incase you might be interested in using: https://github.com/AWConant/jikanpy/pull/3
Nekomata1037May 16, 2018 7:35 AM

The unofficial MyAnimeList REST API
May 16, 2018 7:50 AM

Offline
Mar 2018
13
ah excellent! followed it now

i'm pretty sure that over the course of the 108 items this season i'll develop a fairly decent litany of stuff that could exist in an API, with some more and some less relevant to the average user.
for example, the aforementioned challenge (noitaminA: https://myanimelist.net/forum/?topicid=1519005) can only be simplified because it happens to coincide with information stored in other ways in the API - however, other challenges, such as T1Q22 (watch a Superhero anime) a only codified in forum posts made by MAL staff (see https://myanimelist.net/forum/?topicid=1522220).

the nice thing about these forum posts is that their format is fairly consistent - as they're all intended for copy/paste into easily scannable thread replies, they all have some arbitrary explanation and titling before the meat, which is the actual list of anime that conform to the theme. this can be seen in both the aforementioned forum posts. so i guess, having a method to return any lists contained within a forum post would be nice.

HOWEVER I realize that that particular request is likely not something that should be included in an API for numerous reasons (lack of need, variability, susceptibility to overscanning posts which contain no lists, etc), and so that sort of thing might be the type of thing i might just end up manually converting into json


another idea is for Character pages - being able to request data like species, age, etc would be a nice functionality for questions like T1Q20. sadly, this also has problems, as that data is stored within the Description currently given by Jikan, and is as you know, just html with no style guidelines. characters like Alphonse from FMA have the type of page i'd love to be able to query, but others (especially supporting characters, see https://myanimelist.net/character/32458/Ayato_Naoi ), have none of that information.

just some ideas - i'm sure i'll have some more in a few days time if you're looking for them. sorry these are both difficult to justify/implement

also thanks for the notice about the new fork! was actually just updating the code myself, good to know i can just pull haha
May 17, 2018 11:29 AM

Offline
Sep 2015
101
The character detail parsing is interesting. Person pages also sometimes have the person's twitter or social accounts added in the description/about and I did want to parse those separately but It is a bit difficult to implement given how there's no definite way of knowing whether that data would be available for every person/character - which might not be viable for some apps or projects that use that information. I know I could simply add a check for it, but the way it's coded is not the same for all pages since it's simply a part of a description.

An unfortunate side-effect for stuff these this can be seen in the character page you've linked. There is some "spoiler data" but it's directly parsed as a part of the "about" in the API (http://api.jikan.moe/character/32458) without any hint that it may be a spoiler.

Feel free to post more ideas. I'm looking forward to parsing data that may be consistent as a part of MAL. Such as ones currently implemented, Anime, Manga, Character, Top pages, etc, etc. These all have consistent templates which can easily be parsed off

The unofficial MyAnimeList REST API
May 24, 2018 2:42 PM
Offline
Jan 2015
23
https://www.reddit.com/r/anime/comments/8lsm5i/myanimelist_compromisedvulnerable_probably_best/

MyAnimeList apparently temporarily disabled their API, will this affect Jikan? Also, I keep getting a Rate Limit error with the top endpoint, so maybe that has to do with the API being disabled.
May 24, 2018 7:30 PM

Offline
Sep 2015
101
45b16 said:
https://www.reddit.com/r/anime/comments/8lsm5i/myanimelist_compromisedvulnerable_probably_best/

MyAnimeList apparently temporarily disabled their API, will this affect Jikan? Also, I keep getting a Rate Limit error with the top endpoint, so maybe that has to do with the API being disabled.

@45b16 No, this will not affect Jikan in any way. Jikan does not make authenticated requests and purely fetches data via scraping.

Jikan was literally being dosed by an insane amount of requests earlier and hence the rate limit errors for uncached requests. Some people just don't read the guidelines for the API usage. That has been taken care of, there should be no more service disruptions.

The unofficial MyAnimeList REST API
Sep 2, 2018 9:46 PM

Offline
Sep 2015
101
Jikan REST v3.0 Release - 3rd Sep, 2019

I am super excited to announce Jikan REST v3.0!

It was a complete rewrite from ground up with the addition of many new features and bug fixes. The data is much cleaner now - none of those HTML encoded characters in there anymore.

New Features
- Top Characters & People
- Anime & Manga by Genre
- Anime by Producers
- Manga by Magazines
- User Profile, History & Friends

Rate Limit revised
- There is no longer any daily limits!
- Cached data is no longer throttled!

The new Rate Limits are:
- 30 requests / minute
- 2 requests / second

Cache Revisions
All requests are now cached for 6 hours only.


Upgraded Servers
Thanks to our hosting sponsor, Jikan now has 2 load balancing servers which is helping out with the majority of the requests and to ensure 100% uptime!


New Milestone
Jikan has hit a new milestone of over 3 million requests every WEEK.


That's pretty insane! And the best part of it is that most of these requests don't even hit MyAnimeList as they're handled by the cache available on the master server and load balancers.


"Extended Requests" Depreciation Notice
v3 removes "extended requests" entirely as now you'd have to make the main request for the anime data then any anime data it needs. The main and the other data will no longer be bundled.
e.g /anime/1/episodes returns the data of anime/1 as well as it's episodes. This is no longer the case.


To improve performance, "Extended Requests" will be depreciated on V2 by 1st January, 2019

Main Endpoint Change
api.jikan.moe currently points to v2, it will be changed to v3 by 1st January, 2019.

To continue using v2, you are encouraged to change your base URL to api.jikan.moe/v2

Discord Community!
If you are ever in need of support, have ideas or want to report bugs, drop by our channel!
https://discord.gg/dDMxFmz


Lastly, a huge shoutout to the contributors, our hosting sponsor and You for making Jikan possible.

------------------------------

Base URL
https://api.jikan.moe/v3


- Documentation
- Migration Notes (v2 -> v3)



REST Status | Bug Report | Discord
Nekomata1037Sep 2, 2018 9:53 PM

The unofficial MyAnimeList REST API
Sep 5, 2018 6:16 PM
Offline
Jan 2015
23
Just wanted to let you know that the links to the genre mappings are broken at https://jikan.docs.apiary.io/#reference/0/genre. Can I assume that the genre IDs are the numbers in the genre links (e.g. https://myanimelist.net/anime/genre/1/Action would mean that the genre ID for action is 1)?

Edit: The user endpoint is also not working. I get a 404 Invalid or incomplete endpoint when going to https://api.jikan.moe/v3/user/nekomata1037/profile
45b16Sep 5, 2018 7:14 PM
Sep 7, 2018 5:26 AM

Offline
Sep 2015
101
45b16 said:
Just wanted to let you know that the links to the genre mappings are broken at https://jikan.docs.apiary.io/#reference/0/genre. Can I assume that the genre IDs are the numbers in the genre links (e.g. https://myanimelist.net/anime/genre/1/Action would mean that the genre ID for action is 1)?

Edit: The user endpoint is also not working. I get a 404 Invalid or incomplete endpoint when going to https://api.jikan.moe/v3/user/nekomata1037/profile

Yes, as per discussion on Discord.

Documentation is still WIP in some parts, you can use this part of the old docs as reference for MAL Genres.
https://jikan.moe/old-docs#advanced-search-constants

The unofficial MyAnimeList REST API
Sep 8, 2018 2:26 AM

Offline
Nov 2013
283
Whoa, I didn't expect for this project to still alive :o
I'll probably migrate some non-credential requests to this one since it's pain in the ass to scrap data from HTML .__.



Sep 8, 2018 2:48 AM

Offline
Sep 2015
101
Nexxkinn said:
Whoa, I didn't expect for this project to still alive :o
I'll probably migrate some non-credential requests to this one since it's pain in the ass to scrap data from HTML .__.

Alive, kicking, expanding and improving! :)

The unofficial MyAnimeList REST API
Sep 27, 2018 7:37 PM

Offline
Sep 2015
101
Jikan REST 3.1 RELEASE! - 28th Sep, 2018

Note: The base endpoint will remain /v3.
Semver is being used for the internal version of the API.

Links
- Documentation
- Source Changelog

What's New

The unofficial MyAnimeList REST API
Dec 30, 2018 5:50 AM

Offline
Sep 2015
101
Jikan REST 3.2 RELEASE! - 29th Dec, 2018
The last update for this year!

Note: The base endpoint will remain /v3.
Semver is being used for the internal version of the API.

Links
- Documentation
- Source Changelog

What's New


Important Changes

  • All data from user related endpoints `/v3/user/*` are now cached for 5 minutes only
  • (Anime/Manga) Bug fixed for `related` property. It's an object but returns an array when it was empty. This is fixed now. Allow 6 hours for any remaining cache to expire.
  • Error messages are now slightly different



Join us on Discord! - Report a bug


Update 30 Dec, 18: ETag/Cache Validation is temporarily disabled due to a bug. I'm working on fixing it the earliest. Will inform here and on the discord channel.
Nekomata1037Dec 30, 2018 5:56 AM

The unofficial MyAnimeList REST API
Feb 3, 2019 7:47 AM
Offline
Nov 2010
6
Hello! Thanks for this neat API! I usually like using the seasonal list on MAL to sort by score and preview things rated 7 and up to see what I like.

This API helps me make my tables much more easily!

It seems like the documentation on jikan.moe needs updating. It says to use $jikan->Seasonal(WINTER, 2017); when it should be $jikan->Seasonal(2017, 'winter'); Will that documentation get updated?

Also, is there a way to get the alternative titles? I like having both the English and original titles in my table for reference, since some streaming sites use one or the other. I don't see an alternative titles or English option in Seasonal. And I tried getting a malID from Seasonal, then doing $jikan->Anime($malID)->getTitleEnglish() but it gives me a fatal error.

Thanks!
Feb 5, 2019 5:29 AM

Offline
Sep 2015
101
Prizem said:
Hello! Thanks for this neat API! I usually like using the seasonal list on MAL to sort by score and preview things rated 7 and up to see what I like.

This API helps me make my tables much more easily!

It seems like the documentation on jikan.moe needs updating. It says to use $jikan->Seasonal(WINTER, 2017); when it should be $jikan->Seasonal(2017, 'winter'); Will that documentation get updated?

Also, is there a way to get the alternative titles? I like having both the English and original titles in my table for reference, since some streaming sites use one or the other. I don't see an alternative titles or English option in Seasonal. And I tried getting a malID from Seasonal, then doing $jikan->Anime($malID)->getTitleEnglish() but it gives me a fatal error.

Thanks!


Hey! You're welcome, glad you like it! :)

It seems you might be using the old documentation for the v1 parser. The current documentation is here: http://docs.jikan.moe

Seasonal: https://jikan-me.github.io/jikan-docs/usage/seasonal/

The Jikan PHP API is best used with PHPStorm as it autocompletes any API methods and is self-documented as well. :)


Unfortunately, MyAnimeList does not provide any alternative titles for anime on the seasonal page where Jikan parses the seasonal data out of (https://myanimelist.net/anime/season). Therefore, it's not possible to get that sort of information from the seasonal API call.

The unofficial MyAnimeList REST API
Feb 7, 2019 2:03 AM
Offline
Nov 2010
6
Hello, the docs I was referring to is at https://jikan.moe/docs

Thanks for pointing out the updated location! Yes, I use PHPStorm and found the auto documentation very helpful.

Yes, I know the seasonal page doesn't have alternative titles. That's why I was using seasonal and then trying to get the individual anime from the MAL ID, but that's where I got the error:
Fatal error: Uncaught Jikan\Exception\BadResponseException: 429 on https://myanimelist.net/anime/37982/ in C:\xampp\htdocs\MAL\vendor\jikan-me\jikan\src\Goutte\GoutteWrapper.php:40 Stack trace: #0 C:\xampp\htdocs\MAL\vendor\jikan-me\jikan\src\MyAnimeList\MalClient.php(55): Jikan\Goutte\GoutteWrapper->request('GET', 'https://myanime...') #1 C:\xampp\htdocs\MAL\test.php(15): Jikan\MyAnimeList\MalClient->getAnime(Object(Jikan\Request\Anime\AnimeRequest)) #2 {main} thrown in C:\xampp\htdocs\MAL\vendor\jikan-me\jikan\src\Goutte\GoutteWrapper.php on line 40

Basically what I'm doing:
<?php
require __DIR__ . '/vendor/autoload.php';
use JikanMyAnimeListMalClient;
use JikanHelperConstants;
$jikan = new MalClient;
$season = $jikan->getSeasonal(
	(new JikanRequestSeasonalSeasonalRequest(
		2019,
		Constants::WINTER
	))
);

foreach ($season->anime as $item) {
  $anime = $jikan->getAnime(
	  (new JikanRequestAnimeAnimeRequest($item->getMalId()))
  );

  $english = $anime->getTitleEnglish();
  echo $english . '<br>';
}
PrizemFeb 7, 2019 2:27 AM
Feb 7, 2019 11:27 PM

Offline
Sep 2015
101
Prizem said:
Hello, the docs I was referring to is at https://jikan.moe/docs

Thanks for pointing out the updated location! Yes, I use PHPStorm and found the auto documentation very helpful.

Yes, I know the seasonal page doesn't have alternative titles. That's why I was using seasonal and then trying to get the individual anime from the MAL ID, but that's where I got the error:
Fatal error: Uncaught Jikan\Exception\BadResponseException: 429 on https://myanimelist.net/anime/37982/ in C:\xampp\htdocs\MAL\vendor\jikan-me\jikan\src\Goutte\GoutteWrapper.php:40 Stack trace: #0 C:\xampp\htdocs\MAL\vendor\jikan-me\jikan\src\MyAnimeList\MalClient.php(55): Jikan\Goutte\GoutteWrapper->request('GET', 'https://myanime...') #1 C:\xampp\htdocs\MAL\test.php(15): Jikan\MyAnimeList\MalClient->getAnime(Object(Jikan\Request\Anime\AnimeRequest)) #2 {main} thrown in C:\xampp\htdocs\MAL\vendor\jikan-me\jikan\src\Goutte\GoutteWrapper.php on line 40

Basically what I'm doing:
<?php
require __DIR__ . '/vendor/autoload.php';
use JikanMyAnimeListMalClient;
use JikanHelperConstants;
$jikan = new MalClient;
$season = $jikan->getSeasonal(
	(new JikanRequestSeasonalSeasonalRequest(
		2019,
		Constants::WINTER
	))
);

foreach ($season->anime as $item) {
  $anime = $jikan->getAnime(
	  (new JikanRequestAnimeAnimeRequest($item->getMalId()))
  );

  $english = $anime->getTitleEnglish();
  echo $english . '<br>';
}

Aha
You're getting a Bad Response Exception with the HTTP code for 429. Which means MyAnimeList is rate limiting you for making too many requests.
Fatal error: Uncaught Jikan\Exception\BadResponseException: 429 on https://myanimelist.net/anime/37982/


Which kind of makes sense since you're making about the times of requests there's anime airing this season.

If this is a long running script, I'd suggest adding a delay/sleep in the loop between each request. 3-5 seconds between each request should keep you from getting rate limited.

Also keeping API calls in try/catch would show you a cleaner error response. As Jikan throws an exception if anything goes south.

And sorry about the confusion with the old docs! I understand it misled you. I need to add a disclaimer that it's for the previous version.

The unofficial MyAnimeList REST API
Feb 10, 2019 6:36 PM
Offline
Nov 2010
6
Oh thanks for the help! Yes, putting a sleep helps! I was thinking it'd be ok normally as I thought it was querying the cached version on the API and not MAL itself. But guess that's not the case?
Feb 11, 2019 10:11 AM

Offline
Sep 2015
101
Prizem said:
Oh thanks for the help! Yes, putting a sleep helps! I was thinking it'd be ok normally as I thought it was querying the cached version on the API and not MAL itself. But guess that's not the case?

The PHP API doesn't have a cache built into it, only the REST API does (just 6 hours though).

You could either cache on your end or use the PHP wrapper for the REST API.
https://github.com/janvernieuwe/jikan-jikanPHP

The usage is entirely the same as of the PHP API. Except rather than parsing MAL, it sends requests to the REST API.

The unofficial MyAnimeList REST API
Feb 14, 2019 11:22 PM
Offline
Dec 2018
2
Great work,
Works smooth and stable - although sometimes we aren't able to pull data and the post generates blank.

Is there any self-hostable solution on this? - or any documentation for the same?


PS: I think the discord chat url in the git isn't working ( at least for me )
Feb 15, 2019 3:39 PM

Offline
Sep 2015
101
AnimeKaizoku said:
Great work,
Works smooth and stable - although sometimes we aren't able to pull data and the post generates blank.

Is there any self-hostable solution on this? - or any documentation for the same?


PS: I think the discord chat url in the git isn't working ( at least for me )

Hey, can you tell me more about the issue you're facing with the blank responses? e.g what request you're making, how you're making it, etc

And yes, you can host the Jikan REST API yourself. Everything is open-source. :)
Refer to https://github.com/jikan-me/jikan-rest
You'll need Apache, PHP 7.2+ and Redis. Set up instructions are in the readme file on the repo.

The documentation for the REST API is here: https://jikan.docs.apiary.io/#

Discord: https://discordapp.com/invite/4tvCr36

The unofficial MyAnimeList REST API
Feb 15, 2019 6:34 PM
Offline
Dec 2018
2
Nekomata1037 said:
AnimeKaizoku said:
Great work,
Works smooth and stable - although sometimes we aren't able to pull data and the post generates blank.

Is there any self-hostable solution on this? - or any documentation for the same?


PS: I think the discord chat url in the git isn't working ( at least for me )

Hey, can you tell me more about the issue you're facing with the blank responses? e.g what request you're making, how you're making it, etc

And yes, you can host the Jikan REST API yourself. Everything is open-source. :)
Refer to https://github.com/jikan-me/jikan-rest
You'll need Apache, PHP 7.2+ and Redis. Set up instructions are in the readme file on the repo.

The documentation for the REST API is here: https://jikan.docs.apiary.io/#

Discord: https://discordapp.com/invite/4tvCr36


I'll drop you further details on Discord, I did try the rest api repo but wasnt able to get it to work.
Is php 7.2 a strict requirement here? - im on 7.1 atm.
Either way, will drop you the rest of the details over discord.
Feb 16, 2019 4:53 PM
Offline
Apr 2012
2
There seems to be a problem with grabbing user animelist data, such as for my personal list.

https://api.jikan.moe/v3/user/whysoocereal/animelist/all

returns:

{"error":"Failed to parse 'https://myanimelist.net/animelist/whysoocereal/load.json?offset=0&status=7'"}

Edit: This is no longer happening. It seems to be fixed as of 2/17/19 5pm EST
WhySooCerealFeb 17, 2019 2:19 PM
Feb 17, 2019 3:50 AM
Offline
Nov 2010
6
Nekomata1037 said:
You could either cache on your end or use the PHP wrapper for the REST API.
https://github.com/janvernieuwe/jikan-jikanPHP

The usage is entirely the same as of the PHP API. Except rather than parsing MAL, it sends requests to the REST API.

Works perfectly! Thanks for the help!
Feb 19, 2019 3:15 AM

Offline
Sep 2015
101
WhySooCereal said:
There seems to be a problem with grabbing user animelist data, such as for my personal list.

https://api.jikan.moe/v3/user/whysoocereal/animelist/all

returns:

{"error":"Failed to parse 'https://myanimelist.net/animelist/whysoocereal/load.json?offset=0&status=7'"}

Edit: This is no longer happening. It seems to be fixed as of 2/17/19 5pm EST

Hmm That's really weird. I'll scavenge the logs and see if I can find any errors for the duration it was failing to parse.

Prizem said:
Works perfectly! Thanks for the help!

Anytime!

The unofficial MyAnimeList REST API
Feb 21, 2019 7:18 PM
Offline
Jul 2018
559029
Could i use this to automate creating forum threads for my club?
Feb 21, 2019 8:34 PM

Offline
Sep 2015
101
seal308 said:
Could i use this to automate creating forum threads for my club?

Hey, good question. Unfortunately, you can not. The API is READ only. i.e, you can fetch information/data only and not perform any authenticated requests.
But feel free to use the API itself, if you've already a way to create threads and just want to fetch the data from Jikan.

The unofficial MyAnimeList REST API
Mar 20, 2019 9:13 AM

Offline
Mar 2017
2860
I found a bug. I'll fill out a proper bug report on github later when I get home.

Compare the following URLs:
https://api.jikan.moe/v3/anime/34340/stats/
https://myanimelist.net/anime/34340/Hikoichi_Tonchi_Banashi/stats
In summary, the vote values under Score Stats in the MAL link don't match the scores array in the json returned by Jikan. If I had to guess, it looks like Jikan isn't correctly handling the case where some of the scores have zero votes.

I tried a couple of manga entries with zero votes for some of the scores and the same thing happened.

Edit: Bug report has been submitted.

Edit #2: The problem has been fixed.
mwalimuApr 14, 2019 8:13 AM
A møøse once bit my sister...
Apr 16, 2019 3:43 AM
Offline
Oct 2017
14
hi, thanks for the great api
I was wondering how to sort user anime or manga list by score or last updated?
https://api.jikan.moe/v3/user/nameer94/animelist/completed
Apr 21, 2019 12:54 PM

Offline
Sep 2015
101
nameer94 said:
hi, thanks for the great api
I was wondering how to sort user anime or manga list by score or last updated?
https://api.jikan.moe/v3/user/nameer94/animelist/completed


Hi, sorry for the late response.
That's not currently possible with the Jikan API however you can directly use MAL's JSON API for lists to do this.

You can play around with the `order` and `order2` GET params to get these
purplepinapples said:

Some examples:

https://myanimelist.net/animelist/purplepinapples?status=1&order=12&order2=0 by episode progress

By air start date https://myanimelist.net/animelist/purplepinapples?status=1&order=14&order2=0

https://myanimelist.net/animelist/purplepinapples?order=5&status=1 last updated by user. This is different from user history as it doesnt require an episode change to be considered

Theres lots more, they can be found by clicking the filter button on the top right of modern lists



I'm not too active on the forums these days, consider joining our discord: https://discord.gg/4tvCr36

If not me, someone else would be able to respond :)

The unofficial MyAnimeList REST API
May 17, 2019 10:02 AM

Offline
Sep 2015
101
Jikan REST API v3.3 Release! - May 17th, 2019

Note: The base endpoint will remain /v3.
Semver is being used for the internal version of the API.

Links
- Documentation
- Source Changelog

Click here to read about the new features & changes (reddit.com/r/jikan)

Join us on Discord! - Report a bug


The unofficial MyAnimeList REST API
Jun 24, 2019 1:13 AM
Offline
Dec 2015
1
If by any change the genres mapping is still un accessible, here is a list of genres (in JSON) https://github.com/fernandochristyanto/myanimelist-masterdata-json

Hope it helps
Jun 29, 2019 4:52 AM

Offline
Sep 2015
101
Ferniant said:
If by any change the genres mapping is still un accessible, here is a list of genres (in JSON) https://github.com/fernandochristyanto/myanimelist-masterdata-json

Hope it helps

Hey, I'm curious as to what you mean regarding the genre mapping being unavailable?

The unofficial MyAnimeList REST API
Jul 12, 2019 6:39 AM
Offline
Jun 2010
2
Hey, Nekomata. Thanks for this great API! Is there any possibility to make genres included in response when getting some user's anime list? I mean, the response already includes much useful info, but genres are lacking and I need to make more requests to API to get it. Or is there any better way to get genres? Genre API is fine, but you still need to make requests and store genres in database to keep data actual. I need it for my MAL stats app.
Reply Disabled for Non-Club Members
Pages (3) « 1 2 [3]

More topics from this board

» [BUG] seasonal anime sort parameter

Skylake_ - Jul 15, 2022

1 by gnidmoo »»
Jan 4, 12:02 PM

» SslHandshakeTimeoutException: handshake timed out after 20000ms

demon10101 - Jan 3

0 by demon10101 »»
Jan 3, 3:36 AM

» I built a spotify-styled 'MyAnimeList Wrapped' for a yearly review of your anime and manga

XAvishkar - Dec 14, 2025

1 by Joeliazeers »»
Dec 17, 2025 1:01 PM

» [Repost] list of all relation_type and media_type.

Mr_UnknownOtaku - Dec 8, 2025

4 by -DxP- »»
Dec 12, 2025 8:43 AM

» How to get author name?

EdibleMuffin - Feb 12, 2025

4 by XAvishkar »»
Dec 8, 2025 9:52 AM
It’s time to ditch the text file.
Keep track of your anime easily by creating your own list.
Sign Up Login