Anivexa Anivexa

Anivexa API

A unified anime streaming aggregator API. Resolve episode lists and stream sources across 14 providers using a single AniList ID — no scraping, no guessing, exact-match identity resolution.

💡 All endpoints are read-only. No authentication required. All responses are JSON with CORS headers included.

Base URL

All requests are made to the root of the server. When running locally:

BASE http://localhost:4000

Replace with your deployed URL when in production. Every response includes Access-Control-Allow-Origin: *.

Providers

Fourteen providers are available. Each uses exact-match identity resolution via AniList or MAL IDs — no blind fuzzy matching.

mkissa
MKissa
reanime
Reanime
anikoto
Anikoto
animegg
AnimeGG
anineko
AniNeko
anidbapp
AniDBApp
animenosub
AnimeNoSub
anizone
AniZone
aniwaves
AniWaves
anibd
AniBD
senshi
Senshi
kaa
KickAssAnime
animedunya
AnimeDunya
animeonsen
AnimeOnsen

API Info

GET / Try it ↗

Returns API metadata: version, cache status, list of active providers, and all registered routes.

Response
{
  "name": "Anivexa API 2.2.1",
  "cache": false,
  "providers": ["mkissa", "reanime", "..."],
  "routes": ["/map/:anilistId", "..."]
}

Map IDs

GET /map/:anilistId Try it ↗

Resolves an AniList ID to its equivalents across other databases (MAL, Kitsu, etc.).

ParameterTypeDescription
:anilistIdintegerAniList media ID
Example — /map/16498
{
  "anilistId": 16498,
  "malId": 16498,
  "kitsuId": 7442
}

Episodes

GET /episodes/:anilistId Try it ↗

Fetches episode lists from all providers in parallel for the given AniList ID. Each provider key contains either its episode data or an error object if unavailable.

ParameterTypeDescription
:anilistIdintegerAniList media ID
Response shape
{
  "reanime": {
    "meta": { "title": "Attack on Titan", "malId": 16498 },
    "episodes": {
      "sub": [
        {
          "id":     "watch/reanime/16498/sub/reanime-1",
          "number": 1,
          "title":  "To You, 2,000 Years in the Future",
          "filler": false,
          "audio":  "sub"
        }
      ],
      "dub": [ "..." ]
    }
  },
  "senshi": { "..." },
  "anibd":  { "error": "..." }
}

Episodes (Filtered)

GET /episodes/:provider/:anilistId Try it ↗

Fetch episode data from one or more specific providers. Chain multiple provider names in the path. Use ?map=false to skip the ID map lookup.

ParameterTypeDescription
:providerstringOne or more provider slugs separated by /
:anilistIdintegerAniList media ID
?mapbooleanInclude ID map in response (default: true)
Examples
GET /episodes/reanime/16498
GET /episodes/reanime/senshi/16498
GET /episodes/reanime/senshi/anibd/16498?map=false

MKissa

GET /watch/mkissa/:id/sub|dub/mkissa-:ep Try it ↗

Returns stream sources for the given MKissa episode. The episode ID comes directly from the id field in the episodes list response.

ParameterTypeDescription
:idintegerAniList media ID
sub|dubstringAudio track preference
:epintegerEpisode number
Response
{
  "anilistId": 16498,
  "episode":   1,
  "audio":     "sub",
  "streams": [
    {
      "url":      "https://...",
      "type":     "hls",
      "server":   "Server Name",
      "referer":  "https://...",
      "priority": 5,
      "isActive": true
    }
  ]
}

Reanime

GET /watch/reanime/:id/sub|dub/reanime-:ep Try it ↗

Resolves stream sources from Reanime using AniList ID confirmation via cover image CDN URLs and detail endpoint matching. Returns decrypted HLS streams.

ParameterTypeDescription
:idintegerAniList media ID
sub|dubstringAudio track preference
:epintegerEpisode number
GET /stream/reanime/:id/sub|dub/:ep Try it ↗

Direct stream variant — returns the raw stream response without the watch wrapper. Useful for direct playback.

Anikoto

GET /watch/anikoto/:id/sub|dub/anikoto-:ep Try it ↗

Returns stream sources from Anikoto for the specified episode.

ParameterTypeDescription
:idintegerAniList media ID
sub|dubstringAudio track preference
:epintegerEpisode number

AnimeGG

GET /watch/animegg/:id/sub|dub/animegg-:ep Try it ↗

Returns stream sources from AnimeGG for the specified episode.

ParameterTypeDescription
:idintegerAniList media ID
sub|dubstringAudio track preference
:epintegerEpisode number

AniNeko

GET /watch/anineko/:id/sub|dub/anineko-:ep Try it ↗

Returns stream sources from AniNeko for the specified episode.

ParameterTypeDescription
:idintegerAniList media ID
sub|dubstringAudio track preference
:epintegerEpisode number

AniDBApp

GET /watch/anidbapp/:id/sub|dub/anidbapp-:ep Try it ↗

Returns stream sources from AniDBApp. Uses exact AniList ID confirmation after fuzzy title search before resolving streams.

ParameterTypeDescription
:idintegerAniList media ID
sub|dubstringAudio track preference
:epintegerEpisode number

AnimeNoSub

GET /watch/animenosub/:id/sub|dub/animenosub-:ep Try it ↗

Returns stream sources from AnimeNoSub for the specified episode.

ParameterTypeDescription
:idintegerAniList media ID
sub|dubstringAudio track preference
:epintegerEpisode number

AniZone

GET /watch/anizone/:id/sub|dub/anizone-:ep Try it ↗

Returns stream sources from AniZone for the specified episode.

ParameterTypeDescription
:idintegerAniList media ID
sub|dubstringAudio track preference
:epintegerEpisode number

AniWaves

GET /watch/aniwaves/:id/sub|dub/aniwaves-:ep Try it ↗

Returns AniWaves stream sources for the specified episode, including direct HLS from Vidplay, MyCloud, and BYFMS, DATASV quality MP4 sources, and embed fallbacks.

ParameterTypeDescription
:idintegerAniList media ID
sub|dubstringAudio track preference
:epintegerEpisode number

AniBD

GET /watch/anibd/:id/sub|dub/anibd-:ep Try it ↗

Returns stream sources from AniBD. Resolves the player link, then extracts and returns the HLS URL directly.

ParameterTypeDescription
:idintegerAniList media ID
sub|dubstringAudio track preference
:epintegerEpisode number

Senshi

GET /watch/senshi/:id/sub|dub/senshi-:ep Try it ↗

Returns stream sources from Senshi. Uses MAL ID directly — no slug resolution. Returns all available sources including HLS, alternate servers, FileMoon embeds, and download links when present.

ParameterTypeDescription
:idintegerAniList media ID
sub|dubstringAudio track preference
:epintegerEpisode number
Response
{
  "anilistId":  16498,
  "malId":      16498,
  "episode":    1,
  "audio":      "sub",
  "intro":      { "start": 123, "end": 215 },
  "outro":      { "start": 1435, "end": 1525 },
  "streams": [
    { "url": "https://ninstream.com/.../playlist.m3u8", "type": "hls",   "server": "Senshi",   "priority": 5, "isActive": true  },
    { "url": "https://streamnin.xyz/d/...",              "type": "embed", "server": "StreamNin", "priority": 3, "isActive": false },
    { "url": "https://bysesayeveum.com/e/...",             "type": "embed", "server": "FileMoon",  "priority": 2, "isActive": false }
  ],
  "downloads": [
    { "url": "https://bzzhr.to/...", "label": "Download" }
  ]
}

KickAssAnime

GET /watch/kaa/:id/sub|dub/kaa-:ep Try it ↗

Returns stream sources from KickAssAnime for the specified episode. Streams are served via CatStream (HLS) and require the included Referer header for playback.

ParameterTypeDescription
:idintegerAniList media ID
sub|dubstringAudio track preference
:epintegerEpisode number
Response
{
  "anilistId": 21,
  "episode":   1,
  "audio":     "sub",
  "streams": [
    {
      "url":      "https://hls.krussdomi.com/manifest/.../master.m3u8",
      "type":     "hls",
      "server":   "CatStream",
      "headers": { "Referer": "https://krussdomi.com/" },
      "priority": 1,
      "isActive": true
    }
  ]
}

AnimeDunya

GET /watch/animedunya/:id/sub|dub/animedunya-:ep Try it ↗

Returns stream sources from AnimeDunya for the specified episode. Streams are served as direct HLS playlists with multiple subtitle tracks included.

ParameterTypeDescription
:idintegerAniList media ID
sub|dubstringAudio track preference
:epintegerEpisode number
Response
{
  "anilistId": 16498,
  "malId":     16498,
  "episode":   1,
  "audio":     "sub",
  "streams": [
    {
      "url":       "https://fs2c.anime-dunya.com/files/.../master.m3u8",
      "type":      "hls",
      "server":    "AnimeDunya",
      "referer":   "https://anime-dunya.com/",
      "subtitles": [
        { "url": "https://fs2c.anime-dunya.com/.../en.vtt", "label": "EN", "srclang": "en", "default": true }
      ],
      "priority":  5,
      "isActive":  true
    }
  ]
}

AnimeOnsen

GET /watch/animeonsen/:id/sub/animeonsen-:ep Try it ↗

Returns a DASH manifest and subtitle tracks. Apply each returned authorization header to the manifest and media-segment requests.

ParameterTypeDescription
:idintegerAniList media ID
substringAnimeOnsen provides subtitled streams only
:epintegerEpisode number
Response
{
  "anilistId": 16498,
  "episode": 1,
  "audio": "sub",
  "streams": [
    {
      "url": "https://cdn.animeonsen.xyz/video/mp4-dash/.../manifest.mpd",
      "type": "dash",
      "server": "AnimeOnsen",
      "headers": { "Authorization": "Bearer <session-token>" },
      "subtitles": [ { "url": "https://api.animeonsen.xyz/v4/subtitles/..." } ]
    }
  ]
}