Skip to content

dhilz/apianime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Logo

Comptutor Anime Api

RESTFUL API Streaming Anime Subtitle Indonesia

Table of Contents

Installation

Local

Run command berikut untuk mengclone repo ini, dan menginstall dependencies:

git clone https://github.com/dhilz/animeapi.git
cd animeapi
npm install #atau yarn install

Start server dengan command berikut:

npm start #atau yarn start

Server akan berjalan di http://localhost:3001

List Source

Beberapa source mungkin tidak support dengan beberapa fitur. Dikarenakan kurangnya informasi pada website asli.

Source Fitur yang bermasalah
Kuronime
  • 🟑 Mendapatkan Streaming URL mungkin agak lama karena link url di Enkripsi dan harus di Dekripsi dahulu dari playernya.
  • πŸ”΄ Source video selain local tidak di support
Kuramanime
  • πŸ”΄ Anime Terbaru tidak menampilkan yang terbaru melainkan campur aduk.
  • πŸ”΄ Anime Popular juga sama dengan yang diatas.
  • πŸ”΄ Beberapa page hanya memiliki maximum 8 page.
Nanime
  • πŸ”΄ Tidak support direct Streaming URL hanya bisa menggunakan embed.
  • πŸ”΄ Tidak ada Anime Popular.
Otaku Desu Cancelled
  • πŸ”΄ Slug URL Details Anime berbeda dengan Slug URL Episode

Jika kalian tau website anime subtitle anime yang bagus dan detail mohon kontak saya. Akan saya include di sini, Terima kasih!

Routes

Contoh dibawah menggunakan Fetch API, kamu juga bisa menggunakan library http lainnya.

Get Recent Episodes

Parameter Description
page (int) pilih page dari maximum page. Default : 1
fetch("localhost:3001/{source}/recent")
  .then((response) => response.json())
  .then((animelist) => console.log(animelist));

Output >>

{
  "list": [
     {
      "slug": string,
      "title": string,
      "episode?": number, //(optional)
      "cover": string,
      "url": string,
      },
     {...}
   ],
   "maxPage": number,
   "page": number,
}

Get Popular Anime

Parameter Description
page (int) pilih page dari maximum page. Default : 1
fetch("localhost:3001/{source}/popular")
  .then((response) => response.json())
  .then((animelist) => console.log(animelist));

Output >>

{
  "list": [
     {
      "slug": string,
      "title": string,
      "cover": string,
      "url": string,
      },
     {...}
   ],
   "maxPage": number,
   "page": number,
}

Get Anime Search

Parameter Description
query (string) nama anime yang ingin dicari
page (int) pilih page dari maximum page. Default : 1
fetch("localhost:3001/{source}/search")
  .then((response) => response.json())
  .then((animelist) => console.log(animelist));

Output >>

{
  "list": [
     {
      "slug": string,
      "title": string,
      "cover": string,
      "url": string,
      },
     {...}
   ],
   "maxPage": number,
   "page": number,
}

Get Genre List

Parameter Description
- -
fetch("localhost:3001/{source}/genre")
  .then((response) => response.json())
  .then((animelist) => console.log(animelist));

Output >>

[
  {
    "slug": string,
    "title": string,
    "url": string,
  },
  {...},
]

Get Genre

Parameter Description
page (int) pilih page dari maximum page. Default : 1
:genre-slug (string) genre slug dapat didapatkan dalam respon Genre List
fetch("localhost:3001/{source}/genre/{genre-slug}")
  .then((response) => response.json())
  .then((animelist) => console.log(animelist));

Output >>

{
  "list": [
     {
      "slug": string,
      "title": string,
      "cover": string,
      "url": string,
      },
     {...}
   ],
   "maxPage": number,
   "page": number,
}

Get Season List

Parameter Description
- -
fetch("localhost:3001/{source}/season")
  .then((response) => response.json())
  .then((animelist) => console.log(animelist));

Output >>

[
  {
    "slug": string,
    "title": string,
    "url": string,
  },
  {...},
]

Get Season

Parameter Description
page (int) pilih page dari maximum page. Default : 1
:season-slug (string) season slug dapat didapatkan dalam respon Season List
fetch("localhost:3001/{source}/season/{season-slug}")
  .then((response) => response.json())
  .then((animelist) => console.log(animelist));

Output >>

{
  "list": [
     {
      "slug": string,
      "title": string,
      "cover": string,
      "url": string,
      },
     {...}
   ],
   "maxPage": number,
   "page": number,
}

Get Anime Details

Parameter Description
:anime-slug (string) anime slug dapat didapatkan dalam respon list seperti diatas.
fetch("localhost:3001/{source}/anime/{anime-slug}")
  .then((response) => response.json())
  .then((animelist) => console.log(animelist));

Output >>

{
  "slug": string,
  "title": string,
  "titleAlt?": string, //(optional)
  "synopsis?": string, //(optional | beberapa ada yang tidak memiliki sinopsis)
  "episodeTotal": number, //(anime ongoing di kuronime akan merespon "0")
  "episode": number,
  "season?": string, //(optional)
  "genre?": string[], //(optional)
  "cover": string,
  "url": string,
}

Get Streaming URLs

Parameter Description
:anime-slug (string) anime slug dapat didapatkan dalam respon list seperti diatas.
:anime-episode (int) pilih episode anime yang tersedia dalam respon Anime Details
fetch("localhost:3001/{source}/anime/{anime-slug}/{anime-episode}")
  .then((response) => response.json())
  .then((animelist) => console.log(animelist));

Output >>

{
  "episode": number,
  "video":  [
    {
      "quality": string,
      "url": string,
    },
    {...},
  ]
}