Forum Settings
Forums
New
Jun 23, 2017 8:36 AM
#1
Offline
Jul 2014
11
There is an undocumented JSON API used for loading items in the new list style. Example URL: https://myanimelist.net/animelist/qgustavor/load.json?offset=0&status=7&order=5

It's better than malappinfo.php in some points: it uses JSON, it accepts the sorting and filtering features from the new list style, it returns more info about the entries, it uses pagination (so you don't need to load all entries, saving resources).

There are few bad points: it don't includes statistics, synonyms, last modified date and linked images have a lower resolution.

Example how it can be used: MyAnimeList clients can load the first page of the list, sorted by "Last Updated" then update only the changed entries since the last synchronization, which is faster and more resource saving than loading again all entries, what happens currently.

Even if those great features and being no news for many people I still don't saw any applications using it. There is some reason on that? Can it be already be used by applications or not? Can it be considered stable? There is a plan to version this API? And finally, when the bad points get fixed will malappinfo.php be deprecated?
Reply Disabled for Non-Club Members
Jun 23, 2017 12:24 PM
#2

Offline
Mar 2012
158
qgustavor said:

There are few bad points: it don't includes statistics, synonyms, last modified date and linked images have a lower resolution.


It's custom-made for the list view, so I don't expect it to contain full title info. For the image sizes, remove the "r/*/" part of the URL and you'll get the full-size image.


qgustavor said:

Even if those great features and being no news for many people I still don't saw any applications using it. There is some reason on that?


It's even less documented than malappinfo.php, and switching to it would require rewriting a bunch of currently working code.


qgustavor said:

Can it be already be used by applications or not?


Can it be? Sure. Should it be? Probably not. It's an internal tool that is subject to major change and can thus break code depending on it without notice. Not like HTML scraping doesn't suffer from this, though.

qgustavor said:

Can it be considered stable?


I personally wouldn't consider it stable.


qgustavor said:

There is a plan to version this API?


I would guess not, given it's for internal use.


qgustavor said:

And finally, when the bad points get fixed will malappinfo.php be deprecated?


malappinfo.php has been deprecated for years (almost a decade). It's also not really part of the public API, but it's remained semi-stable.

The only public API is documented at https://myanimelist.net/modules.php?go=api

Everything else being used by developers are internal interfaces that are undocumented (ajax.php anyone?) and subject to change wildly without notice.

This doesn't mean you shouldn't use them. It would be impossible to get a user's list without using internal interfaces. However, it's important to recognize that it's not intended for external use and can go away or change at any time, breaking anything depending on it.
Developer, sysadmin, and anime addict.
Have an Android smartphone? Try Atarashii!
Jun 23, 2017 2:34 PM
#3
Offline
Jul 2014
11
motoko said:
It's even less documented than malappinfo.php, and switching to it would require rewriting a bunch of currently working code.


I don't think so, at least in the code I implemented as the malappinfo.php XML is first serialized into the internal format and implementing the JSON format would follow the same way. But as it depends on the implementation probably there are implementations where it would be harder.

The following four questions are targeted to developers... let me explain better, in case they have plans on turning this API into a public API. As no one said nothing about that seems there are no plans...

I'm planning to suggest an application to use this internal API, as it currently uses malappinfo.php and because of that it's slow on lists with many anime (and mine isn't that huge). Even if the application developers implements something to normalize the old, more documented, API and also handle any breaking changes (like a proxy server between MyAnimeList and the client) it can help a bit (considering it haves a faster internet than mine and implements pagination).

Depending on the implementation it can be an easy change, but I think would be better asking about it here before.
Reply Disabled for Non-Club Members

More topics from this board

» Which endpoints support nsfw query param?

crimson-megumin - Apr 21

1 by ZeroCrystal »»
9 hours ago

» Cant build the URL

tamcio_ - Dec 4, 2022

4 by Jotzy »»
Yesterday, 4:35 AM

» I made a new anime recommendation system for MyAnimeList

Asudox - Mar 21

4 by Asudox »»
Apr 11, 2:58 PM

» API Rate Limit?

Asudox - Jan 23

7 by pepeefirat »»
Mar 23, 3:57 AM

» Some Animes Missing on API Reponse

Niccol0 - Jan 26

3 by ZeroCrystal »»
Mar 15, 3:44 PM
It’s time to ditch the text file.
Keep track of your anime easily by creating your own list.
Sign Up Login