mirror of
https://github.com/Shineii86/MiruroAPI.git
synced 2026-10-22 02:05:10 +00:00
v1.2.0
Root cause: createApiRoutes() parameter shift
- Function signature was (app, jsonResponse, jsonError)
- Called from server.js as apiRoutes(jsonResponse, jsonError)
- All params shifted: jsonResponse→jsonError, jsonError→undefined
- Every success response returned {success: false, message: data}
- Health worked because it used res.json() directly
Fix: Removed unused 'app' parameter from createApiRoutes()
All 18 endpoints now return {success: true, results: data}
MiruroAPI
Free RESTful API for anime streaming data. Powered by AniList GraphQL and Miruro streaming providers.
Live
- API:
https://mirurotvapi.vercel.app - Docs:
https://mirurotvapi.vercel.app/docs(Swagger UI) - OpenAPI:
https://mirurotvapi.vercel.app/openapi.json - GitHub:
https://github.com/Shineii86/MiruroAPI
Features
- 16 API endpoints
- AniList GraphQL for metadata (search, trending, info, filter, schedule)
- 12 streaming providers (kiwi, pewe, bee, bonk, bun, ally, nun, twin, cog, moo, hop, telli)
- M3U8 streaming URLs with subtitles and skip timestamps
- In-memory caching with TTL
- CORS enabled
- Swagger UI interactive docs
- Docker support
- Health endpoint
Endpoints
Search & Discovery
| Endpoint | Description |
|---|---|
GET /api/search?query=naruto |
Search anime by name |
GET /api/suggestions?query=naruto |
Autocomplete suggestions |
GET /api/filter?genre=Action |
Advanced filter |
Collections
| Endpoint | Description |
|---|---|
GET /api/trending |
Trending anime |
GET /api/popular |
Most popular anime |
GET /api/upcoming |
Upcoming anime |
GET /api/recent |
Currently airing anime |
GET /api/spotlight |
Spotlight/featured anime |
GET /api/schedule |
Airing schedule |
Anime Details
| Endpoint | Description |
|---|---|
GET /api/info/:id |
Full anime info by AniList ID |
GET /api/anime/:id/characters |
Characters with voice actors |
GET /api/anime/:id/relations |
Related anime |
GET /api/anime/:id/recommendations |
Recommendations |
Streaming
| Endpoint | Description |
|---|---|
GET /api/episodes/:id |
Episode list from all providers |
GET /api/sources?episodeId=...&provider=...&anilistId=... |
Streaming sources (detailed) |
GET /api/watch/:provider/:anilistId/:category/:slug |
Streaming sources (simple) |
Streaming Flow
GET /api/episodes/:anilistId— get episode list with provider IDsGET /api/watch/:provider/:anilistId/:category/:slug— get M3U8 URL- Play M3U8 in any HLS player
Setup
npm install
npm start
Docker
docker build -t miruroapi .
docker run -p 3000:3000 miruroapi
License
MIT
Languages
JavaScript
67.5%
HTML
32%
CSS
0.4%