REST API for anime and movie data. This proxy bridges your frontend to miruro.tv's internal pipe API + movie streaming providers.
/api/anime/182300
Returns full anime metadata (info from AniList + pipe API).
/api/providers
Returns all Miruro providers with capabilities, player type, and known CDNs.
/api/providers/bonk
Returns a specific provider's capabilities, player type, and known CDNs.
/api/anime/182300/providers
Returns providers available for this anime, merged with global capabilities and episode counts per category.
/api/anime/182300/episodes?provider=bonk
Returns episode list with provider-specific IDs. Supports provider query param (defaults to first available provider in providerOrder). Response includes availableProviders and provider capabilities.
/api/anime/182300/episodes/1?provider=bonk&category=ssub
Returns streaming sources for a specific episode. Supports provider, category, allProviders=true (try all providers and return first with streams), and prefer=hls (sort HLS streams first). Category is auto-detected from provider capabilities when omitted.
/api/trending?page=1&perPage=20
Trending anime (AniList GraphQL).
/api/popular?page=1&perPage=20
Most popular anime (AniList GraphQL).
/api/recent?page=1&perPage=20
Currently airing / recently updated anime (AniList GraphQL).
/api/search?q=Wistoria
Search anime by title (AniList GraphQL). Supports page and perPage params.
/api/searchv2?sort=POPULARITY_DESC&genres=Action&format=TV&status=FINISHED
Advanced search with filters. Supports sort, type, format, status, genres, tags, year, limit, offset.
/api/browse?season=SPRING&seasonYear=2026&sort=TRENDING_DESC&page=1&perPage=20
Browse seasonal anime with sorting. Supports season (WINTER/SPRING/SUMMER/FALL), seasonYear, sort, format, status, genres, tags, search, endDate_greater, startDate_lesser.
/api/schedule
Today's anime airing schedule with full anime metadata and airing times.
/api/stream?url={base64url}
HLS stream proxy. Fetches M3U8 playlists and TS segments from the CDN with proper Referer headers and CORS.
The url param is a base64url-encoded CDN URL. Used automatically by hls.js when you point it
at a /api/stream?url=... playlist URL.
/api/movie/{tmdb_id}?provider={name}
Extracts movie streaming URL. Optional provider param selects a single provider:
justhd, peachify (all sub-providers), peachify/holly,
peachify/air, peachify/moviebox, peachify/multi,
peachify/net, 2embed, vidsrc.rip.
Without provider, tries all in parallel and picks first verified reachable URL.
Use /api/movie/providers to list available providers.
Returns {"provider": "...", "url": "...", "referer": "..."}.
/api/tv/{tmdb_id}?s={season}&e={episode}&provider={name}
Extracts TV episode streaming URL. Optional provider param selects a single provider:
vidlink, justhd, peachify (all),
peachify/holly, peachify/air, peachify/moviebox,
peachify/multi, peachify/net.
Without provider, tries vidlink.pro first, then justhd as fallback.
Use /api/tv/providers to list available providers.
Returns {"provider": "...", "url": "...", "referer": "...", "captions": [...]}.
Query params s and e default to 1.
/api/movie/proxy?url={url}&ref={referer}
Proxies movie M3U8 playlists and TS/.woff2 segments with proper Referer headers. Use this after getting a stream URL from /api/movie/{id}.
/api/tv/proxy?url={url}&ref={referer}
Proxies TV M3U8 playlists and TS segments with proper Referer headers. Identical to /api/movie/proxy. Use this after getting a stream URL from /api/tv/{id}.
/api/movie/trending
Trending movies today. Returns {"total": N, "page": 1, "results": [...]}. Results include id, title, type, year, rating, poster, backdrop.
/api/movie/popular
Popular movies (all-time). Same format as trending.
/api/movie/top_rated
Top-rated movies.
/api/movie/now_playing
Movies currently in theaters.
/api/movie/upcoming
Upcoming movies.
/api/movie/search?q={query}&page={page}
Search movies and TV shows by title. Uses TMDB multi search.
/api/movie/discover?genre={genre_id}&sort={sort_by}&page={page}
Discover movies by genre (e.g. 28 for Action, 878 for Sci-Fi).
Default sort: popularity.desc. Use /api/genres?type=movie to get genre IDs.
/api/tv/trending /api/tv/popular /api/tv/airing_today /api/tv/on_the_air
TV show discovery endpoints. Same response format as movie discovery.
/api/genres?type=movie|tv
Returns genre list with IDs: {"genres": [{"id": 28, "name": "Action"}, ...]}.
/api/movie/providers
Lists available movie stream providers with labels, types, and notes.
/api/tv/providers
Lists available TV stream providers with labels, types, and notes.
/api/health
Health check: server status, uptime, cache size, thread pool config, rate limit.
Supported internal providers (in Miruro's configured order): bonk, bee, ally, kiwi, hop, pewe, moo, nun, bun, twin, cog, telli.
External providers may also appear per-anime (e.g. UNIQUESTREAM, ANIMEDUNYA, SENSHI, CRUNCHYROLL).
Categories: sub (hardsubbed), dub (dubbed), ssub (softsub — separate subtitle tracks), sdub (softsub dub). Not every provider supports every category; use /api/providers or /api/anime/:id/providers to check capabilities.
The ssub/sdub categories return subtitles in the response — VTT or ASS tracks for frontend rendering.
Providers: justhd (vaplayer.ru HLS), peachify (AES-256-GCM: holly/air/moviebox/multi/net), 2embed (uqloads), vidsrc.rip (XOR VRF).
Select one with ?provider=justhd or ?provider=peachify/holly.
Omit provider to run all in parallel and pick the first reachable URL.
Providers: vidlink (enc-dec.app → vidlink.pro), justhd (vaplayer.ru HLS), peachify (AES-256-GCM: holly/air/moviebox/multi/net).
Select one with ?provider=vidlink or ?provider=justhd.
Omit provider to try vidlink first, then justhd.
# Anime
curl http://localhost:8000/api/providers
curl http://localhost:8000/api/providers/bonk
curl http://localhost:8000/api/anime/178789/providers
curl http://localhost:8000/api/anime/178789/episodes?provider=bonk
curl http://localhost:8000/api/anime/178789/episodes/3?provider=bonk&category=ssub
curl http://localhost:8000/api/anime/178789/episodes/3?allProviders=true&prefer=hls
# Discovery
curl http://localhost:8000/api/movie/trending
curl http://localhost:8000/api/movie/search?q=backrooms
curl http://localhost:8000/api/movie/discover?genre=28&sort=vote_average.desc
curl http://localhost:8000/api/tv/popular
curl http://localhost:8000/api/genres?type=movie
# Movie stream (auto — all providers parallel)
curl http://localhost:8000/api/movie/454639
# → {"provider":"justhd","url":"https://...m3u8","referer":"https://vaplayer.ru/"}
# Movie stream (explicit provider)
curl "http://localhost:8000/api/movie/454639?provider=peachify/holly"
curl "http://localhost:8000/api/movie/454639?provider=2embed"
# TV stream (auto — vidlink first, then justhd)
curl "http://localhost:8000/api/tv/1396?s=1&e=1"
# → {"provider":"vidlink.pro","url":"https://...m3u8","referer":"https://vidlink.pro/","captions":[...]}
# TV stream (explicit provider)
curl "http://localhost:8000/api/tv/1396?s=1&e=1&provider=justhd"
# Play movie/TV stream:
# hls.js → /api/movie/proxy?url={encoded_url}&ref={encoded_referer}
# hls.js → /api/tv/proxy?url={encoded_url}&ref={encoded_referer}