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:
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
2026-06-09 16:21:30 +05:30
parent b73d8d09bf
commit 1433afdca1
20 changed files with 2500 additions and 513 deletions
+91
View File
@@ -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.