Updated 14 files across the repo to reflect v2.3.0: - README.md: version badge, 46 endpoints, self-healing section, changelog - test.js: version 2.3.0 - docs/*: architecture, endpoints, index, streaming — multi-mirror + fallback - public/*: index.html, docs.html, openapi.json, manifest.json, privacy, tos - api/proxy.js: updated example comments - src/routes/apiRoutes.js: endpoint count 36→46 All version refs updated from 2.1.4/2.2.0 → 2.3.0. Endpoint count updated to 46 (added /pipe-health). miruro.tv refs updated to multi-domain (miruro.to/ru/bz/tv). Syntax checks pass on all JS files.
2.5 KiB
MiruroAPI Documentation
Free REST API for anime streaming data. 46 endpoints, 12 providers, M3U8 URLs. No API key required.
Overview
MiruroAPI is a free, open-source REST API that provides anime data by aggregating from AniList GraphQL and Miruro streaming providers. It's built with Node.js and Express, and deployed on Vercel.
Base URL: https://mirurotvapi.vercel.app/api
Quick Start
# Search for anime
curl "https://mirurotvapi.vercel.app/api/search?query=naruto"
# Get anime info
curl "https://mirurotvapi.vercel.app/api/info/20"
# Get episodes
curl "https://mirurotvapi.vercel.app/api/episodes/20"
Live Response — Search:
{
"success": true,
"results": {
"page": 1,
"perPage": 20,
"total": 5000,
"hasNextPage": true,
"results": [
{
"id": 20,
"title": { "romaji": "NARUTO", "english": "Naruto" },
"coverImage": { "large": "https://s4.anilist.co/file/..." },
"format": "TV",
"episodes": 220,
"status": "FINISHED",
"averageScore": 80
}
]
}
}
Features
- 46 Endpoints — Search, info, episodes, streaming, characters, relations, and more
- 12 Streaming Providers — M3U8 URLs with resolution, codec, fansub info
- No API Key — Just make requests, no registration needed
- In-Memory Cache — 1-5 minute TTL for fast responses
- CORS Enabled — Access from any domain
- JSON Responses — Standardized
{success, results}format
Documentation
- API Endpoints Reference — Complete endpoint documentation with real responses
- Streaming Flow Guide — How to get stream URLs step by step
- Code Examples — cURL, JavaScript, Python (all tested and working)
- Architecture — Project structure and design decisions
Response Format
All endpoints return JSON in this format:
{
"success": true,
"results": { ... }
}
Error responses:
{
"success": false,
"message": "Error description"
}
Rate Limiting
Rate limiting is enforced at 100 requests per minute per IP address. The API also uses a 1-5 minute in-memory cache. Repeated requests for the same data will be served from cache.
Disclaimer
This API is for educational purposes only. It fetches data from AniList GraphQL and Miruro streaming providers. We are not affiliated with or endorsed by Miruro. All content belongs to its respective owners.