Files
AniKotoAPI/docs/index.md
T

3.2 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=naruto-eybxz"

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
  • Pagination Metadata — All list endpoints include pagination object with currentPage, totalPages, hasNext, hasPrev
  • CORS Enabled — Access from any domain
  • JSON Responses — Standardized {success, results} format

Documentation

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.