BYTETOOLS

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.

No API key requiredHTTPSFree tier

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
curl 'https://api.mangadex.org/manga?limit=1'
JavaScript (fetch)
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);
Python (requests)
import requests

res = requests.get("https://api.mangadex.org/manga?limit=1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "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-kamawa

Parameters

ParameterTypeRequiredDescription
limitqueryOptionalResults per page, up to 100. 1
offsetqueryOptionalOffset for paging. 0
titlequeryOptionalSearch by title across all language variants. berserk
includes[]queryOptionalExpand related entities in the same response, such as `cover_art` or `author`. cover_art
availableTranslatedLanguage[]queryOptionalOnly titles with chapters in a given language. en
contentRating[]queryOptionalFilter 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

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.