diff --git a/public/docs.html b/public/docs.html new file mode 100644 index 0000000..37f12e7 --- /dev/null +++ b/public/docs.html @@ -0,0 +1,131 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + +Free RESTful API for anime streaming data. 16 endpoints, 12 providers, M3U8 streaming URLs with subtitles and skip timestamps. Powered by AniList GraphQL and Miruro.
+ + -| Param | Values |
|---|---|
| genre | Action, Romance, Comedy, Drama, Fantasy, Sci-Fi, etc. |
| tag | Isekai, Time Skip, Reincarnation, etc. |
| year | 2025, 2024, etc. |
| season | WINTER · SPRING · SUMMER · FALL |
| format | TV · MOVIE · OVA · ONA · SPECIAL |
| status | RELEASING · FINISHED · NOT_YET_RELEASED · CANCELLED |
| sort | SCORE_DESC · POPULARITY_DESC · TRENDING_DESC · START_DATE_DESC |
{
- "providers": {
- "kiwi": { "episodes": { "sub": [{ "id": "watch/kiwi/20/sub/animepahe-1", "number": 1, ... }] } },
- "bee": { ... },
- "bonk": { ... }
- }
-}
- Try it (Naruto)
- {
- "streams": [
- { "url": "https://.../master.m3u8", "type": "hls", "quality": "1080p" }
- ],
- "subtitles": [ { "file": "...", "label": "English" } ],
- "intro": { "start": 0, "end": 90 },
- "outro": { "start": 1300, "end": 1420 }
-}
- Try it
- streams[0].url into any HLS player (Video.js, hls.js, VLC, mpv). Use intro/outro timestamps for skip buttons.Get M3U8 streaming URLs for any anime episode in 3 simple API calls.
+ +Fetch all episodes from multiple providers
+GET /api/episodes/{anilistId}
+ Get M3U8 URL from episode ID
+GET /api/watch/{provider}/{id}/{cat}/{slug}
+ Feed M3U8 URL to any HLS player
+hls.js / Video.js / VLC / mpv
+ Full-text search, autocomplete, and advanced filtering powered by AniList GraphQL.
+ +Browse trending, popular, upcoming, and currently airing anime. All paginated.
+ +Complete anime metadata — characters, staff, relations, recommendations, trailer, stats.
+ +12 providers with different strengths — sub, dub, download, skip times, thumbnails.
+ +Get started in seconds. No API key required.
+ +const res = await fetch("https://mirurotvapi.vercel.app/api/search?query=naruto");
+const { success, results } = await res.json();
+console.log(results.total); // 5000+
+console.log(results.results[0].title.romaji); // "NARUTO"
+ // Step 1: Get episodes
+const eps = await fetch("https://mirurotvapi.vercel.app/api/episodes/20");
+const { results } = await eps.json();
+const firstEp = results.providers.kiwi.episodes.sub[0];
+
+// Step 2: Get M3U8 URL
+const stream = await fetch(`https://mirurotvapi.vercel.app${firstEp.id}`);
+const { results: sources } = await stream.json();
+console.log(sources.streams[0].url); // "https://.../master.m3u8"
+ curl "https://mirurotvapi.vercel.app/api/search?query=one+piece&per_page=3"+