Files
MiruroAPI/docs/index.md
Shinei Nouzen a6acfc6445 docs: full sweep — update all files to v2.3.0 with self-healing system
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.
2026-07-02 07:23:27 +05:30

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

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.