# MangaUpdates API
> Series data, community ratings and scanlation-release tracking from MangaUpdates (mangaupdates.com), the long-running reference database for manga, manhwa, manhua and light novels, read keyless from its public v1 API. MangaUpdates is the catalogue the manga-reading community has used for two decades to rate series, track which chapters have been scanlated by which groups, and rank what is popular — distinct from a reader/scanlation site (MangaDex) and from the anime-first databases (MyAnimeList, AniList). The search endpoint finds series by title. The series endpoint returns one series' full profile by its MangaUpdates id: its type (manga/manhwa/manhua/novel), year, completion status, its community Bayesian rating and vote count, its popularity rank over the last week, month, quarter, half-year and year, latest chapter, genres, categories, authors, publishers and description. The releases endpoint returns the most recent scanlation releases matching a title — the volume, chapter, scanlation group and date — newest first, the feature MangaUpdates is known for. This is the MangaUpdates cut — a distinct social and reference platform for comics, separate from MangaDex and the anime feeds in the catalogue. Ratings and ranks are MangaUpdates' own community metrics; a short cache fronts the upstream. Keyless.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/mangaupdates-api/..."
```

## Pricing
- **Free** (Free) — 750 calls/Mo, 2 req/s
- **Starter** ($29/Mo) — 69,000 calls/Mo, 6 req/s
- **Pro** ($77/Mo) — 485,000 calls/Mo, 16 req/s
- **Scale** ($212/Mo) — 2,950,000 calls/Mo, 40 req/s

## Endpoints

### Search

#### `GET /v1/search` — Search series by title

**Parameters:**
- `q` (query, required, string) — Series title to search Example: `one piece`
- `limit` (query, optional, string) — Max results (1-40) Example: `15`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/mangaupdates-api/v1/search?q=one+piece&limit=15"
```

**Response:**
```json
{
    "data": {
        "note": "MangaUpdates series matching a title search — each with its series_id (use it with /v1/series for the full profile incl. latest chapter and ranks), title, type (manga/manhwa/manhua/novel), year and community rating. Pass q (required) and limit (1-40). Live, cached ~5m.",
        "count": 15,
        "query": "one piece",
        "source": "MangaUpdates public v1 API (api.mangaupdates.com/v1/series/search), keyless",
        "results": [
            {
                "url": "https://www.mangaupdates.com/series/pb8uwds/one-piece",
                "type": "Manga",
                "year": 1997,
                "image": "https://cdn.mangaupdates.com/image/i517997.jpg",
                "title": "One Piece",
                "rating": 8.89,
                "series_id": 55099564912
            },
            {
                "url": "https://www.mangaupdates.com/series/g0me7cg/odekake-one-piece",
                "type": "Manga",
                "year": 2015,
                "image": "https://cdn.mangaupdates.com/image/i239965.jpg",
                "title": "Odekake One Piece",
                "rating": null,
                "series_id": 34866131632
            },
            {
                "url": "https://www.mangaupdates.com/series/mqu6otf/one-piece-party",
                "type": "Manga",
                "year": 2014,
                "image": "https://cdn.mangaupdates.com/image/i335811.jpg",
                "title": "One Piece Party",
          
…(truncated, see openapi.json for full schema)
```

### Series

#### `GET /v1/series` — One series' full profile by id

**Parameters:**
- `series_id` (query, required, string) — Numeric MangaUpdates series id Example: `55099564912`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/mangaupdates-api/v1/series?series_id=55099564912"
```

**Response:**
```json
{
    "data": {
        "url": "https://www.mangaupdates.com/series/pb8uwds/one-piece",
        "note": "One series' full MangaUpdates profile: its type, year, completion status, community Bayesian rating and vote count, its popularity rank over the last week/month/quarter/half-year/year, latest chapter, genres, top categories, authors and publishers. rating and popularity_rank are MangaUpdates' own community metrics. Live, cached ~5m.",
        "type": "Manga",
        "year": 1997,
        "image": "https://cdn.mangaupdates.com/image/i517997.jpg",
        "title": "One Piece",
        "genres": [
            "Action",
            "Adventure",
            "Comedy",
            "Drama",
            "Fantasy",
            "Shounen"
        ],
        "rating": 8.89,
        "source": "MangaUpdates public v1 API (api.mangaupdates.com/v1/series), keyless",
        "status": "114 Volumes (Ongoing)",
        "authors": [
            "ODA Eiichiro"
        ],
        "licensed": true,
        "completed": false,
        "has_anime": true,
        "series_id": 55099564912,
        "categories": [
            "Pirate/s",
            "World Travel",
            "Special Ability/ies",
            "Adapted to Anime",
            "Teamwork",
            "Banding Together",
            "Ambitious Goal/s",
            "Sailing",
            "Treasure Hunt",
            "Ocean",
            "Extended Flashbacks",
            "Time Skip"
        ],
        "publishers": [
            "MANGA 
…(truncated, see openapi.json for full schema)
```

### Releases

#### `GET /v1/latest` — The whole platform's recent releases firehose

**Parameters:**
- `days` (query, optional, string) — Days back (1-7, default 1) Example: `1`
- `limit` (query, optional, string) — Max releases (1-50) Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/mangaupdates-api/v1/latest?days=1&limit=25"
```

**Response:**
```json
{
    "data": {
        "days": 1,
        "note": "Every scanlation release added to MangaUpdates in the last N days (1-7, default 1), across the whole platform — each with its series title, volume, chapter, the scanlation group(s) and the date. The site-wide release firehose (distinct from /v1/releases, which is per-title). Live, cached ~5m.",
        "count": 25,
        "source": "MangaUpdates public v1 API (api.mangaupdates.com/v1/releases/days), keyless",
        "releases": [
            {
                "title": "Surviving the Game as a Barbarian",
                "groups": [
                    "LINE Webtoon"
                ],
                "volume": null,
                "chapter": "147",
                "release_date": "2026-06-13"
            },
            {
                "title": "Life of a Demon Hunter",
                "groups": [
                    "LINE Webtoon"
                ],
                "volume": null,
                "chapter": "6",
                "release_date": "2026-06-13"
            },
            {
                "title": "Born to Be the Grand Duchess",
                "groups": [
                    "LINE Webtoon"
                ],
                "volume": null,
                "chapter": "32",
                "release_date": "2026-06-13"
            },
            {
                "title": "Aiming for the Alimony",
                "groups": [
                    "LINE Webtoon"
                ],
                "volume": null
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/releases` — Recent scanlation releases for a title

**Parameters:**
- `q` (query, required, string) — Series title Example: `one piece`
- `limit` (query, optional, string) — Max releases (1-50) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/mangaupdates-api/v1/releases?q=one+piece&limit=20"
```

**Response:**
```json
{
    "data": {
        "note": "The most recent scanlation releases matching a title, newest first — each with its series title, volume, chapter, the scanlation group(s) that released it and the date. This is MangaUpdates' signature release-tracking feed. Pass q (required) and limit (1-50). Live, cached ~5m.",
        "count": 20,
        "query": "one piece",
        "source": "MangaUpdates public v1 API (api.mangaupdates.com/v1/releases/search), keyless",
        "releases": [
            {
                "title": "One Piece",
                "groups": [
                    "Viz",
                    "MANGA Plus"
                ],
                "volume": null,
                "chapter": "1180",
                "series_id": null,
                "release_date": "2026-04-19"
            },
            {
                "title": "One Piece",
                "groups": [
                    "Viz",
                    "MANGA Plus"
                ],
                "volume": null,
                "chapter": "1179",
                "series_id": null,
                "release_date": "2026-04-05"
            },
            {
                "title": "One Piece",
                "groups": [
                    "Viz",
                    "MANGA Plus"
                ],
                "volume": null,
                "chapter": "1177",
                "series_id": null,
                "release_date": "2026-03-22"
            },
            {
                "title": "One Piece"
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Service metadata

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/mangaupdates-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "search takes q (a title) and limit (1-40). series takes series_id (a numeric MangaUpdates id). releases takes q (a title) and limit (1-50). meta takes no parameters. rating is MangaUpdates' community Bayesian rating (0-10); popularity_rank values are positions (lower = more popular). A short ~5-minute cache fronts the upstream.",
        "sample": {
            "title": "One Piece",
            "rating": 8.89
        },
        "source": "MangaUpdates public v1 API (api.mangaupdates.com/v1), keyless, live",
        "service": "mangaupdates-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/search": "Search series by title (q=one piece).",
            "GET /v1/series": "One series' full profile by id (series_id=55099564912).",
            "GET /v1/releases": "Recent scanlation releases matching a title, newest first (q=one piece)."
        },
        "description": "Series data, community ratings and scanlation-release tracking from MangaUpdates (mangaupdates.com), the long-running reference database for manga, manhwa, manhua and light novels, keyless. The search endpoint finds series by title; the series endpoint returns one series' full profile by id (type, year, completion, community rating and votes, popularity rank over week/month/quarter/half-year/year, latest chapter, genres, categories, authors, publishers, description); the releases endpoint returns the most recent scanlation releases matchi
…(truncated, see openapi.json for full schema)
```

### Community

#### `GET /v1/author` — Find manga authors/artists by name

**Parameters:**
- `q` (query, required, string) — Author name Example: `Eiichiro Oda`
- `limit` (query, optional, string) — Max authors (1-40) Example: `15`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/mangaupdates-api/v1/author?q=Eiichiro+Oda&limit=15"
```

**Response:**
```json
{
    "data": {
        "note": "MangaUpdates authors/artists matching a name — each with its author_id, name, page URL and the genres they are known for. Pass q (required) and limit (1-40). Live, cached ~5m.",
        "count": 15,
        "query": "Eiichiro Oda",
        "source": "MangaUpdates public v1 API (api.mangaupdates.com/v1/authors/search), keyless",
        "authors": [
            {
                "url": "https://www.mangaupdates.com/author/e5v2cyo/oda-eiichiro",
                "name": "ODA Eiichiro",
                "genres": [
                    "Shounen"
                ],
                "author_id": 30829461792
            },
            {
                "url": "https://www.mangaupdates.com/author/yhelzap/oda",
                "name": "Oda",
                "genres": [
                    "Doujinshi",
                    "Yaoi"
                ],
                "author_id": 75063064561
            },
            {
                "url": "https://www.mangaupdates.com/author/43g6vcb/takizawa-kai",
                "name": "TAKIZAWA Kai",
                "genres": [
                    "Seinen"
                ],
                "author_id": 8915722283
            },
            {
                "url": "https://www.mangaupdates.com/author/6humcga/kanzaki-hiro",
                "name": "KANZAKI Hiro",
                "genres": [
                    "Comedy",
                    "Drama",
                    "Romance"
                ],
                "auth
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/group` — Find scanlation groups by name

**Parameters:**
- `q` (query, required, string) — Scanlation group name Example: `TCB Scans`
- `limit` (query, optional, string) — Max groups (1-40) Example: `15`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/mangaupdates-api/v1/group?q=TCB+Scans&limit=15"
```

**Response:**
```json
{
    "data": {
        "note": "MangaUpdates scanlation groups matching a name — each with its group_id, name, page URL and (where available) total release count. These are the community translation teams. Pass q (required) and limit (1-40). Live, cached ~5m.",
        "count": 15,
        "query": "TCB Scans",
        "groups": [
            {
                "url": "https://www.mangaupdates.com/group/wn8v9bv/tcb-scans",
                "name": "TCB Scans",
                "group_id": 71062652155,
                "releases": null
            },
            {
                "url": "https://www.mangaupdates.com/group/hzkj949/tcg-scans",
                "name": "TCG Scans",
                "group_id": 39156106473,
                "releases": null
            },
            {
                "url": "https://www.mangaupdates.com/group/os036ui/tcs-scans",
                "name": "TCS Scans",
                "group_id": 53935977834,
                "releases": null
            },
            {
                "url": "https://www.mangaupdates.com/group/4vjfhyk/selene-scans",
                "name": "Selene Scans",
                "group_id": 10614216620,
                "releases": null
            },
            {
                "url": "https://www.mangaupdates.com/group/s8c8b84/ak-scans",
                "name": "/ak/ Scans",
                "group_id": 61454178004,
                "releases": null
            },
            {
                "url": "https://www.mangaupdates.
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/mangaupdates-api
OpenAPI spec: https://www.oanor.com/api/mangaupdates-api/openapi.json
