Skip to main content

Overview

The Anime resource represents individual anime titles in the database. Each anime includes metadata such as name, season, year, media format, and synopsis.

List Anime

GET
endpoint
/api/anime
Retrieve a paginated list of anime.

Query Parameters

page[size]
integer
Number of results per page (default: 15, max: 100)
page[number]
integer
Page number to retrieve
include
string
Comma-separated list of relationships to include. Available includes:
  • animethemes - Anime themes (opening/ending songs)
  • animethemes.song - Songs for each theme
  • animethemes.song.artists - Artists for each song
  • animethemes.animethemeentries - Theme entries
  • animethemes.animethemeentries.videos - Videos for each entry
  • images - Associated images
  • resources - External resources (MAL, AniList, etc.)
  • series - Series this anime belongs to
  • studios - Production studios
  • synonyms - Alternative titles
filter[name]
string
Filter by anime name
filter[year]
integer
Filter by release year
filter[season]
string
Filter by season. Values: Winter, Spring, Summer, Fall
filter[media_format]
string
Filter by media format. Values: TV, Movie, OVA, ONA, Special
fields[anime]
string
Comma-separated list of fields to return. Available fields:
  • anime_id
  • name
  • slug
  • year
  • season
  • media_format
  • synopsis
sort
string
Sort by field. Prefix with - for descending order. Available: name, year, season, created_at, updated_at
q
string
Full-text search query across anime names and synonyms

Response

anime
array
Array of anime objects
anime_id
integer
Unique identifier
name
string
Primary anime title
slug
string
URL-friendly identifier
year
integer
Release year
season
string
Release season (Winter, Spring, Summer, Fall)
media_format
string
Media type (TV, Movie, OVA, ONA, Special)
synopsis
string
Anime description
created_at
string
ISO 8601 timestamp
updated_at
string
ISO 8601 timestamp
Pagination links
meta
object
Pagination metadata

Example Request

curl "https://api.animethemes.moe/api/anime?include=animethemes.song,images&filter[year]=2024&page[size]=10"

Example Response

{
  "anime": [
    {
      "anime_id": 1,
      "name": "Cowboy Bebop",
      "slug": "cowboy_bebop",
      "year": 1998,
      "season": "Spring",
      "media_format": "TV",
      "synopsis": "In the year 2071, humanity has colonized several of the planets and moons of the solar system...",
      "created_at": "2024-01-15T12:00:00.000000Z",
      "updated_at": "2024-01-15T12:00:00.000000Z",
      "animethemes": [
        {
          "theme_id": 1,
          "type": "OP",
          "sequence": 1,
          "slug": "OP1",
          "song": {
            "song_id": 1,
            "title": "Tank!",
            "title_native": null
          }
        }
      ],
      "images": [
        {
          "image_id": 1,
          "facet": "Cover",
          "link": "https://animethemes.moe/storage/images/cowboy_bebop_cover.jpg"
        }
      ]
    }
  ],
  "links": {
    "first": "https://api.animethemes.moe/api/anime?page[number]=1",
    "last": "https://api.animethemes.moe/api/anime?page[number]=50",
    "prev": null,
    "next": "https://api.animethemes.moe/api/anime?page[number]=2"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "path": "https://api.animethemes.moe/api/anime",
    "per_page": 10,
    "to": 10
  }
}

Show Anime

GET
endpoint
/api/anime/:slug
Retrieve a single anime by its slug.

Path Parameters

slug
string
required
The anime slug (URL-friendly identifier)

Query Parameters

include
string
Same includes as list endpoint
fields[anime]
string
Comma-separated list of fields to return

Response

Returns a single anime object with the same structure as the list endpoint.

Example Request

curl "https://api.animethemes.moe/api/anime/cowboy_bebop?include=animethemes.song.artists,studios,series"

Example Response

{
  "anime": {
    "anime_id": 1,
    "name": "Cowboy Bebop",
    "slug": "cowboy_bebop",
    "year": 1998,
    "season": "Spring",
    "media_format": "TV",
    "synopsis": "In the year 2071, humanity has colonized several of the planets and moons of the solar system...",
    "created_at": "2024-01-15T12:00:00.000000Z",
    "updated_at": "2024-01-15T12:00:00.000000Z",
    "animethemes": [
      {
        "theme_id": 1,
        "type": "OP",
        "sequence": 1,
        "slug": "OP1",
        "song": {
          "song_id": 1,
          "title": "Tank!",
          "title_native": null,
          "artists": [
            {
              "artist_id": 1,
              "name": "The Seatbelts",
              "slug": "the_seatbelts"
            }
          ]
        }
      }
    ],
    "studios": [
      {
        "studio_id": 1,
        "name": "Sunrise",
        "slug": "sunrise"
      }
    ]
  }
}

Create Anime

POST
endpoint
/api/anime
Create a new anime entry. Requires authentication.

Request Body

name
string
required
Anime title
slug
string
required
URL-friendly identifier (unique)
year
integer
Release year
season
string
Release season (Winter, Spring, Summer, Fall)
media_format
string
Media format (TV, Movie, OVA, ONA, Special)
synopsis
string
Anime description

Update Anime

PUT
endpoint
/api/anime/:slug
Update an existing anime. Requires authentication.

Request Body

Same fields as create endpoint (all optional).

Delete Anime

DELETE
endpoint
/api/anime/:slug
Soft delete an anime. Requires authentication.

Restore Anime

PATCH
endpoint
/restore/anime/:slug
Restore a soft-deleted anime. Requires authentication.

Force Delete Anime

DELETE
endpoint
/forceDelete/anime/:slug
Permanently delete an anime. Requires authentication.

Build docs developers (and LLMs) love