REST API · v1.0

Anikoto Scraper API

A high-performance REST API for scraping anime data from anikototv.to — built with Next.js, Cheerio, and in-memory caching.

Author: Teramoto

12 EndpointsIn-Memory CacheTypeScript

Response Format

{
  "ok": true,
  "data": { ... }
}

// On error:
{
  "ok": false,
  "message": "Error description"
}

Endpoints

GET/api/home

Home page data: spotlight carousel, latest episodes, new release, top anime by day/week/month.

Parameters
refreshstringoptionalSet to 1 to bypass cache
GET/api/search

Search anime by keyword.

Parameters
keywordstringrequiredSearch term (required)
refreshstringoptionalSet to 1 to bypass cache
GET/api/filter?keyword=&type=&sort=default

Advanced anime filter with multiple parameters.

Parameters
keywordstringoptionalSearch keyword
genre[]string[]optionalGenre ID (e.g. 1 for Action, 2 for Adventure)
season[]string[]optionalSeason (spring | summer | fall | winter)
year[]string[]optionalYear (e.g. 2026, 2025)
term_type[]string[]optionalType (Movie | Music | ONA | OVA | Special | TV)
status[]string[]optionalStatus (currently-airing | finished-airing | not-yet-aired)
language[]string[]optionalLanguage (sub | dub)
rating[]string[]optionalRating (G | PG | PG-13 | R | R+ | Rx)
sortstringoptionalSort order (latest-updated | score | name-az | release-date | etc.)
pagenumberoptionalPage number (default: 1)
GET/api/anime/:slug

Get anime detail info: title, synopsis, genres, studios, MAL score, episode count, status.

Parameters
slugstringrequiredAnime slug from the URL (e.g. one-piece-odmau)
refreshstringoptionalSet to 1 to bypass cache
GET/api/anime/:slug/episodes

Get a list of anime episodes for a given anime, optionally filtered by episode range.

Parameters
slugstringrequiredAnime slug from the URL
refreshstringoptionalSet to 1 to bypass cache
startstringoptionalStarting episode number for the range
endstringoptionalEnding episode number for the range
GET/api/latest

Paginated listing of latest/popular anime.

Parameters
typestringoptionallatest-updated | new-release | most-viewed (default: latest-updated)
pagenumberoptionalPage number (default: 1)
GET/api/status

Get anime by airing status.

Parameters
typestringoptionalcurrently-airing | finished-airing | not-yet-aired (default: currently-airing)
pagenumberoptionalPage number (default: 1)
GET/api/genre/:genre

Browse anime by genre.

Parameters
genrestringrequiredGenre slug (action | romance | isekai | fantasy | etc.)
pagenumberoptionalPage number (default: 1)
GET/api/type/:type

Browse anime by media type.

Parameters
typestringrequiredtv | movie | ova | ona | special | music
pagenumberoptionalPage number (default: 1)
GET/api/schedule

Get weekly airing schedule.

Parameters
refreshstringoptionalSet to 1 to bypass cache
GET/api/watch/:slug

Get streaming servers and direct m3u8 URLs (with proxy & subtitles) for a specific episode.

Parameters
slugstringrequiredAnime slug from the URL
epstringrequiredEpisode number to watch
GET/api/proxy

Internal streaming proxy to bypass Cloudflare and CORS restrictions for m3u8 video streams and subtitles.

Parameters
urlstringrequiredThe target m3u8 or subtitle URL to proxy
refererstringoptionalThe referer header to bypass hotlink protection