Check it out at api-anime-rouge.vercel.app.
Anime Websites | STATUS |
---|---|
aniwatch | DONE |
gogoanime | WORKING ON IT |
kickassanime | IN FUTURE |
Note
More Websites Will be Added in Future
https://api-anime-rouge.vercel.app/aniwatch/
const resp = await fetch("https://api-anime-rouge.vercel.app/aniwatch/");
const data = await resp.json();
console.log(data);
{
spotlightAnimes: [
{
id: string,
name: string,
rank: number,
img: string,
episodes: {
eps: number,
sub: number,
dub: number,
},
duration: string,
quality: string,
category: string,
releasedDay: string,
descriptions: string,
},
{...},
],
trendingAnimes: [
{
id: string,
name: string,
img: string,
},
{...},
],
latestEpisodes: [
{
id: string,
name: string,
img: string,
episodes: {
eps: number,
sub: number,
dub: number,
},
duration: string,
rated: boolean,
},
{...},
],
top10Animes: {
day: [
{
id: string,
name: string,
rank: number,
img: string,
episodes: {
eps: number,
sub: number,
dub: number,
},
},
{...},
],
week: [...],
month: [...]
},
featuredAnimes: {
topAiringAnimes: [
{
id: string,
name: string,
img: string,
},
{...},
],
mostPopularAnimes: [
{
id: string,
name: string,
img: string,
},
{...},
],
mostFavoriteAnimes: [
{
id: string,
name: string,
img: string,
},
{...},
],
latestCompletedAnimes: [
{
id: string,
name: string,
img: string,
},
{...},
],
},
topUpcomingAnimes: [
{
id: string,
name: string,
img: string,
episodes: {
eps: number,
sub: number,
dub: number,
},
duration: string,
rated: boolean,
},
{...},
],
genres: string[]
}
https://api-anime-rouge.vercel.app/aniwatch/az-list?page=${page}
Parameter | Type | Description | Required? | Default |
---|---|---|---|---|
page |
number | Page No. of Search Page | YES | 1 |
const resp = await fetch("https://api-anime-rouge.vercel.app/aniwatch/az-list?page=69");
const data = await resp.json();
console.log(data);
[
{
"id": string,
"name": string,
"category": string,
"img": string,
"episodes": {
"eps": number,
"sub": number,
"dub": number
}
},
{...},
],
https://api-anime-rouge.vercel.app/aniwatch/anime/:id
Parameter | Type | Description | Required? | Default |
---|---|---|---|---|
id |
string | The unique Anime ID | YES | ----- |
Note
Anime ID should be In Kebab Case
const resp = await fetch(
"https://api-anime-rouge.vercel.app/aniwatch/anime/jujutsu-kaisen-2nd-season-18413"
);
const data = await res.json();
console.log(data);
{
"info": {
"id": string,
"anime_id": number,
"mal_id": number,
"al_id": number,
"name": string,
"img": string,
"rating": string,
"episodes": {
"eps": number,
"sub": number,
"dub": number
},
"category": string,
"quality": string,
"duration": string,
"description": string
},
"moreInfo": {
"Japanese:": string,
"Synonyms:": string,
"Aired:": string,
"Premiered:": string,
"Duration:": string,
"Status:": string,
"MAL Score:": string,
"Studios:": string[],
"Genres": string[],
"Producers": string[]
},
"seasons": [
{
"id": string,
"name": string,
"seasonTitle": string,
"img": string,
"isCurrent": boolean
},
{...},
},
"relatedAnimes": [
{
"id": string,
"name": string,
"category": string,
"img": string,
"episodes": {
"eps": number,
"sub": number,
"dub": number
}
},
{...},
],
"recommendedAnimes": [
{
"id": string,
"name": string,
"img": string,
"episodes": {
"eps": number,
"sub": number,
"dub": number
},
"duration": string,
"rated": boolean
},
{...},
],
"mostPopularAnimes": [
{
"id": string,
"name": string,
"category": string,
"img": string,
"episodes": {
"eps": number,
"sub": number,
"dub": number
}
},
{...},
],
}
https://api-anime-rouge.vercel.app/aniwatch/search?keyword=$(query)&page=$(page)
Parameter | Type | Description | Required? | Default |
---|---|---|---|---|
query |
string | Search Query for Anime | YES | ----- |
page |
number | Page No. of Search Page | YES | 1 |
Note
Search Query should be In Kebab Case
Page No should be a Number
const resp = await fetch(
"https://api-anime-rouge.vercel.app/aniwatch/search?keyword=one+piece&page=1"
);
const data = await res.json();
console.log(data);
{
"animes": [
{
"id": string,
"name": string,
"img": string,
"episodes": {
"eps": number,
"sub": number,
"dub": number
},
"duration": string,
"rated": boolean
},
{...},
],
"mostPopularAnimes": [
{
"id": string,
"name": string,
"category": string,
"img": string,
"episodes": {
"eps": number,
"sub": number,
"dub": number
}
},
{...},
],
"currentPage": number,
"hasNextPage": boolean,
"totalPages": number,
"genres": string[]
}
https://api-anime-rouge.vercel.app/aniwatch/:category?page=$(page)
Parameter | Type | Description | Required? | Default |
---|---|---|---|---|
category |
string | Search Query for Anime | YES | ----- |
page |
number | Page No. of Search Page | YES | 1 |
Note
category should be In Kebab Case
Page No should be a Number
Tip
Add type to Category - "subbed-anime" | "dubbed-anime" | "tv" | "movie" | "most-popular" | "top-airing" | "ova" | "ona" | "special" | "events";
const resp = await fetch(
"https://api-anime-rouge.vercel.app/aniwatch/ona?page=1"
);
const data = await res.json();
console.log(data);
{
"animes": [
{
"id": string,
"name": string,
"img": string,
"episodes": {
"eps": number,
"sub": number,
"dub": number
},
"duration": string,
"rated": boolean
},
{...},
],
"top10Animes": {
"day": [
{
"id": string,
"name": string,
"rank": number,
"img": string,
"episodes": {
"eps": number,
"sub": number,
"dub": number
}
},
{..},
],
"week": [
{
"id": string,
"name": string,
"rank": number,
"img": string,
"episodes": {
"eps": number,
"sub": number,
"dub": number
}
},
{...},
],
"month": [
{
"id": string,
"name": string,
"rank": number,
"img": string,
"episodes": {
"eps": number,
"sub": number,
"dub": number
}
},
{...},
],
"category": string,
"genres": string[],
"currentPage": number,
"hasNextPage": boolean,
"totalPages": number
}
https://api-anime-rouge.vercel.app/aniwatch/episodes/:id
Parameter | Type | Description | Required? | Default |
---|---|---|---|---|
id |
string | Anime ID | YES | ----- |
Note
Anime ID should be In Kebab Case
const resp = await fetch(
"https://api-anime-rouge.vercel.app/aniwatch/episodes/one-piece-100"
);
const data = await res.json();
console.log(data);
{
"totalEpisodes": number,
"episodes": [
{
"name": string,
"episodeNo": number,
"episodeId": string,
"filler": boolean
},
{...},
]
}
https://api-anime-rouge.vercel.app/aniwatch/servers?id=${id}
Parameter | Type | Description | Required? | Default |
---|---|---|---|---|
id |
string | Episode ID | YES | ----- |
Note
Episode ID should be In Kebab Case
important
Note
id is a combination of AnimeId and EpisodeId
eg.
one-piece-100?ep=84802
const resp = await fetch(
"https://api-anime-rouge.vercel.app/aniwatch/servers?id=one-piece-100?ep=84802"
);
const data = await res.json();
console.log(data);
{
"episodeId": string,
"episodeNo": number,
"sub": [
{
"serverName": string,
"serverId": number
},
{...},
],
"dub": [
{
"serverName": string,
"serverId": number
},
{...},
],
}
https://api-anime-rouge.vercel.app/anime/episode-srcs?id={episodeId}&server={server}&category={category}
Parameter | Type | Description | Required? | Default |
---|---|---|---|---|
id |
string | episode Id | Yes | -- |
server |
string | server name. | No | "vidstreaming" |
category |
string | The category of the episode ('sub' or 'dub'). | No | "sub" |
const resp = await fetch(
"https://api-anime-rouge.vercel.app/aniwatch/episode-srcs?id=solo-leveling-18718?ep=120094&server=vidstreaming&category=sub"
);
const data = await resp.json();
console.log(data);
Caution
decryption key changes frequently ..., it sometime may not work
{
headers: {
Referer: string,
"User-Agent": string,
...
},
sources: [
{
url: string,
isM3U8: boolean,
quality?: string,
},
{...}
],
subtitles: [
{
lang: "English",
url: string,
},
{...}
],
anilistID: number | null,
malID: number | null,
}
https://api-anime-rouge.vercel.app/gogoanime/recent-releases?page=${page}
Parameter | Type | Description | Required? | Default |
---|---|---|---|---|
page |
number | Page No. of Search Page | YES | 1 |
const resp = await fetch(
"https://api-anime-rouge.vercel.app/gogoanime/recent-releases"
);
const data = await res.json();
console.log(data);
[
{
"id": string,
"name": string,
"img": string,
"episodeId": string,
"episodeNo": number,
"episodeUrl": string,
"subOrDub": string // "SUB" | "DUB"
},
{...},
]
https://api-anime-rouge.vercel.app/gogoanime/new-seasons?page=${page}
Parameter | Type | Description | Required? | Default |
---|---|---|---|---|
page |
number | Page No. of Search Page | YES | 1 |
const resp = await fetch(
"https://api-anime-rouge.vercel.app/gogoanime/new-seasons"
);
const data = await res.json();
console.log(data);
[
{
"id": string,
"name": string,
"img": string,
"releasedYear": string,
"animeUrl": string
},
{...},
]
https://api-anime-rouge.vercel.app/gogoanime/popular?page=${page}
Parameter | Type | Description | Required? | Default |
---|---|---|---|---|
page |
number | Page No. of Search Page | YES | 1 |
const resp = await fetch(
"https://api-anime-rouge.vercel.app/gogoanime/popular"
);
const data = await res.json();
console.log(data);
[
{
"id": string,
"name": string,
"img": string,
"releasedYear": string,
"animeUrl": string
},
{...},
]
https://api-anime-rouge.vercel.app/gogoanime/anime-movies?page=${page}
Parameter | Type | Description | Required? | Default |
---|---|---|---|---|
page |
number | Page No. of Search Page | YES | 1 |
const resp = await fetch(
"https://api-anime-rouge.vercel.app/gogoanime/anime-movies"
);
const data = await res.json();
console.log(data);
[
{
"id": string,
"name": string,
"img": string,
"releasedYear": string,
"animeUrl": string
},
{...},
]
https://api-anime-rouge.vercel.app/gogoanime/top-airing?page=${page}
Parameter | Type | Description | Required? | Default |
---|---|---|---|---|
page |
number | Page No. of Search Page | YES | 1 |
const resp = await fetch(
"https://api-anime-rouge.vercel.app/gogoanime/top-airing"
);
const data = await res.json();
console.log(data);
[
{
"id": string,
"name": string,
"img": string,
"latestEp": string,
"animeUrl": string,
"genres": string[]
},
{...},
]
Tip
Kindly use this repo to make Front End
#############################################################################