# MangaDex

> Search MangaDex's manga catalogue and act on your account from a workflow: find manga, chapters, covers, authors, and scanlation groups; read chapter page images; follow and rate manga; keep your library shelves and read markers up to date; and build custom lists and poll their feeds for new releases.

App · Film, TV & Fandom · 56 actions. Web page: https://docs.lodol.com/docs/integrations/mangadex

## Actions

### Add manga to custom list

Add one manga to one of the account's custom lists.

**Inputs**

- Custom list (`list_id`, text, required): Which custom list to use: your own lists and the ones you follow.
- Manga ID (`manga_id`, text, required): The manga's id. Take it from a Search MangaDex step, or copy it out of a mangadex.org/title/... link.

**Outputs**

- `list_id` (text)
- `manga_id` (text)
- `on_list` (true/false)

**Example output**

```json
{
  "list_id": "1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d",
  "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
  "on_list": true
}
```

### Check if following

Check whether the connected account follows a particular manga, scanlation group, custom list, or user. Use it to branch a workflow on something already being followed.

**Inputs**

- What to check (`target`, text, required): Which kind of thing the id below refers to. One of: `manga`, `group` (Scanlation group), `list` (Custom list), `user`.
- ID (`target_id`, text, required): The id of the manga, group, list, or user.

**Outputs**

- `following` (true/false): Whether the account follows it.
- `target` (text): manga, group, list, or user.
- `target_id` (text)

**Example output**

```json
{
  "following": true,
  "target": "manga",
  "target_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b"
}
```

### Convert old MangaDex IDs

Translate old numeric MangaDex ids (the ones in pre-2021 links and exports) into the UUIDs the current site uses.

**Inputs**

- ID type (`id_type`, text, required): What the old ids refer to. One of: `manga`, `chapter`, `group` (Scanlation group), `tag`.
- Old IDs (`legacy_ids`, list, required): The old numeric ids to convert, e.g. 1 or 47.

**Outputs**

- `count` (number)
- `mappings` (list)

**Example output**

```json
{
  "count": 1,
  "mappings": [
    {
      "legacy_id": 1,
      "new_id": "c0ee660b-f9f2-45c3-8068-5123ff53f84a",
      "type": "manga"
    }
  ]
}
```

### Create custom list

Create a custom list on the connected account, optionally with manga already on it. Lists are private unless made public.

**Inputs**

- List name (`name`, text, required): What to call the list.
- Visibility (`visibility`, text): Who can see the list. Defaults to private. One of: `private` (Private: only you can see it), `public` (Public: anyone with the link can see it).
- Manga IDs (`manga_ids`, list): Manga to put on the list straight away.

**Outputs**

- `list` (object)

**Example output**

```json
{
  "list": {
    "id": "1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d",
    "manga_count": 1,
    "manga_ids": [
      "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b"
    ],
    "name": "Weekend reading",
    "owner_id": "cbc32b3c-1e0d-4b2f-9a55-1f4b3c9a1234",
    "url": "https://mangadex.org/list/1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d",
    "version": 1,
    "visibility": "private"
  }
}
```

### Delete custom list

Delete a custom list. This cannot be undone.

**Inputs**

- Custom list (`list_id`, text, required): Which custom list to use: your own lists and the ones you follow.

**Outputs**

- `deleted` (true/false)
- `list_id` (text)

**Example output**

```json
{
  "deleted": true,
  "list_id": "1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d"
}
```

### Follow custom list

Follow a custom list so its chapters show up in the account's feeds.

**Inputs**

- Custom list (`list_id`, text, required): Which custom list to use: your own lists and the ones you follow.

**Outputs**

- `following` (true/false)
- `list_id` (text)

**Example output**

```json
{
  "following": true,
  "list_id": "1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d"
}
```

### Follow manga

Follow a manga so it shows up in the account's library and its new chapters appear in the followed feed.

**Inputs**

- Manga ID (`manga_id`, text, required): The manga's id. Take it from a Search MangaDex step, or copy it out of a mangadex.org/title/... link.

**Outputs**

- `following` (true/false)
- `manga_id` (text)

**Example output**

```json
{
  "following": true,
  "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b"
}
```

### Follow scanlation group

Follow a scanlation group with the connected account.

**Inputs**

- Scanlation group ID (`group_id`, text, required): The group's id, from a Search MangaDex scanlation groups step.

**Outputs**

- `following` (true/false)
- `group_id` (text)

**Example output**

```json
{
  "following": true,
  "group_id": "4ba3a3d6-2c14-4c5a-b0a4-6f4b1e2c4b1a"
}
```

### Get a random manga

Pick one manga at random, optionally restricted to (or away from) particular tags. Good for a daily recommendation.

**Inputs**

- Include tags (`included_tags`, list): Only return manga carrying these tags.
- Exclude tags (`excluded_tags`, list): Leave out manga carrying these tags.
- Content ratings (`content_rating`, text): Which content ratings to include. Defaults to everything except pornographic, the same as MangaDex's own default. One or more of: `safe`, `suggestive`, `erotica`, `pornographic`.

**Outputs**

- `manga` (object)

**Example output**

```json
{
  "manga": {
    "artists": [
      "Fujimoto Tatsuki"
    ],
    "authors": [
      "Fujimoto Tatsuki"
    ],
    "available_translated_languages": [
      "en",
      "es-la",
      "pt-br"
    ],
    "content_rating": "suggestive",
    "cover_url": "https://uploads.mangadex.org/covers/a77742b1-befd-49a4-bff5-1ad4e6b0ef7b/6e518bd1-5f60-446b-8832-bfe6bf74834b.jpg",
    "created_at": "2019-09-10T13:07:45+00:00",
    "demographic": "shounen",
    "description": "Broke young man + chainsaw dog demon = Chainsaw Man!",
    "id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
    "last_chapter": "232",
    "last_volume": "",
    "original_language": "ja",
    "status": "completed",
    "tags": [
      "Action",
      "Comedy",
      "Supernatural"
    ],
    "title": "Chainsaw Man",
    "updated_at": "2026-03-24T15:18:24+00:00",
    "url": "https://mangadex.org/title/a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
    "year": 2018
  }
}
```

### Get chapter page images

Get the image URL of every page in a chapter, in reading order. The URLs are issued per request and are short-lived, so use them in the same run rather than storing them.

**Inputs**

- Chapter ID (`chapter_id`, text, required): The chapter's id. Take it from a chapter-listing step, or copy it out of a mangadex.org/chapter/... link.
- Use compressed images (`data_saver`, true/false): Return the smaller, more compressed copies instead of the originals.

**Outputs**

- `data_saver` (true/false): Whether the compressed copies were used.
- `page_count` (number)
- `page_urls` (list): One image URL per page, in reading order.

**Example output**

```json
{
  "data_saver": false,
  "page_count": 1,
  "page_urls": [
    "https://cmdxd98sb0x3yprd.mangadex.network/data/9aab5b090256c87568c308531a28441d/1-02bb3ed8e3a7.png"
  ]
}
```

### Get chapter statistics

Get the comment counts MangaDex tracks for one or more chapters.

**Inputs**

- Chapter IDs (`chapter_ids`, list, required): One or more chapter ids to look up.

**Outputs**

- `count` (number)
- `statistics` (list)

**Example output**

```json
{
  "count": 1,
  "statistics": [
    {
      "average_rating": null,
      "bayesian_rating": null,
      "chapter_id": "19086fe2-d9c2-47ea-b8e6-f62f0d60a713",
      "comment_count": 67,
      "comment_thread_id": 803670,
      "follows": null
    }
  ]
}
```

### Get cover art

Get one cover by id, including its full-size image URL and which volume it belongs to.

**Inputs**

- Cover ID (`cover_id`, text, required): The cover's id, from a List cover art step.

**Outputs**

- `cover` (object)

**Example output**

```json
{
  "cover": {
    "created_at": "2021-03-19T11:30:19+00:00",
    "description": null,
    "file_name": "6e518bd1-5f60-446b-8832-bfe6bf74834b.jpg",
    "id": "6e518bd1-5f60-446b-8832-bfe6bf74834b",
    "image_url": "https://uploads.mangadex.org/covers/a77742b1-befd-49a4-bff5-1ad4e6b0ef7b/6e518bd1-5f60-446b-8832-bfe6bf74834b.jpg",
    "locale": "ja",
    "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
    "thumbnail_url": "https://uploads.mangadex.org/covers/a77742b1-befd-49a4-bff5-1ad4e6b0ef7b/6e518bd1-5f60-446b-8832-bfe6bf74834b.jpg.256.jpg",
    "updated_at": "2021-03-19T11:30:19+00:00",
    "volume": "1"
  }
}
```

### Get custom list

Get one custom list and the ids of the manga on it.

**Inputs**

- Custom list (`list_id`, text, required): Which custom list to use: your own lists and the ones you follow.

**Outputs**

- `list` (object)

**Example output**

```json
{
  "list": {
    "id": "1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d",
    "manga_count": 1,
    "manga_ids": [
      "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b"
    ],
    "name": "Weekend reading",
    "owner_id": "cbc32b3c-1e0d-4b2f-9a55-1f4b3c9a1234",
    "url": "https://mangadex.org/list/1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d",
    "version": 1,
    "visibility": "private"
  }
}
```

### Get custom list feed

Get new chapters across every manga on a custom list, a reading queue you can poll on a schedule.

**Inputs**

- Custom list (`list_id`, text, required): Which custom list to use: your own lists and the ones you follow.
- Chapter language (`translated_language`, text): Only include chapters translated into this language.
- Content ratings (`content_rating`, text): Which content ratings to include. Defaults to everything except pornographic, the same as MangaDex's own default. One or more of: `safe`, `suggestive`, `erotica`, `pornographic`.
- Only chapters readable on MangaDex (`exclude_external_chapters`, true/false): Leave out chapters that are only readable on another site, such as an official publisher's reader. Those have no page images here, so turn this on when the workflow goes on to fetch pages.
- Sort by (`sort`, text): What order to return the chapters in. One of: `readableAt:desc` (Recently readable), `publishAt:desc` (Newest first), `publishAt:asc` (Oldest first), `chapter:asc` (Chapter number, low to high), `chapter:desc` (Chapter number, high to low), `volume:asc` (Volume, low to high), `createdAt:desc` (Recently uploaded), `updatedAt:desc` (Recently edited).
- Maximum chapters (`limit`, number): How many chapters to return, 1 to 500. Defaults to 100. From 1 to 500.
- Skip (`offset`, number): How many results to skip, for paging past the first batch. At least 0.

**Outputs**

- `chapters` (list): Chapters from the manga on the list.
- `count` (number): How many items this step returned.
- `limit` (number): The page size that was used.
- `offset` (number): How many items were skipped.
- `total` (number): How many items match in total, across all pages.

**Example output**

```json
{
  "chapters": [
    {
      "chapter": "1",
      "created_at": "2019-12-03T18:04:04+00:00",
      "external_url": null,
      "group_ids": [
        "4ba3a3d6-2c14-4c5a-b0a4-6f4b1e2c4b1a"
      ],
      "groups": [
        "Ruri Scans"
      ],
      "id": "19086fe2-d9c2-47ea-b8e6-f62f0d60a713",
      "language": "en",
      "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
      "manga_title": "Chainsaw Man",
      "pages": 53,
      "published_at": "2019-12-03T18:04:04+00:00",
      "readable_at": "2019-12-03T18:04:04+00:00",
      "title": "Chainsaw Man",
      "updated_at": "2021-05-04T10:12:31+00:00",
      "url": "https://mangadex.org/chapter/19086fe2-d9c2-47ea-b8e6-f62f0d60a713",
      "volume": "1"
    }
  ],
  "count": 1,
  "limit": 10,
  "offset": 0,
  "total": 1
}
```

### Get followed manga feed

Get new chapters across every manga the account follows, the MangaDex home feed. Pair it with a schedule to be told about new releases.

**Inputs**

- Chapter language (`translated_language`, text): Only include chapters translated into this language.
- Content ratings (`content_rating`, text): Which content ratings to include. Defaults to everything except pornographic, the same as MangaDex's own default. One or more of: `safe`, `suggestive`, `erotica`, `pornographic`.
- Only chapters readable on MangaDex (`exclude_external_chapters`, true/false): Leave out chapters that are only readable on another site, such as an official publisher's reader. Those have no page images here, so turn this on when the workflow goes on to fetch pages.
- Sort by (`sort`, text): What order to return the chapters in. One of: `readableAt:desc` (Recently readable), `publishAt:desc` (Newest first), `publishAt:asc` (Oldest first), `chapter:asc` (Chapter number, low to high), `chapter:desc` (Chapter number, high to low), `volume:asc` (Volume, low to high), `createdAt:desc` (Recently uploaded), `updatedAt:desc` (Recently edited).
- Maximum chapters (`limit`, number): How many chapters to return, 1 to 500. Defaults to 100. From 1 to 500.
- Skip (`offset`, number): How many results to skip, for paging past the first batch. At least 0.

**Outputs**

- `chapters` (list): Chapters from followed manga.
- `count` (number): How many items this step returned.
- `limit` (number): The page size that was used.
- `offset` (number): How many items were skipped.
- `total` (number): How many items match in total, across all pages.

**Example output**

```json
{
  "chapters": [
    {
      "chapter": "1",
      "created_at": "2019-12-03T18:04:04+00:00",
      "external_url": null,
      "group_ids": [
        "4ba3a3d6-2c14-4c5a-b0a4-6f4b1e2c4b1a"
      ],
      "groups": [
        "Ruri Scans"
      ],
      "id": "19086fe2-d9c2-47ea-b8e6-f62f0d60a713",
      "language": "en",
      "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
      "manga_title": "Chainsaw Man",
      "pages": 53,
      "published_at": "2019-12-03T18:04:04+00:00",
      "readable_at": "2019-12-03T18:04:04+00:00",
      "title": "Chainsaw Man",
      "updated_at": "2021-05-04T10:12:31+00:00",
      "url": "https://mangadex.org/chapter/19086fe2-d9c2-47ea-b8e6-f62f0d60a713",
      "volume": "1"
    }
  ],
  "count": 1,
  "limit": 10,
  "offset": 0,
  "total": 1
}
```

### Get manga statistics

Get the follower count and community rating MangaDex tracks for one or more manga.

**Inputs**

- Manga IDs (`manga_ids`, list, required): One or more manga ids to look up.

**Outputs**

- `count` (number)
- `statistics` (list)

**Example output**

```json
{
  "count": 1,
  "statistics": [
    {
      "average_rating": 9.23,
      "bayesian_rating": 9.22,
      "comment_count": 788,
      "comment_thread_id": 76734,
      "follows": 201492,
      "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b"
    }
  ]
}
```

### Get manga volumes and chapters

Summarise a manga's volumes and which chapters are in each, the table of contents behind MangaDex's chapter list.

**Inputs**

- Manga ID (`manga_id`, text, required): The manga's id. Take it from a Search MangaDex step, or copy it out of a mangadex.org/title/... link.
- Chapter language (`translated_language`, text): Only include chapters translated into this language.

**Outputs**

- `chapter_count` (number)
- `volume_count` (number)
- `volumes` (list): One entry per volume, newest first.

**Example output**

```json
{
  "chapter_count": 1,
  "volume_count": 1,
  "volumes": [
    {
      "chapter_count": 1,
      "chapters": [
        {
          "chapter": "1",
          "count": 1,
          "id": "19086fe2-d9c2-47ea-b8e6-f62f0d60a713"
        }
      ],
      "volume": "1"
    }
  ]
}
```

### Get MangaDex author

Get one author or artist by id, with their biography, social links, and the ids of the manga they worked on.

**Inputs**

- Author ID (`author_id`, text, required): The author's id, from a Search MangaDex authors step.

**Outputs**

- `author` (object)

**Example output**

```json
{
  "author": {
    "biography": "Japanese manga artist.",
    "created_at": "2021-04-19T21:59:45+00:00",
    "id": "0c85bd60-a1f8-4bcd-b0f7-4b41b57f2ffa",
    "image_url": null,
    "manga_ids": [
      "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b"
    ],
    "name": "Fujimoto Tatsuki",
    "pixiv": null,
    "twitter": "https://twitter.com/nagayama_koharu",
    "updated_at": "2023-01-11T09:12:03+00:00",
    "website": null
  }
}
```

### Get MangaDex chapter

Get one chapter by id: its number, volume, language, page count, and the group that released it.

**Inputs**

- Chapter ID (`chapter_id`, text, required): The chapter's id. Take it from a chapter-listing step, or copy it out of a mangadex.org/chapter/... link.

**Outputs**

- `chapter` (object)

**Example output**

```json
{
  "chapter": {
    "chapter": "1",
    "created_at": "2019-12-03T18:04:04+00:00",
    "external_url": null,
    "group_ids": [
      "4ba3a3d6-2c14-4c5a-b0a4-6f4b1e2c4b1a"
    ],
    "groups": [
      "Ruri Scans"
    ],
    "id": "19086fe2-d9c2-47ea-b8e6-f62f0d60a713",
    "language": "en",
    "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
    "manga_title": "Chainsaw Man",
    "pages": 53,
    "published_at": "2019-12-03T18:04:04+00:00",
    "readable_at": "2019-12-03T18:04:04+00:00",
    "title": "Chainsaw Man",
    "updated_at": "2021-05-04T10:12:31+00:00",
    "url": "https://mangadex.org/chapter/19086fe2-d9c2-47ea-b8e6-f62f0d60a713",
    "volume": "1"
  }
}
```

### Get MangaDex manga

Get one manga by id: its synopsis, tags, status, authors and artists, and the URL of its current cover.

**Inputs**

- Manga ID (`manga_id`, text, required): The manga's id. Take it from a Search MangaDex step, or copy it out of a mangadex.org/title/... link.

**Outputs**

- `manga` (object)

**Example output**

```json
{
  "manga": {
    "artists": [
      "Fujimoto Tatsuki"
    ],
    "authors": [
      "Fujimoto Tatsuki"
    ],
    "available_translated_languages": [
      "en",
      "es-la",
      "pt-br"
    ],
    "content_rating": "suggestive",
    "cover_url": "https://uploads.mangadex.org/covers/a77742b1-befd-49a4-bff5-1ad4e6b0ef7b/6e518bd1-5f60-446b-8832-bfe6bf74834b.jpg",
    "created_at": "2019-09-10T13:07:45+00:00",
    "demographic": "shounen",
    "description": "Broke young man + chainsaw dog demon = Chainsaw Man!",
    "id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
    "last_chapter": "232",
    "last_volume": "",
    "original_language": "ja",
    "status": "completed",
    "tags": [
      "Action",
      "Comedy",
      "Supernatural"
    ],
    "title": "Chainsaw Man",
    "updated_at": "2026-03-24T15:18:24+00:00",
    "url": "https://mangadex.org/title/a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
    "year": 2018
  }
}
```

### Get MangaDex user

Get another MangaDex user by id: their username and roles.

**Inputs**

- User ID (`user_id`, text, required): The user's id, from a mangadex.org/user/... link or an earlier step.

**Outputs**

- `user` (object)

**Example output**

```json
{
  "user": {
    "group_ids": [],
    "id": "cbc32b3c-1e0d-4b2f-9a55-1f4b3c9a1234",
    "roles": [
      "ROLE_USER"
    ],
    "url": "https://mangadex.org/user/cbc32b3c-1e0d-4b2f-9a55-1f4b3c9a1234",
    "username": "reader"
  }
}
```

### Get read chapters

List the chapters of one manga the account has marked as read.

**Inputs**

- Manga ID (`manga_id`, text, required): The manga's id. Take it from a Search MangaDex step, or copy it out of a mangadex.org/title/... link.

**Outputs**

- `chapter_ids` (list): Ids of the chapters marked as read.
- `count` (number)
- `manga_id` (text)

**Example output**

```json
{
  "chapter_ids": [
    "19086fe2-d9c2-47ea-b8e6-f62f0d60a713"
  ],
  "count": 1,
  "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b"
}
```

### Get read chapters for several manga

List read chapters across several manga in one call, grouped per manga, the batch version of Get read chapters.

**Inputs**

- Manga IDs (`manga_ids`, list, required): The manga to look up read chapters for.

**Outputs**

- `chapter_count` (number): Total read chapters across them.
- `count` (number): How many manga came back with read chapters.
- `manga` (list)

**Example output**

```json
{
  "chapter_count": 1,
  "count": 1,
  "manga": [
    {
      "chapter_ids": [
        "19086fe2-d9c2-47ea-b8e6-f62f0d60a713"
      ],
      "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b"
    }
  ]
}
```

### Get reading history

List the chapters the account read most recently, newest first, with when each was read.

**Inputs**: None.

**Outputs**

- `count` (number)
- `history` (list)

**Example output**

```json
{
  "count": 1,
  "history": [
    {
      "chapter_id": "19086fe2-d9c2-47ea-b8e6-f62f0d60a713",
      "read_at": "2026-08-01T09:15:00+00:00"
    }
  ]
}
```

### Get reading status

Get which library shelf one manga is on for the connected account, if any.

**Inputs**

- Manga ID (`manga_id`, text, required): The manga's id. Take it from a Search MangaDex step, or copy it out of a mangadex.org/title/... link.

**Outputs**

- `manga_id` (text)
- `status` (text): reading, plan_to_read, completed, on_hold, dropped, re_reading, or null when it isn't in the library.

**Example output**

```json
{
  "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
  "status": "reading"
}
```

### Get related manga

List the manga officially related to this one: sequels, prequels, spin-offs, side stories, and adaptations.

**Inputs**

- Manga ID (`manga_id`, text, required): The manga's id. Take it from a Search MangaDex step, or copy it out of a mangadex.org/title/... link.

**Outputs**

- `count` (number)
- `relations` (list)

**Example output**

```json
{
  "count": 1,
  "relations": [
    {
      "manga_id": "192b2c21-e762-4927-8261-dc96adf11b0c",
      "relation": "side_story",
      "url": "https://mangadex.org/title/192b2c21-e762-4927-8261-dc96adf11b0c"
    }
  ]
}
```

### Get scanlation group

Get one scanlation group by id: its description, contact links, focus languages, and whether MangaDex considers it active.

**Inputs**

- Scanlation group ID (`group_id`, text, required): The group's id, from a Search MangaDex scanlation groups step.

**Outputs**

- `group` (object)

**Example output**

```json
{
  "group": {
    "contact_email": null,
    "created_at": "2020-01-05T12:00:00+00:00",
    "description": "Weekly releases.",
    "discord": null,
    "focused_languages": [
      "en"
    ],
    "id": "4ba3a3d6-2c14-4c5a-b0a4-6f4b1e2c4b1a",
    "inactive": false,
    "name": "Ruri Scans",
    "official": false,
    "twitter": null,
    "updated_at": "2025-11-02T08:30:00+00:00",
    "verified": false,
    "website": "https://example.org"
  }
}
```

### Get scanlation group statistics

Get the comment counts MangaDex tracks for one or more scanlation groups.

**Inputs**

- Scanlation group IDs (`group_ids`, list, required): One or more group ids to look up.

**Outputs**

- `count` (number)
- `statistics` (list)

**Example output**

```json
{
  "count": 1,
  "statistics": [
    {
      "average_rating": null,
      "bayesian_rating": null,
      "comment_count": 12,
      "comment_thread_id": 55123,
      "follows": null,
      "group_id": "4ba3a3d6-2c14-4c5a-b0a4-6f4b1e2c4b1a"
    }
  ]
}
```

### Get similar manga

Get up to 20 manga MangaDex considers similar to this one, each with a similarity score.

**Inputs**

- Manga ID (`manga_id`, text, required): The manga's id. Take it from a Search MangaDex step, or copy it out of a mangadex.org/title/... link.
- Content ratings (`content_rating`, text): Which content ratings to include. Defaults to everything except pornographic, the same as MangaDex's own default. One or more of: `safe`, `suggestive`, `erotica`, `pornographic`.
- Sort by (`sort`, text): Whether the closest matches come first. One of: `score:desc` (Most similar first), `score:asc` (Least similar first).

**Outputs**

- `count` (number)
- `recommendations` (list)

**Example output**

```json
{
  "count": 1,
  "recommendations": [
    {
      "manga_id": "106caf05-81c1-47bc-9fc2-57d8c6d7a106",
      "score": 0.7,
      "title": "Fire Punch",
      "url": "https://mangadex.org/title/106caf05-81c1-47bc-9fc2-57d8c6d7a106"
    }
  ]
}
```

### Get your manga ratings

Get the rating the connected account has given one or more manga, and when it was given.

**Inputs**

- Manga IDs (`manga_ids`, list, required): The manga to read your own ratings for.

**Outputs**

- `count` (number)
- `ratings` (list)

**Example output**

```json
{
  "count": 1,
  "ratings": [
    {
      "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
      "rated_at": "2026-01-04T08:47:37+00:00",
      "rating": 9
    }
  ]
}
```

### Get your MangaDex account

Get the connected MangaDex account: its username, id, and roles. Useful for confirming which account a workflow acts as.

**Inputs**: None.

**Outputs**

- `user` (object)

**Example output**

```json
{
  "user": {
    "group_ids": [],
    "id": "cbc32b3c-1e0d-4b2f-9a55-1f4b3c9a1234",
    "roles": [
      "ROLE_USER"
    ],
    "url": "https://mangadex.org/user/cbc32b3c-1e0d-4b2f-9a55-1f4b3c9a1234",
    "username": "reader"
  }
}
```

### List another user's custom lists

List the public custom lists belonging to another user.

**Inputs**

- User ID (`user_id`, text, required): The user's id. Take it from a Get MangaDex account step or a mangadex.org/user/... link.
- Maximum results (`limit`, number): How many results to return, 1 to 100. Defaults to 10. From 1 to 100.
- Skip (`offset`, number): How many results to skip, for paging past the first batch. At least 0.

**Outputs**

- `count` (number): How many items this step returned.
- `limit` (number): The page size that was used.
- `lists` (list): That user's public lists.
- `offset` (number): How many items were skipped.
- `total` (number): How many items match in total, across all pages.

**Example output**

```json
{
  "count": 1,
  "limit": 10,
  "lists": [
    {
      "id": "1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d",
      "manga_count": 1,
      "manga_ids": [
        "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b"
      ],
      "name": "Weekend reading",
      "owner_id": "cbc32b3c-1e0d-4b2f-9a55-1f4b3c9a1234",
      "url": "https://mangadex.org/list/1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d",
      "version": 1,
      "visibility": "private"
    }
  ],
  "offset": 0,
  "total": 1
}
```

### List cover art

List cover art (usually every volume cover of one manga) with a full-size image URL and a thumbnail for each.

**Inputs**

- Manga IDs (`manga_ids`, list): Only return covers belonging to these manga.
- Edition languages (`locales`, list): Only return covers of these editions: ja for the Japanese release, en for the English one.
- Sort by (`sort`, text): What order to return the covers in. One of: `volume:asc` (Volume, low to high), `volume:desc` (Volume, high to low), `createdAt:desc` (Recently added), `updatedAt:desc` (Recently edited).
- Maximum results (`limit`, number): How many results to return, 1 to 100. Defaults to 10. From 1 to 100.
- Skip (`offset`, number): How many results to skip, for paging past the first batch. At least 0.

**Outputs**

- `count` (number): How many items this step returned.
- `covers` (list): The matching covers.
- `limit` (number): The page size that was used.
- `offset` (number): How many items were skipped.
- `total` (number): How many items match in total, across all pages.

**Example output**

```json
{
  "count": 1,
  "covers": [
    {
      "created_at": "2021-03-19T11:30:19+00:00",
      "description": null,
      "file_name": "6e518bd1-5f60-446b-8832-bfe6bf74834b.jpg",
      "id": "6e518bd1-5f60-446b-8832-bfe6bf74834b",
      "image_url": "https://uploads.mangadex.org/covers/a77742b1-befd-49a4-bff5-1ad4e6b0ef7b/6e518bd1-5f60-446b-8832-bfe6bf74834b.jpg",
      "locale": "ja",
      "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
      "thumbnail_url": "https://uploads.mangadex.org/covers/a77742b1-befd-49a4-bff5-1ad4e6b0ef7b/6e518bd1-5f60-446b-8832-bfe6bf74834b.jpg.256.jpg",
      "updated_at": "2021-03-19T11:30:19+00:00",
      "volume": "1"
    }
  ],
  "limit": 10,
  "offset": 0,
  "total": 1
}
```

### List followed custom lists

List the custom lists the connected account follows.

**Inputs**

- Maximum results (`limit`, number): How many results to return, 1 to 100. Defaults to 10. From 1 to 100.
- Skip (`offset`, number): How many results to skip, for paging past the first batch. At least 0.

**Outputs**

- `count` (number): How many items this step returned.
- `limit` (number): The page size that was used.
- `lists` (list): The followed custom lists.
- `offset` (number): How many items were skipped.
- `total` (number): How many items match in total, across all pages.

**Example output**

```json
{
  "count": 1,
  "limit": 10,
  "lists": [
    {
      "id": "1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d",
      "manga_count": 1,
      "manga_ids": [
        "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b"
      ],
      "name": "Weekend reading",
      "owner_id": "cbc32b3c-1e0d-4b2f-9a55-1f4b3c9a1234",
      "url": "https://mangadex.org/list/1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d",
      "version": 1,
      "visibility": "private"
    }
  ],
  "offset": 0,
  "total": 1
}
```

### List followed manga

List the manga the connected account follows, with covers and tags, the account's library.

**Inputs**

- Maximum results (`limit`, number): How many results to return, 1 to 100. Defaults to 10. From 1 to 100.
- Skip (`offset`, number): How many results to skip, for paging past the first batch. At least 0.

**Outputs**

- `count` (number): How many items this step returned.
- `limit` (number): The page size that was used.
- `manga` (list): The followed manga.
- `offset` (number): How many items were skipped.
- `total` (number): How many items match in total, across all pages.

**Example output**

```json
{
  "count": 1,
  "limit": 10,
  "manga": [
    {
      "artists": [
        "Fujimoto Tatsuki"
      ],
      "authors": [
        "Fujimoto Tatsuki"
      ],
      "available_translated_languages": [
        "en",
        "es-la",
        "pt-br"
      ],
      "content_rating": "suggestive",
      "cover_url": "https://uploads.mangadex.org/covers/a77742b1-befd-49a4-bff5-1ad4e6b0ef7b/6e518bd1-5f60-446b-8832-bfe6bf74834b.jpg",
      "created_at": "2019-09-10T13:07:45+00:00",
      "demographic": "shounen",
      "description": "Broke young man + chainsaw dog demon = Chainsaw Man!",
      "id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
      "last_chapter": "232",
      "last_volume": "",
      "original_language": "ja",
      "status": "completed",
      "tags": [
        "Action",
        "Comedy",
        "Supernatural"
      ],
      "title": "Chainsaw Man",
      "updated_at": "2026-03-24T15:18:24+00:00",
      "url": "https://mangadex.org/title/a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
      "year": 2018
    }
  ],
  "offset": 0,
  "total": 1
}
```

### List followed scanlation groups

List the scanlation groups the connected account follows.

**Inputs**

- Maximum results (`limit`, number): How many results to return, 1 to 100. Defaults to 10. From 1 to 100.
- Skip (`offset`, number): How many results to skip, for paging past the first batch. At least 0.

**Outputs**

- `count` (number): How many items this step returned.
- `groups` (list): The followed groups.
- `limit` (number): The page size that was used.
- `offset` (number): How many items were skipped.
- `total` (number): How many items match in total, across all pages.

**Example output**

```json
{
  "count": 1,
  "groups": [
    {
      "contact_email": null,
      "created_at": "2020-01-05T12:00:00+00:00",
      "description": "Weekly releases.",
      "discord": null,
      "focused_languages": [
        "en"
      ],
      "id": "4ba3a3d6-2c14-4c5a-b0a4-6f4b1e2c4b1a",
      "inactive": false,
      "name": "Ruri Scans",
      "official": false,
      "twitter": null,
      "updated_at": "2025-11-02T08:30:00+00:00",
      "verified": false,
      "website": "https://example.org"
    }
  ],
  "limit": 10,
  "offset": 0,
  "total": 1
}
```

### List followed users

List the MangaDex users the connected account follows.

**Inputs**

- Maximum results (`limit`, number): How many results to return, 1 to 100. Defaults to 10. From 1 to 100.
- Skip (`offset`, number): How many results to skip, for paging past the first batch. At least 0.

**Outputs**

- `count` (number): How many items this step returned.
- `limit` (number): The page size that was used.
- `offset` (number): How many items were skipped.
- `total` (number): How many items match in total, across all pages.
- `users` (list): The followed users.

**Example output**

```json
{
  "count": 1,
  "limit": 10,
  "offset": 0,
  "total": 1,
  "users": [
    {
      "group_ids": [],
      "id": "cbc32b3c-1e0d-4b2f-9a55-1f4b3c9a1234",
      "roles": [
        "ROLE_USER"
      ],
      "url": "https://mangadex.org/user/cbc32b3c-1e0d-4b2f-9a55-1f4b3c9a1234",
      "username": "reader"
    }
  ]
}
```

### List library shelves

List every manga in the account's library with the shelf it is on, optionally just one shelf.

**Inputs**

- Shelf (`status`, text): Only return manga on this shelf. One of: `reading`, `plan_to_read` (Plan to read), `completed`, `on_hold` (On hold), `dropped`, `re_reading` (Re-reading).

**Outputs**

- `count` (number)
- `statuses` (list)

**Example output**

```json
{
  "count": 1,
  "statuses": [
    {
      "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
      "status": "reading"
    }
  ]
}
```

### List manga chapters

List a manga's chapters, newest first by default, with their numbers, languages, scanlation groups, and publish dates.

**Inputs**

- Manga ID (`manga_id`, text, required): The manga's id. Take it from a Search MangaDex step, or copy it out of a mangadex.org/title/... link.
- Chapter language (`translated_language`, text): Only include chapters translated into this language.
- Content ratings (`content_rating`, text): Which content ratings to include. Defaults to everything except pornographic, the same as MangaDex's own default. One or more of: `safe`, `suggestive`, `erotica`, `pornographic`.
- Published since (`published_since`, date and time): Only include chapters published at or after this moment. Handy for a scheduled workflow that should only see what is new.
- Only chapters readable on MangaDex (`exclude_external_chapters`, true/false): Leave out chapters that are only readable on another site, such as an official publisher's reader. Those have no page images here, so turn this on when the workflow goes on to fetch pages.
- Sort by (`sort`, text): What order to return the chapters in. One of: `readableAt:desc` (Recently readable), `publishAt:desc` (Newest first), `publishAt:asc` (Oldest first), `chapter:asc` (Chapter number, low to high), `chapter:desc` (Chapter number, high to low), `volume:asc` (Volume, low to high), `createdAt:desc` (Recently uploaded), `updatedAt:desc` (Recently edited).
- Maximum chapters (`limit`, number): How many chapters to return, 1 to 500. Defaults to 100. From 1 to 500.
- Skip (`offset`, number): How many results to skip, for paging past the first batch. At least 0.

**Outputs**

- `chapters` (list): The manga's chapters.
- `count` (number): How many items this step returned.
- `limit` (number): The page size that was used.
- `offset` (number): How many items were skipped.
- `total` (number): How many items match in total, across all pages.

**Example output**

```json
{
  "chapters": [
    {
      "chapter": "1",
      "created_at": "2019-12-03T18:04:04+00:00",
      "external_url": null,
      "group_ids": [
        "4ba3a3d6-2c14-4c5a-b0a4-6f4b1e2c4b1a"
      ],
      "groups": [
        "Ruri Scans"
      ],
      "id": "19086fe2-d9c2-47ea-b8e6-f62f0d60a713",
      "language": "en",
      "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
      "manga_title": "Chainsaw Man",
      "pages": 53,
      "published_at": "2019-12-03T18:04:04+00:00",
      "readable_at": "2019-12-03T18:04:04+00:00",
      "title": "Chainsaw Man",
      "updated_at": "2021-05-04T10:12:31+00:00",
      "url": "https://mangadex.org/chapter/19086fe2-d9c2-47ea-b8e6-f62f0d60a713",
      "volume": "1"
    }
  ],
  "count": 1,
  "limit": 10,
  "offset": 0,
  "total": 1
}
```

### List MangaDex tags

List every genre, theme, format, and content tag a manga can carry, with the ids the search filters take.

**Inputs**: None.

**Outputs**

- `count` (number): How many tags there are.
- `tags` (list): Every tag MangaDex defines.

**Example output**

```json
{
  "count": 1,
  "tags": [
    {
      "description": null,
      "group": "genre",
      "id": "391b0423-d847-456f-aff0-8b0cfc03066b",
      "name": "Action"
    }
  ]
}
```

### List report reasons

List the reasons MangaDex accepts for reporting a manga, chapter, group, user, or author, and whether each one needs written details.

**Inputs**

- Report about (`category`, text, required): Which kind of thing the reasons are for. One of: `manga`, `chapter`, `scanlation_group` (Scanlation group), `user`, `author`.

**Outputs**

- `count` (number)
- `reasons` (list)

**Example output**

```json
{
  "count": 1,
  "reasons": [
    {
      "category": "manga",
      "details_required": true,
      "id": "1a0b6e60-cacd-453f-ba16-b0aafee3ddad",
      "reason": "Incorrect or missing volume numbers"
    }
  ]
}
```

### List your custom lists

List the connected account's own custom lists, public and private alike.

**Inputs**

- Maximum results (`limit`, number): How many results to return, 1 to 100. Defaults to 10. From 1 to 100.
- Skip (`offset`, number): How many results to skip, for paging past the first batch. At least 0.

**Outputs**

- `count` (number): How many items this step returned.
- `limit` (number): The page size that was used.
- `lists` (list): Your custom lists.
- `offset` (number): How many items were skipped.
- `total` (number): How many items match in total, across all pages.

**Example output**

```json
{
  "count": 1,
  "limit": 10,
  "lists": [
    {
      "id": "1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d",
      "manga_count": 1,
      "manga_ids": [
        "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b"
      ],
      "name": "Weekend reading",
      "owner_id": "cbc32b3c-1e0d-4b2f-9a55-1f4b3c9a1234",
      "url": "https://mangadex.org/list/1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d",
      "version": 1,
      "visibility": "private"
    }
  ],
  "offset": 0,
  "total": 1
}
```

### List your reports

List the reports the connected account has filed and how MangaDex resolved each one.

**Inputs**

- Report about (`category`, text): Only return reports about this kind of thing. One of: `manga`, `chapter`, `scanlation_group` (Scanlation group), `user`, `author`.
- Outcome (`status`, text): Only return reports in this state. One of: `waiting`, `accepted`, `refused`, `autoresolved` (Auto-resolved).
- Sort by (`sort`, text): What order to return the reports in. One of: `createdAt:desc` (Newest first), `createdAt:asc` (Oldest first).
- Maximum results (`limit`, number): How many results to return, 1 to 100. Defaults to 10. From 1 to 100.
- Skip (`offset`, number): How many results to skip, for paging past the first batch. At least 0.

**Outputs**

- `count` (number): How many items this step returned.
- `limit` (number): The page size that was used.
- `offset` (number): How many items were skipped.
- `reports` (list)
- `total` (number): How many items match in total, across all pages.

**Example output**

```json
{
  "count": 1,
  "limit": 10,
  "offset": 0,
  "reports": [
    {
      "created_at": "2026-07-14T10:00:00+00:00",
      "details": "Chapter is a duplicate.",
      "id": "b8f3a5c1-6d2e-4f7a-9b0c-1d2e3f4a5b6c",
      "object_id": "19086fe2-d9c2-47ea-b8e6-f62f0d60a713",
      "reason_id": "1a0b6e60-cacd-453f-ba16-b0aafee3ddad",
      "status": "waiting"
    }
  ],
  "total": 1
}
```

### Mark chapters read or unread

Mark chapters of one manga as read, as unread, or both at once. Give at least one chapter id.

**Inputs**

- Manga ID (`manga_id`, text, required): The manga's id. Take it from a Search MangaDex step, or copy it out of a mangadex.org/title/... link.
- Mark as read (`read_chapter_ids`, list): Ids of the chapters to mark as read.
- Mark as unread (`unread_chapter_ids`, list): Ids of the chapters to mark as unread.
- Add to reading history (`update_history`, true/false): Also record these chapters in the account's reading history, as opening them in the reader would.

**Outputs**

- `manga_id` (text)
- `marked_read` (list)
- `marked_unread` (list)

**Example output**

```json
{
  "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
  "marked_read": [
    "19086fe2-d9c2-47ea-b8e6-f62f0d60a713"
  ],
  "marked_unread": []
}
```

### Rate a manga

Give a manga a rating out of 10 from the connected account, replacing any rating already on it.

**Inputs**

- Manga ID (`manga_id`, text, required): The manga's id. Take it from a Search MangaDex step, or copy it out of a mangadex.org/title/... link.
- Rating (`rating`, number, required): A whole number from 1 to 10. From 1 to 10.

**Outputs**

- `manga_id` (text)
- `rating` (number): The rating that was set.

**Example output**

```json
{
  "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
  "rating": 9
}
```

### Remove a manga rating

Remove the connected account's rating from a manga.

**Inputs**

- Manga ID (`manga_id`, text, required): The manga's id. Take it from a Search MangaDex step, or copy it out of a mangadex.org/title/... link.

**Outputs**

- `manga_id` (text)
- `rating` (number): Null, since the rating was removed.

**Example output**

```json
{
  "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
  "rating": null
}
```

### Remove manga from custom list

Take one manga off one of the account's custom lists.

**Inputs**

- Custom list (`list_id`, text, required): Which custom list to use: your own lists and the ones you follow.
- Manga ID (`manga_id`, text, required): The manga's id. Take it from a Search MangaDex step, or copy it out of a mangadex.org/title/... link.

**Outputs**

- `list_id` (text)
- `manga_id` (text)
- `on_list` (true/false)

**Example output**

```json
{
  "list_id": "1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d",
  "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
  "on_list": false
}
```

### Search MangaDex

Search MangaDex's catalogue by title, tag, status, demographic, release year, or translation language, and get back each match's synopsis, tags, authors, and cover image.

**Inputs**

- Title contains (`title`, text): Words from the title to search for.
- Include tags (`included_tags`, list): Only return manga carrying these tags.
- Included tags must (`included_tags_mode`, text): Whether a manga has to carry every included tag or just one of them. Defaults to all of them. One of: `AND` (Match all of them), `OR` (Match any of them).
- Exclude tags (`excluded_tags`, list): Leave out manga carrying these tags.
- Excluded tags must (`excluded_tags_mode`, text): Whether a manga is left out for carrying every excluded tag or any one of them. Defaults to any of them. One of: `AND` (Match all of them), `OR` (Match any of them).
- Publication status (`status`, text): Only return manga in these states. One or more of: `ongoing`, `completed`, `hiatus` (On hiatus), `cancelled`.
- Demographic (`demographic`, text): Only return manga aimed at these readerships. One or more of: `shounen`, `shoujo`, `seinen`, `josei`, `none` (None given).
- Content ratings (`content_rating`, text): Which content ratings to include. Defaults to everything except pornographic, the same as MangaDex's own default. One or more of: `safe`, `suggestive`, `erotica`, `pornographic`.
- Originally written in (`original_language`, text): Only return manga first published in this language: Japanese for manga, Korean for manhwa, Chinese for manhua.
- Has chapters in (`available_translated_language`, text): Only return manga with chapters in this language.
- Release year (`year`, number): Only return manga first released in this year. From 1900 to 2100.
- Author or artist ID (`author_or_artist`, text): Only return manga this person wrote or drew. Use a Search MangaDex authors step to get the id.
- Only manga with chapters (`has_available_chapters`, true/false): Leave out entries that have no readable chapters yet.
- Updated since (`updated_since`, date and time): Only return manga edited at or after this moment.
- Sort by (`sort`, text): What order to return results in. Defaults to recently updated. One of: `relevance:desc` (Best match), `followedCount:desc` (Most followed), `rating:desc` (Highest rated), `latestUploadedChapter:desc` (Recently updated), `createdAt:desc` (Newest on MangaDex), `updatedAt:desc` (Recently edited), `year:desc` (Newest by release year), `title:asc` (Title A–Z).
- Maximum results (`limit`, number): How many results to return, 1 to 100. Defaults to 10. From 1 to 100.
- Skip (`offset`, number): How many results to skip, for paging past the first batch. At least 0.

**Outputs**

- `count` (number): How many items this step returned.
- `limit` (number): The page size that was used.
- `manga` (list): The matching manga.
- `offset` (number): How many items were skipped.
- `total` (number): How many items match in total, across all pages.

**Example output**

```json
{
  "count": 1,
  "limit": 10,
  "manga": [
    {
      "artists": [
        "Fujimoto Tatsuki"
      ],
      "authors": [
        "Fujimoto Tatsuki"
      ],
      "available_translated_languages": [
        "en",
        "es-la",
        "pt-br"
      ],
      "content_rating": "suggestive",
      "cover_url": "https://uploads.mangadex.org/covers/a77742b1-befd-49a4-bff5-1ad4e6b0ef7b/6e518bd1-5f60-446b-8832-bfe6bf74834b.jpg",
      "created_at": "2019-09-10T13:07:45+00:00",
      "demographic": "shounen",
      "description": "Broke young man + chainsaw dog demon = Chainsaw Man!",
      "id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
      "last_chapter": "232",
      "last_volume": "",
      "original_language": "ja",
      "status": "completed",
      "tags": [
        "Action",
        "Comedy",
        "Supernatural"
      ],
      "title": "Chainsaw Man",
      "updated_at": "2026-03-24T15:18:24+00:00",
      "url": "https://mangadex.org/title/a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
      "year": 2018
    }
  ],
  "offset": 0,
  "total": 1
}
```

### Search MangaDex authors

Search the authors and artists MangaDex credits, and get back each one's biography, links, and the manga they worked on.

**Inputs**

- Name contains (`name`, text): Part of the author's or artist's name.
- Sort by (`sort`, text): What order to return the results in. One of: `name:asc` (Name A–Z), `name:desc` (Name Z–A).
- Maximum results (`limit`, number): How many results to return, 1 to 100. Defaults to 10. From 1 to 100.
- Skip (`offset`, number): How many results to skip, for paging past the first batch. At least 0.

**Outputs**

- `authors` (list): The matching authors and artists.
- `count` (number): How many items this step returned.
- `limit` (number): The page size that was used.
- `offset` (number): How many items were skipped.
- `total` (number): How many items match in total, across all pages.

**Example output**

```json
{
  "authors": [
    {
      "biography": "Japanese manga artist.",
      "created_at": "2021-04-19T21:59:45+00:00",
      "id": "0c85bd60-a1f8-4bcd-b0f7-4b41b57f2ffa",
      "image_url": null,
      "manga_ids": [
        "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b"
      ],
      "name": "Fujimoto Tatsuki",
      "pixiv": null,
      "twitter": "https://twitter.com/nagayama_koharu",
      "updated_at": "2023-01-11T09:12:03+00:00",
      "website": null
    }
  ],
  "count": 1,
  "limit": 10,
  "offset": 0,
  "total": 1
}
```

### Search MangaDex chapters

Search chapters across the whole site: by title, by manga, by scanlation group, or by chapter and volume number.

**Inputs**

- Chapter title contains (`title`, text): Words from the chapter's own title.
- Manga ID (`manga_id`, text): Only return chapters of this manga.
- Scanlation group IDs (`group_ids`, list): Only return chapters released by these groups.
- Chapter number (`chapter`, text): Only return this chapter number, e.g. 12.
- Volume number (`volume`, text): Only return chapters from this volume.
- Chapter language (`translated_language`, text): Only include chapters translated into this language.
- Content ratings (`content_rating`, text): Which content ratings to include. Defaults to everything except pornographic, the same as MangaDex's own default. One or more of: `safe`, `suggestive`, `erotica`, `pornographic`.
- Published since (`published_since`, date and time): Only include chapters published at or after this moment. Handy for a scheduled workflow that should only see what is new.
- Only chapters readable on MangaDex (`exclude_external_chapters`, true/false): Leave out chapters that are only readable on another site, such as an official publisher's reader. Those have no page images here, so turn this on when the workflow goes on to fetch pages.
- Sort by (`sort`, text): What order to return the chapters in. One of: `readableAt:desc` (Recently readable), `publishAt:desc` (Newest first), `publishAt:asc` (Oldest first), `chapter:asc` (Chapter number, low to high), `chapter:desc` (Chapter number, high to low), `volume:asc` (Volume, low to high), `createdAt:desc` (Recently uploaded), `updatedAt:desc` (Recently edited).
- Maximum results (`limit`, number): How many results to return, 1 to 100. Defaults to 10. From 1 to 100.
- Skip (`offset`, number): How many results to skip, for paging past the first batch. At least 0.

**Outputs**

- `chapters` (list): The matching chapters.
- `count` (number): How many items this step returned.
- `limit` (number): The page size that was used.
- `offset` (number): How many items were skipped.
- `total` (number): How many items match in total, across all pages.

**Example output**

```json
{
  "chapters": [
    {
      "chapter": "1",
      "created_at": "2019-12-03T18:04:04+00:00",
      "external_url": null,
      "group_ids": [
        "4ba3a3d6-2c14-4c5a-b0a4-6f4b1e2c4b1a"
      ],
      "groups": [
        "Ruri Scans"
      ],
      "id": "19086fe2-d9c2-47ea-b8e6-f62f0d60a713",
      "language": "en",
      "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
      "manga_title": "Chainsaw Man",
      "pages": 53,
      "published_at": "2019-12-03T18:04:04+00:00",
      "readable_at": "2019-12-03T18:04:04+00:00",
      "title": "Chainsaw Man",
      "updated_at": "2021-05-04T10:12:31+00:00",
      "url": "https://mangadex.org/chapter/19086fe2-d9c2-47ea-b8e6-f62f0d60a713",
      "volume": "1"
    }
  ],
  "count": 1,
  "limit": 10,
  "offset": 0,
  "total": 1
}
```

### Search scanlation groups

Search the scanlation groups that translate and upload chapters, and see which languages each one works in.

**Inputs**

- Name contains (`name`, text): Part of the group's name.
- Translates into (`focused_language`, text): Only return groups that focus on this language.
- Sort by (`sort`, text): What order to return the groups in. One of: `relevance:desc` (Best match), `latestUploadedChapter:desc` (Recently active), `followedCount:desc` (Most followed), `name:asc` (Name A–Z), `createdAt:desc` (Newest group).
- Maximum results (`limit`, number): How many results to return, 1 to 100. Defaults to 10. From 1 to 100.
- Skip (`offset`, number): How many results to skip, for paging past the first batch. At least 0.

**Outputs**

- `count` (number): How many items this step returned.
- `groups` (list): The matching scanlation groups.
- `limit` (number): The page size that was used.
- `offset` (number): How many items were skipped.
- `total` (number): How many items match in total, across all pages.

**Example output**

```json
{
  "count": 1,
  "groups": [
    {
      "contact_email": null,
      "created_at": "2020-01-05T12:00:00+00:00",
      "description": "Weekly releases.",
      "discord": null,
      "focused_languages": [
        "en"
      ],
      "id": "4ba3a3d6-2c14-4c5a-b0a4-6f4b1e2c4b1a",
      "inactive": false,
      "name": "Ruri Scans",
      "official": false,
      "twitter": null,
      "updated_at": "2025-11-02T08:30:00+00:00",
      "verified": false,
      "website": "https://example.org"
    }
  ],
  "limit": 10,
  "offset": 0,
  "total": 1
}
```

### Set reading status

Put a manga on one of the account's library shelves: reading, plan to read, completed, on hold, dropped, or re-reading. Leave the status blank to take it off the shelves entirely.

**Inputs**

- Manga ID (`manga_id`, text, required): The manga's id. Take it from a Search MangaDex step, or copy it out of a mangadex.org/title/... link.
- Shelf (`status`, text): Which shelf to put it on. Leave blank to remove it from the library. One of: `reading`, `plan_to_read` (Plan to read), `completed`, `on_hold` (On hold), `dropped`, `re_reading` (Re-reading).

**Outputs**

- `manga_id` (text)
- `status` (text): The shelf it is now on, or null if removed.

**Example output**

```json
{
  "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b",
  "status": "reading"
}
```

### Unfollow custom list

Stop following a custom list.

**Inputs**

- Custom list (`list_id`, text, required): Which custom list to use: your own lists and the ones you follow.

**Outputs**

- `following` (true/false)
- `list_id` (text)

**Example output**

```json
{
  "following": false,
  "list_id": "1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d"
}
```

### Unfollow manga

Stop following a manga.

**Inputs**

- Manga ID (`manga_id`, text, required): The manga's id. Take it from a Search MangaDex step, or copy it out of a mangadex.org/title/... link.

**Outputs**

- `following` (true/false)
- `manga_id` (text)

**Example output**

```json
{
  "following": false,
  "manga_id": "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b"
}
```

### Unfollow scanlation group

Stop following a scanlation group.

**Inputs**

- Scanlation group ID (`group_id`, text, required): The group's id, from a Search MangaDex scanlation groups step.

**Outputs**

- `following` (true/false)
- `group_id` (text)

**Example output**

```json
{
  "following": false,
  "group_id": "4ba3a3d6-2c14-4c5a-b0a4-6f4b1e2c4b1a"
}
```

### Update custom list

Rename a custom list, change who can see it, or replace the manga on it. Anything left blank stays as it is.

**Inputs**

- Custom list (`list_id`, text, required): Which custom list to use: your own lists and the ones you follow.
- New name (`name`, text): Leave blank to keep the current name.
- Visibility (`visibility`, text): Leave blank to keep the current visibility. One of: `private` (Private: only you can see it), `public` (Public: anyone with the link can see it).
- Manga IDs (`manga_ids`, list): Replaces everything on the list. Leave blank to keep the current manga.

**Outputs**

- `list` (object)

**Example output**

```json
{
  "list": {
    "id": "1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d",
    "manga_count": 1,
    "manga_ids": [
      "a77742b1-befd-49a4-bff5-1ad4e6b0ef7b"
    ],
    "name": "Weekend reading",
    "owner_id": "cbc32b3c-1e0d-4b2f-9a55-1f4b3c9a1234",
    "url": "https://mangadex.org/list/1b8c0a3d-2f4e-4a6b-9c1d-0e5f7a8b9c0d",
    "version": 1,
    "visibility": "private"
  }
}
```
