Documentation
Welcome to the Animaple Core API. A highly optimized, Unofficial Otakudesu REST API built with Next.js App Router and TypeScript. It utilizes ScraperAPI to effortlessly bypass Cloudflare protections, providing clean JSON responses for your anime streaming applications.
Base URL
https://animaple-core.vercel.app/apiArchitecture & Limits
This API is designed for speed and reliability using a dual-layer caching strategy:
- Edge Caching: All endpoints are cached at the Vercel Edge Network. Response times for cached hits are typically under 50ms.
- Smart Tiered Revalidation: Cache lifetimes are dynamically optimized to conserve upstream quota. Dynamic endpoints (ongoing/schedule) update every 6 hours, semi-static data every 24 hours, and completed series/movies are cached for 7 days.
- Public Rate Limits: To ensure high availability, public access is securely protected by Upstash Redis. Requests are limited to 30 requests per minute per IP. Rate limit headers are included in every response.
Errors & Status Codes
| Code | Description |
|---|---|
| 200 OK | The request was successful and data is returned. |
| 400 Bad Req | Missing required parameters (e.g., empty slug or keyword). |
| 429 Too Many Req | Rate limit exceeded (Max 30 requests/minute per IP). |
| 500 Server Err | Upstream server is unreachable or formatting changed. |
Homepage Data
Retrieves the latest ongoing and completed anime updates displayed on the Otakudesu homepage.
HTTP Request
/api/homeInteractive Test
Ongoing Anime
Get paginated list of currently ongoing anime.
HTTP Request
/api/ongoing-anime/{page}Parameters
pagenumberRequiredThe page number to fetch (e.g., 1).
Interactive Test
To protect server quota, custom inputs are disabled in this demo. Live testing is restricted to predefined cached values.
Complete Anime
Get paginated list of completed anime.
HTTP Request
/api/complete-anime/{page}Parameters
pagenumberRequiredThe page number to fetch (e.g., 1).
Interactive Test
To protect server quota, custom inputs are disabled in this demo. Live testing is restricted to predefined cached values.
Search Anime
Search for anime titles across the entire database using a specific keyword.
HTTP Request
/api/search/{keyword}Parameters
keywordstringRequiredThe search query (e.g., "naruto"). URL encoding is handled automatically.
Interactive Test
To protect server quota, custom inputs are disabled in this demo. Live testing is restricted to predefined cached values.
Anime Details
Fetches comprehensive metadata for a specific anime, including synopsis, studio, and the complete episode list.
HTTP Request
/api/anime/{slug}Parameters
slugstringRequiredThe unique URL slug of the anime.
Interactive Test
To protect server quota, custom inputs are disabled in this demo. Live testing is restricted to predefined cached values.
Episode Details
Retrieves streaming iframe URLs and multi-resolution direct download links for a specific anime episode.
HTTP Request
/api/episode/{slug}Parameters
slugstringRequiredThe unique slug of the episode.
Interactive Test
To protect server quota, custom inputs are disabled in this demo. Live testing is restricted to predefined cached values.
Movie Details
Retrieves streaming iframe URLs and multi-resolution direct download links specifically for anime movies.
HTTP Request
/api/movie/{slug}Parameters
slugstringRequiredThe unique slug of the anime movie.
Interactive Test
To protect server quota, custom inputs are disabled in this demo. Live testing is restricted to predefined cached values.
Batch Download
Fetches download links for a full season batch (usually in Zip/Rar format).
HTTP Request
/api/batch/{slug}Parameters
slugstringRequiredThe unique slug of the batch.
Interactive Test
To protect server quota, custom inputs are disabled in this demo. Live testing is restricted to predefined cached values.
Release Schedule
Fetches the weekly release schedule for all ongoing anime.
HTTP Request
/api/scheduleInteractive Test
Genre List
Retrieves a list of all available anime genres in the database.
HTTP Request
/api/genreInteractive Test
Anime by Genre
Get paginated list of anime based on a specific genre.
HTTP Request
/api/genre/{genre}/{page}Parameters
genrestringRequiredThe genre slug (e.g., "action").
pagenumberRequiredThe page number to fetch.
Interactive Test
To protect server quota, custom inputs are disabled in this demo. Live testing is restricted to predefined cached values.