Files
MiruroAPI/README.md
T

85 lines
2.2 KiB
Markdown

# MiruroAPI
Free RESTful API for anime streaming data. Powered by AniList GraphQL and Miruro streaming providers.
## Live
- **API**: `https://mirurotvapi.vercel.app`
- **Docs**: `https://mirurotvapi.vercel.app/docs` (Swagger UI)
- **OpenAPI**: `https://mirurotvapi.vercel.app/openapi.json`
- **GitHub**: `https://github.com/Shineii86/MiruroAPI`
## Features
- 16 API endpoints
- AniList GraphQL for metadata (search, trending, info, filter, schedule)
- 12 streaming providers (kiwi, pewe, bee, bonk, bun, ally, nun, twin, cog, moo, hop, telli)
- M3U8 streaming URLs with subtitles and skip timestamps
- In-memory caching with TTL
- CORS enabled
- Swagger UI interactive docs
- Docker support
- Health endpoint
## Endpoints
### Search & Discovery
| Endpoint | Description |
|---|---|
| `GET /api/search?query=naruto` | Search anime by name |
| `GET /api/suggestions?query=naruto` | Autocomplete suggestions |
| `GET /api/filter?genre=Action` | Advanced filter |
### Collections
| Endpoint | Description |
|---|---|
| `GET /api/trending` | Trending anime |
| `GET /api/popular` | Most popular anime |
| `GET /api/upcoming` | Upcoming anime |
| `GET /api/recent` | Currently airing anime |
| `GET /api/spotlight` | Spotlight/featured anime |
| `GET /api/schedule` | Airing schedule |
### Anime Details
| Endpoint | Description |
|---|---|
| `GET /api/info/:id` | Full anime info by AniList ID |
| `GET /api/anime/:id/characters` | Characters with voice actors |
| `GET /api/anime/:id/relations` | Related anime |
| `GET /api/anime/:id/recommendations` | Recommendations |
### Streaming
| Endpoint | Description |
|---|---|
| `GET /api/episodes/:id` | Episode list from all providers |
| `GET /api/sources?episodeId=...&provider=...&anilistId=...` | Streaming sources (detailed) |
| `GET /api/watch/:provider/:anilistId/:category/:slug` | Streaming sources (simple) |
## Streaming Flow
1. `GET /api/episodes/:anilistId` — get episode list with provider IDs
2. `GET /api/watch/:provider/:anilistId/:category/:slug` — get M3U8 URL
3. Play M3U8 in any HLS player
## Setup
```bash
npm install
npm start
```
## Docker
```bash
docker build -t miruroapi .
docker run -p 3000:3000 miruroapi
```
## License
MIT