MyMangaBase

MyMangaBase API

The MyMangaBase API is a read-only REST API that returns the catalogue's chapter-level data as JSON: number and titles in English, Japanese and romaji, Japanese release date, magazine issue, volume and ISBN, the characters who appear and the community rating.

It's built for what series-level sources don't cover: reading trackers, Discord bots that announce new chapters, reading apps or data analysis. Series and chapter records include where each piece of data came from and under which license, so you can attribute it without guessing.

RESTJSONRead-onlyHTTPS

Base URL: https://mymangabase.com/api/v1

Plans

*taxes not included

Every plan has the same endpoints and the same data; only the number of calls per month changes. The quota resets once a month.

Free

Free
  • 1,000 calls per month
  • Every endpoint
  • Remaining quota in every response
  • Source and license for every field
Get a key

Business

$150/month*
  • 2,000,000 calls per month
  • Every endpoint
  • Remaining quota in every response
  • Source and license for every field
Subscribe

Ran out of quota mid-month? On Pro and Business, you can buy extra requests for an additional fee.

Keys are created from the API dashboard

Technical documentation

Authentication

Every request carries your key in the x-api-key header. Authorization: Bearer is accepted too. With no key, or an invalid or revoked one, the response is 401.

curl "https://mymangabase.com/api/v1/series/one-piece" \
  -H "x-api-key: $MMB_API_KEY"

# or
curl "https://mymangabase.com/api/v1/series/one-piece" \
  -H "Authorization: Bearer $MMB_API_KEY"

Response format

  • Every response is UTF-8 JSON.
  • Dates are ISO 8601 in UTC, for example 2026-09-04T00:00:00.000Z.
  • A value that isn't known yet is null: the field is always present, even when empty.
  • Ratings go from 1 to 10. average is the plain mean; bayesian adjusts it by the number of votes, so a chapter with two high votes doesn't outrank one with a hundred. count is the number of votes; with no votes both ratings are 0.
  • Series are identified by their slug (one-piece) and chapters by their id, a UUID returned by the chapter list.

Quota and headers

Every request with a valid key uses one call from the period's quota, shared by all the keys on your account. Once it runs out, the API answers 429 until the next period starts or you buy an extra pack from the dashboard. Each plan also has a per-second limit (3 on Free, 10 on Pro, 30 on Business). Every response carries these headers:

x-quota-limit: 100000The period's total calls, including extra packs.
x-quota-remaining: 99982Calls left in the current period.
x-quota-reset: 2026-10-14T18:03:11.000ZWhen the quota resets (ISO 8601, UTC).
x-plan: PROYour account's plan: FREE, PRO or BUSINESS.
cache-control: private, max-age=300Your client may cache the response for up to 5 minutes. It's private: don't store it in a shared cache.

Errors

An error responds with its HTTP status and an object holding a message and a stable code, which is what your program should check:

{
  "error": "Monthly quota exhausted. Buy an extra pack or upgrade your plan in your dashboard.",
  "code": "quota_exhausted",
  "dashboard_url": "https://mymangabase.com/developers/dashboard",
  "resets_at": "2026-10-14T18:03:11.000Z"
}
StatusWhen
401The key is missing, invalid or revoked.
404The series or chapter doesn't exist.
429quota_exhausted: the period's quota ran out (includes dashboard_url and resets_at). rate_limited: too many requests per second; wait for Retry-After.

Endpoints

Search series

GET/api/v1/series

Lists catalogue series ordered by title. With q it returns only those whose romaji title contains that text; the search is case-sensitive.

ParameterTypeDefaultDescription
qstring—Text to look for in the romaji title.
limitinteger25How many series to return, up to 100.

Request

curl "https://mymangabase.com/api/v1/series?q=One&limit=2" \
  -H "x-api-key: $MMB_API_KEY"

Response

{
  "data": [
    {
      "slug": "one-piece",
      "title": {
        "romaji": "One Piece",
        "english": "One Piece",
        "native": "ONE PIECE"
      },
      "status": "RELEASING",
      "magazine": "Weekly Shōnen Jump",
      "start_year": 1997,
      "chapter_count": 1192,
      "external_ids": {
        "anilist": 30013,
        "mal": 13,
        "mangaupdates": "pb8uwds"
      }
    }
  ]
}

Series record

GET/api/v1/series/:slug

The full record: titles, authors, magazine, publisher, status, genres, volumes with ISBN and date, the AniList, MyAnimeList and MangaUpdates ids, and the data sources.

ParameterTypeDefaultDescription
:slugstringrequiredThe series slug, for example one-piece.

Request

curl "https://mymangabase.com/api/v1/series/one-piece" \
  -H "x-api-key: $MMB_API_KEY"

Response

{
  "slug": "one-piece",
  "title": {
    "romaji": "One Piece",
    "english": "One Piece",
    "native": "ONE PIECE"
  },
  "authors": [
    "Eiichiro Oda"
  ],
  "artists": [
    "Eiichiro Oda"
  ],
  "magazine": "Weekly Shōnen Jump",
  "publisher": "Shueisha",
  "status": "RELEASING",
  "start_year": 1997,
  "chapter_count": 1192,
  "genres": [
    "action",
    "adventure",
    "fantasy",
    "pirate-fiction"
  ],
  "volumes": [
    {
      "number": 1,
      "isbn": "4-08-872509-3",
      "release_date": "1997-12-24T00:00:00.000Z"
    },
    {
      "number": 2,
      "isbn": "4-08-872544-1",
      "release_date": "1998-04-03T00:00:00.000Z"
    }
  ],
  "external_ids": {
    "anilist": 30013,
    "mal": 13,
    "mangaupdates": "pb8uwds"
  },
  "sources": [
    {
      "source": "ANILIST",
      "name": "AniList",
      "url": "https://anilist.co/manga/30013",
      "license": "factual",
      "fields": [
        "titleRomaji",
        "titleNative",
        "authors",
        "magazine",
        "startYear"
      ]
    },
    {
      "source": "WIKIPEDIA",
      "name": "Wikipedia",
      "url": "https://en.wikipedia.org/wiki/List_of_One_Piece_chapters_(1016%E2%80%93current)",
      "license": "CC BY-SA 4.0",
      "fields": [
        "titleEnglish",
        "titleNative",
        "titleRomaji",
        "volumeId",
        "isbn",
        "releaseDate"
      ]
    }
  ]
}

Chapters of a series

GET/api/v1/series/:slug/chapters

Chapters ordered by number, with titles, volume, date, synopsis and rating. total is the series' chapter count: page through them with limit and offset.

ParameterTypeDefaultDescription
:slugstringrequiredThe series slug.
limitinteger100How many chapters to return, up to 500.
offsetinteger0How many chapters to skip from the start.

Request

curl "https://mymangabase.com/api/v1/series/one-piece/chapters?limit=2&offset=1000" \
  -H "x-api-key: $MMB_API_KEY"

Response

{
  "total": 1192,
  "offset": 1000,
  "limit": 2,
  "data": [
    {
      "id": "522fe676-166f-4560-b8ba-8023f1a92d83",
      "number": 1001,
      "slug": "1001",
      "title": {
        "english": "Battle of Monsters on Onigashima",
        "native": "鬼ヶ島怪物決戦",
        "romaji": "Onigashima Kaibutsu Kessen"
      },
      "volume": 99,
      "magazine_issue": null,
      "jp_release_date": null,
      "page_count": null,
      "is_extra": false,
      "synopsis": null,
      "rating": {
        "average": 0,
        "bayesian": 0,
        "count": 0
      }
    },
    {
      "id": "2aceff2d-3f84-4382-9140-05c904c0ad94",
      "number": 1002,
      "slug": "1002",
      "title": {
        "english": "Four Emperors vs. New Generation",
        "native": "四皇VS新世代",
        "romaji": "Yonkō Bāsasu Shinsedai"
      },
      "volume": 99,
      "magazine_issue": null,
      "jp_release_date": null,
      "page_count": null,
      "is_extra": false,
      "synopsis": null,
      "rating": {
        "average": 8.2,
        "bayesian": 7.66332,
        "count": 15
      }
    }
  ]
}

A chapter

GET/api/v1/chapters/:id

Everything about one chapter: the list data plus its releases (magazine, volume, digital), the characters who appear and the sources.

ParameterTypeDefaultDescription
:idstringrequiredThe chapter id, returned by the chapter list.

Request

curl "https://mymangabase.com/api/v1/chapters/2aceff2d-3f84-4382-9140-05c904c0ad94" \
  -H "x-api-key: $MMB_API_KEY"

Response

{
  "id": "2aceff2d-3f84-4382-9140-05c904c0ad94",
  "series": {
    "slug": "one-piece",
    "titleRomaji": "One Piece"
  },
  "number": 1002,
  "title": {
    "english": "Four Emperors vs. New Generation",
    "native": "四皇VS新世代",
    "romaji": "Yonkō Bāsasu Shinsedai"
  },
  "volume": {
    "number": 99,
    "isbn": "978-4-08-882691-2"
  },
  "magazine_issue": null,
  "jp_release_date": null,
  "page_count": null,
  "synopsis": null,
  "rating": {
    "average": 8.2,
    "bayesian": 7.66332,
    "count": 15
  },
  "releases": [
    {
      "kind": "MAGAZINE",
      "language": "ja",
      "group": null,
      "date": null
    }
  ],
  "characters": [
    {
      "id": "…",
      "slug": "monkey-d-luffy",
      "name": "Monkey D. Luffy",
      "role": "MAIN"
    }
  ],
  "sources": [
    {
      "source": "WIKIPEDIA",
      "url": "https://en.wikipedia.org/wiki/List_of_One_Piece_chapters_(1016%E2%80%93current)",
      "license": "CC BY-SA 4.0",
      "fields": [
        "titleEnglish",
        "titleNative",
        "titleRomaji"
      ]
    }
  ]
}

Recently released

GET/api/v1/weekly

Chapters released in the last few days, newest first, up to 200. When a chapter has no date of its own the date of the volume collecting it is used, and date_source says which one it is: chapter or volume.

ParameterTypeDefaultDescription
daysinteger7How many days back, up to 60.

Request

curl "https://mymangabase.com/api/v1/weekly?days=30" \
  -H "x-api-key: $MMB_API_KEY"

Response

{
  "since": "2026-08-16T14:01:38.672Z",
  "data": [
    {
      "id": "1d2bce5e-4eb9-48e3-be02-39446134eddc",
      "series": {
        "slug": "kagurabachi",
        "titleRomaji": "Kagurabachi"
      },
      "number": 113,
      "title": "Rock",
      "jp_release_date": "2026-09-04T00:00:00.000Z",
      "date_source": "volume",
      "rating": {
        "bayesian": 0,
        "count": 0
      }
    }
  ]
}

Sources and licenses

Series and chapter records carry sources: the source of each group of fields, its URL and its license. Part of the data comes from CC BY-SA sources, which require attribution if you display it; sources gives you everything you need to do so.

See every source