Skip to content

walterwhite-69/Anivexa-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Anivexa API 2.2

Anime streaming aggregator API — one endpoint, all your sources.

Views Discord GitHub stars


What is this?

A single API that aggregates anime episode lists and streaming links from multiple providers. Give it an AniList ID, get back everything — episodes, sources, and stream URLs — all in one place.

It's the backbone powering Anivexa, a full anime streaming client built on top of this.


Providers

Provider Status Notes
AllManga ❌ Unusable Cloudflare Turnstile on all pages — scraping not possible
AnimePahe ❌ Removed Cloudflare JS Challenge — no reliable bypass
Reanime ✅ Active Solid source for a wide range of titles
AniKoto ✅ Active Good library, consistent
AnimeGG ✅ Active Fuzzy title matching + compact-query fix for sequels (e.g. Re:Zero S4)
AniNeko ✅ Active Reliable slug-based matching
AniDB App ✅ Active Language-aware, AniDB ID backed
AniZone ✅ Active HLS + subtitles, sub-only; year-based re-scoring prevents wrong-season matches
2dhive ✅ Active Uses MAL ID internally; AniList ID used everywhere else

Routes

GET /map/:anilistId

Returns cross-platform ID mappings — MAL, TVDB, TMDB, Kitsu, AniDB, and more.

GET /episodes/:anilistId
GET /episodes/:provider[/:provider...]/:anilistId

Returns episode lists in a single response with smart background refresh. Pass one or more provider names in the path to filter results — e.g. /episodes/anizone/allmanga/16498 returns only those two. Omit providers to get all of them.

GET /watch/:provider/:anilistId/sub|dub/:provider-:ep

Returns stream URLs for a specific episode from a specific provider.

GET /stream/reanime/:id/sub|dub/:ep

302 redirect directly to the HLS stream.


Self-hosted

git clone https://github.com/walterwhite-69/Anivexa-API
cd Anivexa-API
node server.js

Runs on Node.js. No build step needed.


Deploying on Vercel

The API works on Vercel out of the box. However, AniDB App makes direct requests to anidb.app, and Vercel's serverless IPs tend to get blocked by it. To fix this, deploy the included proxy worker to Cloudflare Workers and set your proxy URL in providers/anidbapp.js.

1. Deploy the proxy worker

You need Node.js and a free Cloudflare account.

npm install -g wrangler
wrangler login
cd proxy
wrangler deploy

This deploys a small worker to your Cloudflare account. Copy the URL it gives you (e.g. https://anidb-proxy.yourname.workers.dev).

2. Set your proxy URL

Open providers/anidbapp.js and replace the placeholder:

const PROXY = "YOUR_PROXY_URL";

with your deployed worker URL:

const PROXY = "https://anidb-proxy.yourname.workers.dev";

3. Deploy to Vercel

vercel --prod

The provider will try a direct request to anidb.app first. If that gets blocked, it automatically falls back through your proxy worker.


What changed recently

AniZone (new provider)

  • Sub-only HLS streams with subtitle and chapter support
  • Parses Alpine.js x-data blobs directly from the page — no API needed
  • Year-based re-scoring on resolveSeries prevents wrong-season matches when AniZone uses (YEAR) suffixes
  • Compact-query fallback (e.g. Re:ZEROReZERO) to catch all season variants in search

2dhive (MAL ID fix)

  • 2dhive URLs are keyed by MAL ID, not AniList ID — fixed across all episode and stream endpoints
  • AniList ID is still used for all route IDs and response metadata; only the actual 2dhive network calls use the resolved MAL ID

AnimeGG (search fix)

  • Added compact-query fallback in searchFn (same strategy as AniZone) so titles like "Re:Zero" resolve to "ReZero" before hitting AnimeGG's search — catches all season slugs including rezero-starting-life-in-another-world-season-4

AllManga

  • Cloudflare Turnstile was added sitewide — the provider code is still present but the source is unreachable without a real browser solving the challenge. Marked unusable.

AnimePahe

  • Removed from the active provider list. Switched to Cloudflare JS Challenge; no reliable server-side bypass exists. Code retained but not wired into the episode aggregator.

Contributing

Only request providers that self-host their content. No scrapers of third-party sites.

Got a provider you'd like added? Open an issue or drop it in the Discord.

This project is community-kept-alive — if it helps you, please:

  • Star the repo so others can find it
  • 💬 Join the Discord to discuss, report issues, or suggest providers
  • 🛠️ Open a PR if you want to add or fix something

hope it helped :3

Discord

About

Anime streaming aggregator API — episodes & stream links from multiple providers via a single AniList ID.

Topics

Resources

Stars

31 stars

Watchers

2 watching

Forks

Contributors