mirror of
https://github.com/Shineii86/MiruroAPI.git
synced 2026-10-22 10:15:10 +00:00
v1.3.0: Full landing page upgrade + feature parity with AniKotoAPI
- Full index.html rewrite with AniKotoAPI-style features: * Canvas particle effects (cyan particles) * Scroll-reveal animations (IntersectionObserver) * Animated stat counters (count up on scroll) * Infinite scrolling marquee (8 feature badges) * Live interactive API console (5 presets: Search, Trending, Episodes, Info, Health) * Sidebar endpoint explorer (16 endpoints, multi-language tabs: cURL/JS/Python) * 4 interactive playground cards (Search, Info, Episodes, Trending) * Custom scrollbar, JetBrains Mono font * 4-column grid footer with API/Resources/Legal * Fixed header with scroll-aware glass blur * Ambient orb gradient animations * CTA section with gradient overlay - Added public/404.html (glitch animation error page) - Added public/manifest.json (PWA, theme: #38bdf8) - Added public/robots.txt (Allow /, Disallow /api) - Added public/sitemap.xml (4 URLs) - Added public/tos.html (13 sections) - Added public/privacy.html (8 sections) - Added .env.example, CONTRIBUTING.md, LICENSE, render.yaml, test.js - Added docs/ (5 files: index, endpoints, streaming, examples, architecture) - Updated server.js: clean URL routes (/tos, /privacy), 404.html fallback - Updated package.json: devDependencies nodemon, repository, dev script - All branding: AniKotoAPI → MiruroAPI, cyan color scheme (#38bdf8)
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
# MiruroAPI Documentation
|
||||
|
||||
> Free REST API for anime streaming data. 18 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
|
||||
|
||||
- **18 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.
|
||||
Reference in New Issue
Block a user