mirror of
https://github.com/Shineii86/MiruroAPI.git
synced 2026-10-22 10:15:10 +00:00
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.
92 lines
2.5 KiB
Markdown
92 lines
2.5 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
# 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:**
|
|
|
|
```json
|
|
{
|
|
"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](endpoints.md) — Complete endpoint documentation with real responses
|
|
- [Streaming Flow Guide](streaming.md) — How to get stream URLs step by step
|
|
- [Code Examples](examples.md) — cURL, JavaScript, Python (all tested and working)
|
|
- [Architecture](architecture.md) — Project structure and design decisions
|
|
|
|
## Response Format
|
|
|
|
All endpoints return JSON in this format:
|
|
|
|
```json
|
|
{
|
|
"success": true,
|
|
"results": { ... }
|
|
}
|
|
```
|
|
|
|
Error responses:
|
|
|
|
```json
|
|
{
|
|
"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.
|