# Demon Slayer API

> Look up Demon Slayer data using the free, keyless Demon Slayer API: page through the characters and the breathing and combat styles, search either collection by name, and fetch any single record by id. No account or API key required. Disclaimer: this is an independent integration with the community-run Demon Slayer API (demonslayer-api.com). It is not affiliated with, endorsed by, or sponsored by Koyoharu Gotouge, Shueisha, Ufotable, Aniplex, or Crunchyroll; Demon Slayer and all related names, characters, and trademarks are the property of their respective owners.

App · Film, TV & Fandom · 6 actions. Web page: https://docs.lodol.com/docs/integrations/demon-slayer

## Actions

### Get a character

Get a single Demon Slayer character by id.

**Inputs**

- Character (`character_id`, text, required): Pick a character, or reference one from a previous step by its ID.

**Outputs**

- `character` (object)

**Example output**

```json
{
  "character": {
    "age": "15",
    "description": "The eldest Kamado son, who joins the Demon Slayer Corps after his family is killed and his sister Nezuko is turned into a demon.",
    "gender": "Male",
    "id": 1,
    "name": "Tanjiro Kamado",
    "quote": "No matter how many people you may lose, you have no choice but to go on living.",
    "race": "Human"
  }
}
```

### Get a combat style

Get a single Demon Slayer combat style by id.

**Inputs**

- Combat style (`combat_style_id`, text, required): Pick a combat style, or reference one from a previous step by its ID.

**Outputs**

- `combat_style` (object)

**Example output**

```json
{
  "combat_style": {
    "description": "A breathing style that mimics the flow of water, and the style Tanjiro Kamado is first trained in.",
    "id": 1,
    "name": "Water Breathing"
  }
}
```

### List characters

List Demon Slayer characters one page at a time, with each character's own details as the API records them. Set Limit to choose the page size and Page to walk the roster; the result carries a count and a has_more flag so a workflow can tell when it has reached the end.

**Inputs**

- Page (`page`, number): Which page of results to return (defaults to the first page). Page size is set by the Limit parameter. At least 1.
- Limit (`limit`, number): How many records to return per page. The API returns 5 per page when this is left empty. At least 1.

**Outputs**

- `characters` (list): The characters on this page.
- `count` (number): How many characters this page returned.
- `has_more` (true/false): True when this page came back full, so there may be another page to fetch.
- `limit` (number): The page size that was used.
- `page` (number): The page that was fetched.

**Example output**

```json
{
  "characters": [
    {
      "age": "15",
      "description": "The eldest Kamado son, who joins the Demon Slayer Corps after his family is killed and his sister Nezuko is turned into a demon.",
      "gender": "Male",
      "id": 1,
      "name": "Tanjiro Kamado",
      "quote": "No matter how many people you may lose, you have no choice but to go on living.",
      "race": "Human"
    }
  ],
  "count": 1,
  "has_more": false,
  "limit": 5,
  "page": 1
}
```

### List combat styles

List the breathing and combat styles one page at a time, with each style's own details as the API records them. Set Limit to choose the page size and Page to walk the list; the result carries a count and a has_more flag so a workflow can tell when it has reached the end.

**Inputs**

- Page (`page`, number): Which page of results to return (defaults to the first page). Page size is set by the Limit parameter. At least 1.
- Limit (`limit`, number): How many records to return per page. The API returns 5 per page when this is left empty. At least 1.

**Outputs**

- `combat_styles` (list): The combat styles on this page.
- `count` (number): How many combat styles this page returned.
- `has_more` (true/false): True when this page came back full, so there may be another page to fetch.
- `limit` (number): The page size that was used.
- `page` (number): The page that was fetched.

**Example output**

```json
{
  "combat_styles": [
    {
      "description": "A breathing style that mimics the flow of water, and the style Tanjiro Kamado is first trained in.",
      "id": 1,
      "name": "Water Breathing"
    }
  ],
  "count": 1,
  "has_more": false,
  "limit": 5,
  "page": 1
}
```

### Search characters by name

Find Demon Slayer characters whose name is similar to the one searched for, so a partial name such as Rengoku is enough. Returns every match, or an empty list when nothing matches.

**Inputs**

- Name (`name`, text, required): The name to search for (for example, rengoku). Matching is on similar names, not exact ones.

**Outputs**

- `characters` (list): The characters whose name matched.
- `count` (number): How many records matched.

**Example output**

```json
{
  "characters": [
    {
      "age": "15",
      "description": "The eldest Kamado son, who joins the Demon Slayer Corps after his family is killed and his sister Nezuko is turned into a demon.",
      "gender": "Male",
      "id": 1,
      "name": "Tanjiro Kamado",
      "quote": "No matter how many people you may lose, you have no choice but to go on living.",
      "race": "Human"
    }
  ],
  "count": 1
}
```

### Search combat styles by name

Find combat styles whose name is similar to the one searched for, so a partial name such as flame matches every style built on it. Returns every match, or an empty list when nothing matches.

**Inputs**

- Name (`name`, text, required): The name to search for (for example, flame). Matching is on similar names, not exact ones.

**Outputs**

- `combat_styles` (list): The combat styles whose name matched.
- `count` (number): How many records matched.

**Example output**

```json
{
  "combat_styles": [
    {
      "description": "A breathing style that mimics the flow of water, and the style Tanjiro Kamado is first trained in.",
      "id": 1,
      "name": "Water Breathing"
    }
  ],
  "count": 1
}
```
