🎌 Anime-duo

RESTful API for Anime Streaming - Educational Purposes Only

Node.js Version 1.0.0 REST API Open Source
🌐 Live Demo ⭐ GitHub

⚠️ Disclaimer

  1. This API does not store any files, it only links to media hosted on 3rd party services.
  2. This API is explicitly made for educational purposes only and not for commercial usage. This repo will not be responsible for any misuse of it.

🏠 GET Home Info

GET /api/

Retrieve comprehensive home page information including spotlights, trending anime, schedules, and more.

Example Request

import axios from "axios";
const resp = await axios.get("/api/");
console.log(resp.data);

Response Structure

Returns: spotlights, trending, today's schedule, topAiring, mostPopular, mostFavorite, latestCompleted, latestEpisode, and genres.

🔥 GET Top 10 Anime

GET /api/top-ten

Get the top 10 anime for today, this week, and this month.

Example Request

import axios from "axios";
const resp = await axios.get("/api/top-ten");
console.log(resp.data);

📺 GET Anime Info

GET /api/info?id={anime-id}

Parameters

Parameter Type Description Required
id string Anime ID ✅ Yes

Example Request

import axios from "axios";
const resp = await axios.get("/api/info?id=one-piece-100");
console.log(resp.data);

🎲 GET Random Anime

GET /api/random

Get information about a random anime with related and recommended data.

Example Request

import axios from "axios";
const resp = await axios.get("/api/random");
console.log(resp.data);

📂 GET Categories

GET /api/{category}?page={number}

Parameters

Parameter Type Description Required Default
category string Category name ✅ Yes -
page number Page number ❌ No 1

Available Categories

top-airing
most-popular
most-favorite
completed
recently-updated
recently-added
top-upcoming
subbed-anime
dubbed-anime
movie
tv
ova
ona
special

Genres

genre/action
genre/adventure
genre/comedy
genre/drama
genre/fantasy
genre/horror
genre/isekai
genre/romance
genre/sci-fi
genre/sports
genre/supernatural
And many more...

Example Request

import axios from "axios";
const resp = await axios.get("/api/most-popular?page=1");
console.log(resp.data);

🎬 GET Producer/Studio Anime

GET /api/producer/{producer-name}?page={number}

Example Request

import axios from "axios";
const resp = await axios.get("/api/producer/ufotable?page=1");
console.log(resp.data);

🎯 GET Filter Anime

GET /api/filter

Parameters

Parameter Type Description Default
type string Type (movie, tv, etc.) ALL
status string Status (finished, currently_airing) ALL
rated string Rating (G, PG, etc.) ALL
score string Score (1-10) ALL
season string Season (spring, summer, etc.) ALL
language string Language (sub, dub) ALL
genres string Comma-separated genres ALL
sort string Sort method DEFAULT
page number Page number 1

Example Request

import axios from "axios";
const resp = await axios.get("/api/filter?type=2&status=1&page=1");
console.log(resp.data);

📅 GET Schedule

GET /api/schedule?date={YYYY-MM-DD}

Get the schedule of upcoming anime for a specific date.

Example Request

import axios from "axios";
const resp = await axios.get("/api/schedule?date=2024-09-23");
console.log(resp.data);

Next Episode Schedule

GET /api/schedule/{anime-id}

Get the schedule for the next episode of a specific anime.

📺 GET Episodes

GET /api/episodes/{anime-id}

Retrieve the complete episode list for an anime.

Example Request

import axios from "axios";
const resp = await axios.get("/api/episodes/one-piece-100");
console.log(resp.data);

🖥️ GET Available Servers

GET /api/servers/{anime-id}?ep={episode-id}

Get all available streaming servers for an anime episode.

Example Request

import axios from "axios";
const resp = await axios.get("/api/servers/one-piece-100?ep=12345");
console.log(resp.data);

▶️ GET Streaming Info

GET /api/stream?id={episode-id}&server={server-name}&type={sub/dub}

Parameters

Parameter Type Description Required
id string Episode ID ✅ Yes
server string Server name ✅ Yes
type string sub or dub ✅ Yes

Example Request

import axios from "axios";
const resp = await axios.get("/api/stream?id=one-piece-100?ep=107257&server=hd-1&type=sub");
console.log(resp.data);

Fallback Streaming

GET /api/stream/fallback?id={episode-id}&server={server-name}&type={sub/dub}

Alternative streaming source if primary fails.

👥 GET Characters

GET /api/character/list/{anime-id}

Get the list of characters and voice actors for an anime.

Example Request

import axios from "axios";
const resp = await axios.get("/api/character/list/one-piece-100");
console.log(resp.data);

Character Details

GET /api/character/{character-id}

Get detailed information about a specific character.

Voice Actor Details

GET /api/actors/{actor-id}

Get detailed information about a voice actor.

💡 GET Qtip Info

GET /api/qtip/{anime-data-id}

Get quick tooltip information for an anime.

Example Request

import axios from "axios";
const resp = await axios.get("/api/qtip/3365");
console.log(resp.data);

🤝 Contributing

Pull Requests

Pull requests are welcomed that address bug fixes, improvements, or new features.

Reporting Issues

If you discover any issues or have suggestions for improvement, please open an issue on GitHub.

Support

If you like the project, feel free to drop a star ✨. Your appreciation means a lot!