feat: v1.1.0 - Swagger docs, mappings, Docker, premium landing page

- Swagger UI interactive docs at /docs
- OpenAPI 3.0 spec at /openapi.json
- mappings field in episodes response (anilistId, malId, kitsuId)
- Docker support (Dockerfile + .dockerignore)
- Premium landing page with try-it buttons (Walter-style)
- Health endpoint with providers list and endpoint count
This commit is contained in:
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ
2026-06-09 14:16:33 +05:30
parent 85b8dcfcf0
commit c13e0bbd7e
8 changed files with 538 additions and 37 deletions
+33 -4
View File
@@ -5,6 +5,8 @@ Free RESTful API for anime streaming data. Powered by AniList GraphQL and Miruro
## Live
- **API**: `https://miruroapi-zeta.vercel.app`
- **Docs**: `https://miruroapi-zeta.vercel.app/docs` (Swagger UI)
- **OpenAPI**: `https://miruroapi-zeta.vercel.app/openapi.json`
- **GitHub**: `https://github.com/Shineii86/MiruroAPI`
## Features
@@ -13,29 +15,49 @@ Free RESTful API for anime streaming data. Powered by AniList GraphQL and Miruro
- 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
- 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 |
| `GET /api/filter?genre=Action` | Advanced filter |
### 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 |
| `GET /api/watch/:provider/:anilistId/:category/:slug` | Simple streaming sources |
| `GET /api/sources?episodeId=...&provider=...&anilistId=...` | Streaming sources (detailed) |
| `GET /api/watch/:provider/:anilistId/:category/:slug` | Streaming sources (simple) |
## Streaming Flow
@@ -50,6 +72,13 @@ npm install
npm start
```
## Docker
```bash
docker build -t miruroapi .
docker run -p 3000:3000 miruroapi
```
## License
MIT