- Add multi-mirror fallback system with 5 mirror domains - Add LRU cache with configurable TTL per endpoint - Add response compression (gzip) - Add Seasons endpoint (/api/seasons/:id) - Add Watch Order endpoint (/api/watch-order/:id) - Add Latest Updated endpoint (/api/latest-updated) - Add Download endpoint (/api/download) - Add cache stats endpoint (/api/cache/stats) - Add mirror status/reset endpoints (/api/mirrors, /api/mirrors/reset) - Add configurable rate limiting with X-RateLimit headers - Add request timeouts and entity too large handling - Update documentation with all new endpoints - Update CHANGELOG.md with v2.0.0 entry - Update package.json version to 2.0.0 - Add 6 AI agent prompts for development
3.0 KiB
AniKotoAPI Documentation
Free REST API for anime data. Browse, search, stream — no API key required.
Overview
AniKotoAPI is a free, open-source REST API that provides anime data scraped from anikototv.to. It's built with Node.js, Express, and Cheerio, and deployed on Vercel.
Base URL: https://anikototvapi.vercel.app/api
Quick Start
# Get homepage data (spotlight, trending, top-airing, genres)
curl https://anikototvapi.vercel.app/api
# Search for anime
curl "https://anikototvapi.vercel.app/api/search?keyword=naruto"
# Get anime info
curl "https://anikototvapi.vercel.app/api/info?id=road-of-naruto-ggjw8"
Live Response — Homepage:
{
"success": true,
"results": {
"spotlights": [
{
"slug": "wistoria-wand-and-sword-season-2-dua04",
"poster": "https://cdn.anipixcdn.co/background/101f58336250ee0d_1779363645.webp",
"title": "Wistoria: Wand and Sword Season 2",
"japaneseTitle": "Tsue to Tsurugi no Wistoria Season 2",
"rating": "PG-13",
"quality": "HD"
}
],
"trending": [
{
"slug": "witch-hat-atelier-ikmut/ep-11",
"poster": "https://cdn.anipixcdn.co/thumbnail/0412057393e8a45b3ba8b16874b6034d.jpg",
"title": "Witch Hat Atelier",
"japaneseTitle": "Tongari Boushi no Atelier",
"sub": 11,
"dub": 11,
"total": 13,
"type": "TV"
}
],
"topAiring": [...],
"genres": ["Action", "Adventure", "Cars", "Comedy", ...]
}
}
Features
- 33 Endpoints — Home, search, info, episodes, streaming, schedule, seasons, watch order, download, and more
- No API Key — Just make requests, no registration needed
- LRU Cache — Configurable TTL per endpoint type (3min to 60min)
- Multi-Mirror Fallback — Automatic failover across 5 mirror domains
- Response Compression — Gzip compression for faster responses
- CORS Enabled — Access from any domain
- JSON Responses — Standardized
{success, results}format
Documentation
- API Endpoints Reference — Complete endpoint documentation with real responses
- Streaming Flow Guide — How to get stream URLs step by step
- Code Examples — cURL, JavaScript, Python (all tested and working)
- Architecture — Project structure and design decisions
Response Format
All endpoints return JSON in this format:
{
"success": true,
"results": { ... }
}
Error responses:
{
"success": false,
"message": "Error description"
}
Rate Limiting
Rate limiting is configurable via environment variables (RATE_LIMIT, RATE_WINDOW). Default is 100 requests per 60 seconds per IP. Includes X-RateLimit-Limit and X-RateLimit-Remaining headers.
Disclaimer
This API is for educational purposes only. It scrapes publicly available data from anikototv.to. We are not affiliated with or endorsed by AniKoto. All content belongs to its respective owners.