Anime streaming API

AnimeDoc is an anime and movie streaming API with search, details and playback endpoints, plus a free site to watch anime online.

What the AnimeDoc API does

AnimeDoc gives your app one REST API for anime and movies: search the catalog, show title details and episode lists, and play episodes. You don't scrape anything or keep up with changing sites; you call documented endpoints with an API key.

  • Search anime, animation, movies and series, with autocomplete suggestions.
  • Details for a title: synopsis, cover art, genres, rating, dubs, seasons and episode counts.
  • Media sources for an episode or movie: video files in several resolutions, plus subtitle tracks.
  • Stream proxy that serves those videos with byte-range support, so <video> and mobile players can seek.
Get free keySee pricing

Endpoints

EndpointMethodUse it for
Home FeedGETEverything a streaming front page needs in one call: banners and ready-made catalog rows.
SectionGETA ready-made page for one section (anime, movies, series, asian, bollywood, nollywood), or that section's filtered list.
TrendingGETWhat most people are watching right now, across anime, movies and series.
BrowseGETList a channel (movies, series or animation) sorted by latest, most popular or top rated, optionally by genre and country.
Search SuggestionsPOSTAutocomplete: turn a partial keyword into likely search terms.
SearchPOSTFull-text catalog search across anime, animation, movies and series, with pagination.
DetailsGETFull metadata for one title, plus its seasons and episode counts.
Media SourcesGETPlayable video URLs (several resolutions) and subtitle tracks for one episode or movie.
Stream ProxyGETStreams a Media Sources URL back through AnimeDoc, with byte-range support, so players can seek.

Base URL: https://api.animedoc.cloud. Authentication: X-API-Key header. Full reference in the docs and the OpenAPI spec.

Code examples

JavaScript

const API = "https://api.animedoc.cloud/api/v2";
const headers = { "X-API-Key": process.env.ANIMEDOC_API_KEY, "Content-Type": "application/json" };

// 1. Search
const search = await fetch(`${API}/anime/search/`, {
  method: "POST", headers,
  body: JSON.stringify({ keyword: "jujutsu kaisen", page: 1, perPage: 5 }),
}).then((r) => r.json());
const title = search.data.items[0];

// 2. Seasons and episode counts
const detail = await fetch(`${API}/anime/detail/?detailPath=${title.detailPath}`, { headers }).then((r) => r.json());
console.log(detail.data.resource.seasons); // [{ se: 1, maxEp: 24 }, ...]

// 3. Playable sources for season 1, episode 1
const qs = new URLSearchParams({ subjectId: title.subjectId, detailPath: title.detailPath, se: 1, ep: 1 });
const media = await fetch(`${API}/anime/media-sources/?${qs}`, { headers }).then((r) => r.json());
const source = media.data.downloads.find((d) => d.url && !d.vipLocked);
console.log(source.resolution, source.url);

Python

import os
import requests

API = "https://api.animedoc.cloud/api/v2"
s = requests.Session()
s.headers["X-API-Key"] = os.environ["ANIMEDOC_API_KEY"]

items = s.post(f"{API}/anime/search/", json={"keyword": "frieren", "perPage": 5}).json()["data"]["items"]
title = items[0]
detail = s.get(f"{API}/anime/detail/", params={"detailPath": title["detailPath"]}).json()["data"]
print(title["title"], detail["resource"]["seasons"])

cURL

curl -X POST "https://api.animedoc.cloud/api/v2/anime/search/" \
  -H "X-API-Key: $ANIMEDOC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword": "demon slayer", "page": 1, "perPage": 5}'

Who it's for

  • Web apps: an anime streaming site or watchlist in React, Next.js or Vue. See the React tutorial.
  • Mobile apps: React Native or Flutter players. See the React Native tutorial.
  • Bots: search and episode lookups in Discord or Telegram.
  • Movie apps: the same catalog covers movies and series, so it doubles as an anime movie API.

Plans and limits

PlanRequests / dayRequests / minuteStream proxyPrice
Free2010No$0
Starter3,00060Yes$12/month or $60/6 months
Pro20,000300Yes$22/month or $110/6 months
Business500,000+CustomYesFrom $100/month
3-Day Pass2,00060Yes$1 for 3 days

Start free with no credit card: 20 requests a day is enough to build and test. Paid plans add the stream proxy, more requests and commercial use. See pricing.

Get free keyRead the docs