Author Dev news: Launching API version 2 (also v1 deprecation notice) | Last updated 2020-11-28
Teasday OP
Developer
Avatar
For the average MangaDex user, I doubt this announcement will be super relevant! You may be more interested in reading our previous announcement if you haven't already.

Launching API v2
For any developers looking at doing stuff with our data, however, we have an update to our API, making it hopefully much less of a headache to use. The previous version should be considered deprecated, but it is currently reachable at the same old URLs and is still actually in use by our reader (haven't bothered to update that thing yet), but regardless, we are planning on scrapping it eventually for performance reasons so please migrate your current code to v2.

https://mangadex.org/api/v2/

The API index should speak for itself. Documentation in JSON isn't necessarily the absolute best way to go about it, but I'm sure it's clear enough for you guys.

Now, this API is not complete and most likely won't ever entirely be. We wrote it as somewhat of a stopgap measure to both improve usability for 3rd parties as well as to create a solid base for us to work on a couple of features for the current site while we're doing the entire site rework, known as MangaDex v5. Future endpoints should include at least one for the latest updates (i.e. the frontpage chapter listing) among other , but if you have requests or improvement suggestions, let us know. By the way, you should expect the API to change again for v5 so sorry about that, but this version at least resembles the approach we're taking with that one.

Financial Situation and Contest
Finally, I'd like to quickly echo a couple of points from our previous announcement (which you can read for more information) just in case you missed it:
- After the donations unfortunately dried up due to our moving away from PayPal as well as the Current World Situation, we would greatly appreciate any crypto donations you could spare in order to keep the site running. Check out the Support page. We would be similarly grateful if you decided to sign up to host a MD@H server.
- We are holding our third Mega Anniversary Contest, so go ahead and take part in that as well for a chance to win some prizes, including a $50 Amazon/Steam gift card!

Changelog

2020-11-28
- [Breaking] Changed the format of shownChapterLangs and excludedTags in /user/{id}/settings to be in line with their proper entity formats
- Added mangaTitle to /user/{id}/followed-manga

2020-11-26
- Fixed the groups field in the chapter entity sometimes showing up as an object instead of an array (thanks to php's array_filter not working as I expected it to)
- Fixed a problem that lead to chapter lists unexpectedly sometimes returning only 100 items due to a caching conflict
- Implemented a user's MDList privacy setting applying to the required authorization of GET /user/{id}/followed-manga

2020-11-18
- Fixed chapter list pagination by using the p parameter returning results from the wrong offset
- Fixed chapter views being incremented even when the chapter was unavailable to the user

2020-11-10
- [Breaking] Changed the { id: "name" } groups map in chapter listings to an array of simple group entities[ { id, name } ] so that it's in line with the rest of the api
- [Breaking] Moved the read parameter in POST /user/{id}/marker from the query to the body
- Fixed lastChapter always returning null in the manga endpoint
- Added uploader user ID and views to chapter entities
- Added a short explanation about authentication to the description field in the index
- Added /relations to describe the available manga relation types
- Added /follows to describe the available follow types (consider this temporary, we may rework the endpoint)
Last edited 6 days ago by Teasday.
Avatar
I dunno but throwing crypto at you sounds like a pain. Any recommendation for things I can go through some other system like cash to crypto/paypal-crypto/bank transfer/etc?
Avatar
will we be able to get our current bookmarked manga moved over to that new mangadex once it is ready?
Avatar
@AVTE Hey there, I won't garuentee my informatio is absolutely correct, so take it with a bit of salt. Firstly, i don't think any of your bookmarks or saved manga will be affected. There would be an outrage otherwise
This is mostly an API upgrade, also take note, they mentioned Migrating.
Teasday OP
Developer
Avatar
@zeen3 posted:

I dunno but throwing crypto at you sounds like a pain. Any recommendation for things I can go through some other system like cash to crypto/paypal-crypto/bank transfer/etc?

Well, we did write up the Bitcoin support guide a while back, but I'd say for obvious reasons we can't exactly directly tell you what should you do with your money or anything.

@AVTE posted:

will we be able to get our current bookmarked manga moved over to that new mangadex once it is ready?

Yeah, all the data will be moved over, of course. That's not going to be relevant for a while anyway.
Avatar
good! now, how about make the manga pages more light using webp?
Avatar
Has the crypto guide been updated for the PayPal crypto stuff yet? I got approved for their beta but haven't donated cause I have no idea what I am doing T. T.
Avatar
@cronored what are you, a Google's witness?
Avatar
Has anything significantly changed since the last time webp format was suggested and rejected?
Plykiya
Developer
Avatar
@comeonnow0 @cronored https://caniuse.com/webp still a hell of a lot of apple users not supported, a non-trivial amount given how many million visitors we have a month
Last edited 29 days ago by Plykiya.
Avatar
You don't have any information about how to donate.. How about posting Wallet IDs for cryptos?
Plykiya
Developer
Avatar
@eilif The donation information was on the previous announcement, where it mentioned the Support page.
Avatar
Thanks. :)
Avatar
I feel that the manga/{id}/chapters object doesnt really work, with most Json APIs they assume that the keys are mappable to static json structures, but the way groups are handled with it is really weird and not deserialization to a object, as the key is the group id, which cant be deserialized to a object unless we add every group id to the template object. I suggest making it a list like chapter/{id} has, a json array of the group object, so we can map each group id to a value through the common id after deserialization
Last edited 29 days ago by Jobobby04.
Avatar
Lymus' Christmas profile pic is freaky. I guess that's what happens when he takes off the mask.
Teasday OP
Developer
Avatar
@Plykiya posted:

The donation information was on the previous announcement, where it mentioned the Support page.

added to op

@Jobobby04 posted:

I feel that the manga/{id}/chapters object doesnt really work, with most Json APIs they assume that the keys are mappable to static json structures, but the way groups are handled with it is really weird and not serializable to a object, as the key is the group id, which cant be deserialized to a object unless we add every group id to our template object. I suggest making it a list like chapter/{id} has, a json array of the group object

You're completely right, it was a lazy job. I'll update it by tomorrow hopefully.
Avatar
Oh God I never knew there was an API at all. and I stupidly complained why there weren't any all the time.

Is there any rule on the usage? I mean, can we just build another website that serve the same content as you guys without any restriction?
Avatar
The API index should speak for itself. Documentation in JSON isn't necessarily the absolute best way to go about it, but I'm sure it's clear enough for you guys.

It's better than not having any documentation. Thanks for this, great work!
Avatar
I went through all the endpoints. Can confirm, I can understand it without difficulty.
Avatar
@lydd as the op said the API is incomplete, building another website would be tricky

It's neat that there is an API though, I have a project idea 😀
Thanks for all the hard work on the site!