Files
AniKotoAPI/docs/endpoints.md
T
Sʜɪɴᴇɪ Nᴏᴜᴢᴇɴ 12aa1f5235 docs: complete API documentation folder
docs/index.md — Overview, quick start, features
docs/endpoints.md — Full API reference (27 endpoints)
docs/streaming.md — Streaming flow guide (3-step)
docs/examples.md — cURL, JavaScript, Python, Node.js examples
docs/architecture.md — Project structure, tech stack, design

Also fixes streaming endpoints:
- episodeList: Parse AJAX JSON, extract server_ids/timestamp/mal_id
- streamInfo: Parse server list HTML into structured objects
- streamInfo: Parse stream URL from JSON response
2026-06-08 20:58:39 +05:30

14 KiB

API Endpoints Reference

Complete documentation for all AniKotoAPI endpoints.

Base URL: https://anikototvapi.vercel.app/api


Table of Contents


Home

Get homepage data including spotlight, trending, popular, top-airing, genres, and more.

GET /api/

Parameters: None

Example:

curl https://anikototvapi.vercel.app/api
const res = await fetch("https://anikototvapi.vercel.app/api");
const data = await res.json();
import requests
r = requests.get("https://anikototvapi.vercel.app/api")
data = r.json()

Response:

{
  "success": true,
  "results": {
    "spotlight": [...],
    "trending": [...],
    "popular": [...],
    "topAiring": [...],
    "genres": [...]
  }
}

Search for anime by keyword with pagination.

GET /api/search

Parameters:

Parameter Type Required Default Description
keyword string Yes — Search query
page number No 1 Page number

Example:

curl "https://anikototvapi.vercel.app/api/search?keyword=naruto&page=1"
const res = await fetch("https://anikototvapi.vercel.app/api/search?keyword=naruto");
const data = await res.json();
import requests
r = requests.get("https://anikototvapi.vercel.app/api/search", params={"keyword": "naruto"})
data = r.json()

Response:

{
  "success": true,
  "results": {
    "totalPages": 10,
    "data": [
      {
        "title": "Naruto",
        "id": "naruto-xxxxx",
        "slug": "naruto-xxxxx/ep-1",
        "image": "https://...",
        "type": "TV",
        "genres": ["Action", "Adventure"]
      }
    ]
  }
}

Search Suggestions

Get autocomplete suggestions for search queries.

GET /api/search/suggest

Parameters:

Parameter Type Required Description
keyword string Yes Partial search query

Example:

curl "https://anikototvapi.vercel.app/api/search/suggest?keyword=dea"
const res = await fetch("https://anikototvapi.vercel.app/api/search/suggest?keyword=dea");
const data = await res.json();
import requests
r = requests.get("https://anikototvapi.vercel.app/api/search/suggest", params={"keyword": "dea"})
data = r.json()

Response:

{
  "success": true,
  "results": [
    { "title": "Death Note", "slug": "death-note-xxxxx" },
    { "title": "Deadman Wonderland", "slug": "deadman-wonderland-xxxxx" }
  ]
}

Anime Info

Get detailed information about a specific anime.

GET /api/info

Parameters:

Parameter Type Required Description
id string Yes Anime slug

Example:

curl "https://anikototvapi.vercel.app/api/info?id=naruto-shippuden"
const res = await fetch("https://anikototvapi.vercel.app/api/info?id=naruto-shippuden");
const data = await res.json();
import requests
r = requests.get("https://anikototvapi.vercel.app/api/info", params={"id": "naruto-shippuden"})
data = r.json()

Response:

{
  "success": true,
  "results": {
    "title": "Naruto: Shippuuden",
    "japaneseTitle": "ナルト- 疾風伝",
    "image": "https://...",
    "synopsis": "...",
    "type": "TV",
    "status": "Finished Airing",
    "totalEpisodes": 500,
    "genres": ["Action", "Adventure"],
    "malId": 1735,
    "relations": [...],
    "recommendations": [...]
  }
}

Episodes

Get the episode list for an anime.

GET /api/episodes/:id

Parameters:

Parameter Type Required Description
id string Yes Anime slug (path parameter)

Example:

curl "https://anikototvapi.vercel.app/api/episodes/naruto-shippuden"
const res = await fetch("https://anikototvapi.vercel.app/api/episodes/naruto-shippuden");
const data = await res.json();
import requests
r = requests.get("https://anikototvapi.vercel.app/api/episodes/naruto-shippuden")
data = r.json()

Response:

{
  "success": true,
  "results": {
    "animeId": 12345,
    "slug": "naruto-shippuden",
    "totalEpisodes": 500,
    "episodes": [
      {
        "id": "110289",
        "episode_no": 1,
        "slug": "1",
        "title": "",
        "active": true,
        "href": "#",
        "server_ids": "SlNVT25...",
        "timestamp": "1729249503",
        "mal_id": "1735"
      }
    ]
  }
}

Episodes AJAX

Get the AJAX-loaded episode list (same data as episodes, but fetched via AJAX endpoint).

GET /api/episodes-ajax/:id

Parameters:

Parameter Type Required Description
id string Yes Anime ID (numeric, from episodes response)

Example:

curl "https://anikototvapi.vercel.app/api/episodes-ajax/12345"

Watch Page

Get watch page data for a specific episode.

GET /api/watch

Parameters:

Parameter Type Required Description
id string Yes Anime slug
ep number No Episode number

Example:

curl "https://anikototvapi.vercel.app/api/watch?id=naruto-shippuden&ep=1"

Stream Info

Get the streaming URL and metadata for an episode server.

GET /api/stream

Parameters:

Parameter Type Required Description
id string Yes Server link ID (from servers response)

Example:

curl "https://anikototvapi.vercel.app/api/stream?id=MTF1dkFtaW9..."
const res = await fetch("https://anikototvapi.vercel.app/api/stream?id=MTF1dkFtaW9...");
const data = await res.json();
import requests
r = requests.get("https://anikototvapi.vercel.app/api/stream", params={"id": "MTF1dkFtaW9..."})
data = r.json()

Response:

{
  "success": true,
  "results": {
    "linkId": "MTF1dkFtaW9...",
    "url": "https://megaplay.buzz/stream/s-5/94736/sub",
    "skipData": {
      "intro": [0, 0],
      "outro": [0, 0]
    }
  }
}

Server List

Get available streaming servers for an episode.

GET /api/servers

Parameters:

Parameter Type Required Description
ids string Yes Server IDs (from episodes response server_ids field)

Example:

curl "https://anikototvapi.vercel.app/api/servers?ids=SlNVT25..."
const res = await fetch("https://anikototvapi.vercel.app/api/servers?ids=SlNVT25...");
const data = await res.json();
import requests
r = requests.get("https://anikototvapi.vercel.app/api/servers", params={"ids": "SlNVT25..."})
data = r.json()

Response:

{
  "success": true,
  "results": [
    {
      "type": "sub",
      "ep_id": "110289",
      "link_id": "MTF1dkFtaW9...",
      "cmid": "animixplay-xxxxx",
      "sv_id": "323",
      "name": "HD-1"
    },
    {
      "type": "sub",
      "ep_id": "110289",
      "link_id": "MTF1dkFtaW9...",
      "cmid": "animixplay-xxxxx",
      "sv_id": "e54",
      "name": "Vidstream-2"
    }
  ]
}

Mapper Servers

Get alternative streaming servers from the nekostream mapper API.

GET /api/mapper-servers

Parameters:

Parameter Type Required Description
malId number Yes MyAnimeList ID
slug string Yes Anime slug
timestamp string Yes Episode timestamp

Example:

curl "https://anikototvapi.vercel.app/api/mapper-servers?malId=1735&slug=naruto-shippuden&timestamp=1729249503"

Response:

{
  "success": true,
  "results": [
    {
      "provider": "vidstreaming",
      "type": "sub",
      "url": "https://...",
      "download": "https://..."
    }
  ]
}

Schedule

Get anime airing schedule.

GET /api/schedule

Parameters:

Parameter Type Required Default Description
date string No Today Date in YYYY-MM-DD format

Example:

curl "https://anikototvapi.vercel.app/api/schedule"
curl "https://anikototvapi.vercel.app/api/schedule?date=2026-06-08"

Spotlight

Get spotlight/featured anime carousel.

GET /api/spotlight

Parameters: None

Example:

curl "https://anikototvapi.vercel.app/api/spotlight"

Get currently trending anime.

GET /api/trending

Parameters: None

Example:

curl "https://anikototvapi.vercel.app/api/trending"

Top 10

Get top 10 ranked anime (today, week, month).

GET /api/top-ten

Parameters: None

Example:

curl "https://anikototvapi.vercel.app/api/top-ten"

Get most popular anime list.

GET /api/most-popular

Parameters:

Parameter Type Required Default Description
page number No 1 Page number

Example:

curl "https://anikototvapi.vercel.app/api/most-popular?page=1"

New Release

Get recently released episodes.

GET /api/new-release

Parameters:

Parameter Type Required Default Description
page number No 1 Page number

Example:

curl "https://anikototvapi.vercel.app/api/new-release"

Newly Added

Get newly added anime series.

GET /api/newly-added

Parameters:

Parameter Type Required Default Description
page number No 1 Page number

Example:

curl "https://anikototvapi.vercel.app/api/newly-added"

Random

Get random anime information.

GET /api/random

Parameters: None

Example:

curl "https://anikototvapi.vercel.app/api/random"

Filter

Filter anime by genre, type, status, season, and more.

GET /api/filter

Parameters:

Parameter Type Required Description
keyword string Yes Search keyword (can be empty)
genre[] number No Genre IDs (multiple supported)
type[] number No Type IDs (multiple supported)
status[] number No Status IDs (multiple supported)
sort string No Sort order
season string No Season
page number No Page number

Example:

curl "https://anikototvapi.vercel.app/api/filter?keyword=&genre[]=1&genre[]=4"

Suggestions

Get anime suggestions by keyword.

GET /api/suggestions

Parameters:

Parameter Type Required Description
keyword string Yes Search keyword

Example:

curl "https://anikototvapi.vercel.app/api/suggestions?keyword=naruto"

Get trending sidebar widget data.

GET /api/trending-sidebar

Parameters: None

Example:

curl "https://anikototvapi.vercel.app/api/trending-sidebar"

Seasons

Get season information for an anime.

GET /api/seasons/:id

Parameters:

Parameter Type Required Description
id number Yes Anime ID (path parameter)

Example:

curl "https://anikototvapi.vercel.app/api/seasons/12345"

Watch Order

Get recommended watch order for an anime.

GET /api/watch-order/:id

Parameters:

Parameter Type Required Description
id number Yes Anime ID (path parameter)

Example:

curl "https://anikototvapi.vercel.app/api/watch-order/12345"

A-Z List

Get anime listing alphabetically.

GET /api/az-list/:letter

Parameters:

Parameter Type Required Description
letter string Yes Letter or "other" for non-alpha titles

Example:

curl "https://anikototvapi.vercel.app/api/az-list/a"
curl "https://anikototvapi.vercel.app/api/az-list/other"

Genre

Get anime by genre.

GET /api/genre/:name

Parameters:

Parameter Type Required Description
name string Yes Genre slug

Available Genres:

action, adventure, cars, comedy, dementia, demons, drama, ecchi, fantasy, game, harem, historical, horror, isekai, josei, kids, magic, mahou-shoujo, martial-arts, mecha, military, music, mystery, parody, police, psychological, romance, samurai, school, sci-fi, seinen, shoujo, shoujo-ai, shounen, shounen-ai, slice-of-life, space, sports, super-power, supernatural, thriller, unknown, vampire

Example:

curl "https://anikototvapi.vercel.app/api/genre/action"

Type

Get anime by type.

GET /api/type/:name

Parameters:

Parameter Type Required Description
name string Yes Type slug

Available Types: movie, music, ona, ova, special, tv

Example:

curl "https://anikototvapi.vercel.app/api/type/tv"

Status

Get anime by airing status.

GET /api/status/:name

Parameters:

Parameter Type Required Description
name string Yes Status slug

Available Statuses: currently-airing, finished-airing, not-yet-aired

Example:

curl "https://anikototvapi.vercel.app/api/status/currently-airing"