Discover. Track. Discuss.
β¦ API v1 β¦
Build anime apps, bots, and tools with the ZyniVerse Public API. Free tier available.
The ZyniVerse Public API provides programmatic access to anime filler guides, airing schedules, dub status information, and anime metadata. All endpoints return JSON and are accessible via standard HTTP GET requests with Bearer token authentication.
Base URL: https://zyniverse.vercel.app/api/v1
All API requests require a valid API key sent via the Authorization header.
Request Header
Authorization: Bearer zvn_abc123def456...
Authorization header of every requestError Response (401 β Missing Key)
{
"error": "Missing or invalid API key. Use header: Authorization: Bearer <key>"
}Rate limits are enforced per API key on a daily rolling window. Limits reset at midnight UTC. Each tier also has a per-minute rate limit and a maximum number of keys per account.
| Tier | Requests / Day | Requests / Min | Max Keys | Price |
|---|---|---|---|---|
| Free | 100 | 10 | 10 | βΉ0 |
| Pro | 10,000 | 100 | 25 | βΉ499/mo |
| Enterprise | 100,000 | 1,000 | 100 | βΉ4,999/mo |
βΉ0
100/day
βΉ499/mo
10,000/day
βΉ4,999/mo
100,000/day
When you exceed your daily limit, the API returns a 429 response. Upgrade your plan β
/api/v1/filler/:idGET /api/v1/filler/:id
Get filler/episode guide for a specific anime by AniList ID.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | number | AniList media ID |
Query Parameters
| Parameter | Type | Description |
|---|---|---|
title | string | Optional. Helps disambiguate when AniList ID maps to multiple entries. |
Example Request
curl -H "Authorization: Bearer zvn_your_key_here" \ https://zyniverse.vercel.app/api/v1/filler/21
Example Response
{
"found": true,
"data": {
"title": "One Piece",
"total": 1100,
"filler": 99,
"mangaCanon": 1001,
"animeCanon": 0,
"mixed": 0,
"fillerPercent": 9,
"quickList": [
"2",
"3",
"4"
],
"episodes": [
{
"number": 1,
"title": "I'm Luffy! The Man Who Will Become the Pirate King!",
"type": "manga-canon"
},
{
"number": 2,
"title": "Enter the Great Swordsman!",
"type": "filler"
}
],
"communityVotes": {
"2": {
"filler": 6,
"manga-canon": 1
}
}
}
}/api/v1/scheduleGET /api/v1/schedule
Get airing schedule for currently airing anime within a configurable time window.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
hours_back | number | How far back to look (default: 6) |
hours_ahead | number | How far ahead to look (default: 72) |
Example Request
curl -H "Authorization: Bearer zvn_your_key_here" \ "https://zyniverse.vercel.app/api/v1/schedule?hours_back=12&hours_ahead=48"
Example Response
{
"data": [
{
"mediaId": 21,
"title": "One Piece",
"episode": 1112,
"airingAt": 1712345678,
"timeUntilAiring": 3600,
"coverImage": "https://example.com/cover.jpg",
"format": "TV",
"genres": [
"Action",
"Adventure",
"Fantasy"
]
}
],
"count": 1,
"timeRange": {
"from": 1712340000,
"to": 1712430000
}
}/api/v1/dub-status/:malIdGET /api/v1/dub-status/:malId
Get available dub languages for an anime by MyAnimeList ID.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
malId | number | MyAnimeList media ID |
Example Request
curl -H "Authorization: Bearer zvn_your_key_here" \ https://zyniverse.vercel.app/api/v1/dub-status/21
Example Response
{
"malId": 21,
"available": [
"Hindi",
"Tamil",
"Telugu",
"English"
],
"total_dub_requests": 42,
"last_updated": "2026-07-06T12:00:00.000Z"
}/api/v1/anime/:idGET /api/v1/anime/:id
Get full anime details including metadata, characters, and a summary of filler data.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | number | AniList media ID |
Example Request
curl -H "Authorization: Bearer zvn_your_key_here" \ https://zyniverse.vercel.app/api/v1/anime/21
Example Response
{
"data": {
"id": 21,
"idMal": 21,
"title": {
"romaji": "One Piece",
"english": "One Piece"
},
"format": "TV",
"status": "RELEASING",
"episodes": null,
"genres": [
"Action",
"Adventure"
],
"averageScore": 86,
"popularity": 1000000,
"studios": [
{
"id": 1,
"name": "Toei Animation"
}
],
"filler": {
"total": 1100,
"filler": 99,
"fillerPercent": 9
}
}
}The API uses conventional HTTP response codes to indicate success or failure.
| Status | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request (invalid parameters) |
| 401 | Missing or invalid API key |
| 403 | Key disabled or expired |
| 429 | Rate limit exceeded |
| 500 | Internal server error |
β JavaScript / TypeScript
const API_KEY = "zvn_your_key_here";
const BASE = "https://zyniverse.vercel.app/api/v1";
async function getFiller(anilistId) {
const url = BASE + "/filler/" + anilistId;
const res = await fetch(url, {
headers: { Authorization: "Bearer " + API_KEY },
});
return res.json();
}
// Get One Piece filler guide
getFiller(21).then(console.log);π Python
import requests
API_KEY = "zvn_your_key_here"
BASE = "https://zyniverse.vercel.app/api/v1"
headers = {"Authorization": "Bearer " + API_KEY}
# Get airing schedule
resp = requests.get(BASE + "/schedule?hours_ahead=24", headers=headers)
data = resp.json()
print(data)Get your free API key and start integrating anime data into your app.