MangaDex API
Free manga API with no key: search titles with multilingual names, descriptions, tags, status and demographics across a large community-maintained database. Tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the MangaDex API?
MangaDex exposes its manga database through a public REST API needing no key for reads. Each title returns its names and alternative titles keyed by language, descriptions in multiple languages, genre tags, publication status and demographic.
The multilingual structure is the thing to understand before anything else. `title`, `altTitles` and `description` are all objects keyed by language code — `en`, `ja`, `ja-ro` for romanised Japanese, `zh` and so on — rather than plain strings. A title may have no English entry at all, in which case you fall back to the romanised Japanese, and code that assumes `title.en` exists will produce blanks across a decent share of the catalogue.
Everything else follows a consistent JSON:API-style envelope: `result` and `response` at the top, then `data` holding objects with `id`, `type` and `attributes`. Relationships to authors, artists and cover art are returned as references rather than embedded, so you add `includes[]=cover_art` to get them expanded in the same request instead of making a second round trip. Reads need no authentication, though MangaDex asks for a descriptive User-Agent and applies rate limits per endpoint.
Quick facts
- Base URL
https://api.mangadex.org- Authentication
- No API key for public reads. A user account and OAuth are needed for personal lists, follows and uploads.
- Rate limit
- Per-endpoint limits are enforced and reported in response headers. A descriptive User-Agent is requested.
- Pricing
- Free. MangaDex is community-run and ad-free.
- CORS
- Not enabled — call it from your server
- Official docs
- Read the docs
How to use the MangaDex API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Search the manga database
GET https://api.mangadex.org/manga?limit=1
curl 'https://api.mangadex.org/manga?limit=1'const res = await fetch("https://api.mangadex.org/manga?limit=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.mangadex.org/manga?limit=1", timeout=20)
res.raise_for_status()
print(res.json()){
"result": "ok",
"response": "collection",
"data": [
{
"id": "843c31ff-d390-4199-bc3b-94b0dfc63632",
"type": "manga",
"attributes": {
"title": {
"ja-ro": "Baki Gaiden - Retsu Kaiou wa Isekai Tensei Shitemo Ikkou ni Kamawan"
},
"altTitles": [
{
"ja": "バキ外伝 烈海王は異世界転生しても一向にかまわんッッ"
},
{
"en": "Baki Side Story: Retsu Kaioh Doesn't Mind Even If It's in Another World"
},
{
"en": "Baki Side Story: Retsu Kaioh Doesn't Mind If He is Reincarnated in Another World"
},
{
"zh": "刃牙外传 烈海王对于转生异世界一向是无所谓的"
}
],
"description": {
"en": "After the events of Baki-Dou, the famous Kenpo master Retsu Kaioh wakes up in a new world unknown to him.\n___\n**Note:** This is the official entry, not to be confused with the Doujinshi from Twitter user @sakuramankiti.",
"ja": "同作は板垣の「グラップラー刃牙」シリーズに登場する、烈海王を主人公としたスピンオフ。今号には一挙3話掲載されており、本編で命を落とした烈が異世界に転生して戸惑うさまや、同じく「刃牙」の世界から転生したある人物と出会うシーンなどが描かれている。陸井は月刊少年チャンピオンで連載していた「月チャン編集部の秋田書店オンラインストア向上委員会」の中で烈海王の異世界転生ものを連載したい旨をアピールしていたため、このたびそれが実現した形だ。今号のカラーページには、担当編集者が連載の企画書を板垣に持ち込んだ際のレポートも掲載されており、板垣は連載の許可について特に返答していないものの、編集部は「最終手段。非公認のまま始めます!!」としている。",
"pt-br": "Após os eventos de Baki-Dou, o famoso mestre do Kempo chinês Retsu Kaioh acorda em um novo mundo desconhecido para ele."
},
"isLocked": false,
"links": {
"al": "134065",
"ap": "baki-gaiden-retsu-kaioh-isekai-tensei-shitemo-ikkou-kamawaParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | query | Optional | Results per page, up to 100. 1 |
offset | query | Optional | Offset for paging. 0 |
title | query | Optional | Search by title across all language variants. berserk |
includes[] | query | Optional | Expand related entities in the same response, such as `cover_art` or `author`. cover_art |
availableTranslatedLanguage[] | query | Optional | Only titles with chapters in a given language. en |
contentRating[] | query | Optional | Filter by content rating. Setting this explicitly is advisable for any public-facing app. safe |
Response fields
resultstring- `ok` on success, `error` otherwise. Check it before reading `data`.
responsestring- `collection` for a list response, `entity` for a single object.
dataarray- The matching manga.
data[].idstring- UUID for the title, used in every other endpoint.
data[].typestring- Object type, `manga` here.
data[].attributes.titleobject- Keyed by language code. May have no `en` key at all — fall back to `ja-ro` for romanised Japanese.
data[].attributes.altTitlesarray- Alternative titles, each an object with a single language key. Useful for search matching.
data[].attributes.descriptionobject- Descriptions keyed by language, with the same fallback caveat as the title.
data[].attributes.status / year / publicationDemographicstring / integer- Publication status, start year and target demographic such as shounen or seinen.
data[].attributes.tagsarray- Genre and theme tags, each a full object with its own multilingual names.
data[].attributes.contentRatingstring- Content rating. Filter on it explicitly rather than relying on the default.
data[].relationshipsarray- References to author, artist and cover art. Expand them with `includes[]` rather than making extra requests.
What you can build with the MangaDex API
- Build a manga tracking or reading-list application
- Search titles across their Japanese, romanised and English names at once
- Analyse publication status and demographics across a genre
- Fetch cover art alongside metadata in a single request
Common errors and how to fix them
Blank titles
`title.en` does not exist for every entry.
Fix: Fall back through `en`, then `ja-ro`, then the first available key. This affects a substantial share of the catalogue.
Extra requests for cover art
Relationships are references, not embedded objects.
Fix: Add `includes[]=cover_art` to expand them in the same response.
429
Per-endpoint rate limits are enforced.
Fix: Read the rate limit headers and back off. Sending a descriptive User-Agent is also requested.
Unexpected content
The default content rating filter may be broader than you want.
Fix: Set `contentRating[]` explicitly for anything public-facing rather than relying on defaults.
MangaDex API — frequently asked questions
Does the MangaDex API need a key?
No key for public reads. An account and OAuth are needed only for personal lists, follows and uploading.
Why is the title an object rather than a string?
Because titles exist in several languages and scripts. It is keyed by language code, and many entries have no English key at all — fall back to `ja-ro` for the romanised Japanese form.
How do I get cover images?
Add `includes[]=cover_art` to the request. Relationships come back as bare references otherwise, and expanding them in one request is far cheaper than a second call.
Is there a rate limit?
Yes, enforced per endpoint and reported in response headers. MangaDex also asks that clients send a descriptive User-Agent identifying the application.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Strip HTML Tags
Remove all HTML tags and convert markup to clean plain text. Decode HTML entities and keep line breaks for block elements like paragraphs and headings.
Compare Two Lists
Paste two lists and instantly see items in both, only in list A, only in list B, and the combined set — with case-insensitive and trim options.
MangaDex is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.