Giter VIP home page Giter VIP logo

anime-api's Introduction

Alt text

Last version npm Last version Node version Travis Coverage Status Dependency status Last version XO code style

Star the project

Are you not tired of searching where you can watch or download your favorite animes ? To search on hundred of website until you find what you are looking for ? If yes, this API is for you. This API is a powerful scraper of many streaming and downloading website. With this API, you can search a page about your favorite anime or search for a download link or streaming link for enjoying your favorite animes.

npm install @justalk/anime-api

Short Example

If you want to search for a streaming link of the episode 387 of naruto shippuden

const animeapi = require('@justalk/anime-api');
const download = await animeapi.download('naruto shippuden', 387);

Features

  • Get page links: Get the page links of the anime on many website by searching an anime by name

  • Get streaming links: Get the streaming link of an episode of an anime by anime name

  • Get download links: Get the direct download link of an episode of an anime by anime name

API

Search page link by anime name

async links(search, options)
More informations (click to show)
name type description
search String name of the anime searched
options Object (optionnal) List of the options
Lists of optionnal options available for page links
name of key return type description
limit_per_website Number Limit the number of result per website
limit Number Limit the number of total result
website String Website that you wanna target, see under for the complete list
Format response of links
name of key return type description
source String Name of the source
title String Complete title of the anime on the website
link String Link of the anime
levenshtein Number Difference of character from the search

The result is order by levenshtein. The first result will be the closest from your research.

Search streaming links by anime name

async stream(search, episode, options)
More informations (click to show)
name type description
search String name of the anime searched
episode Number number of the episode searched
options Object (optionnal) List of the options
Lists of optionnal options available for stream links
name of key return type description
limit_per_website Number Limit the number of result per website
Format response of stream
name of key return type description
source String Name of the source
link String Link of the stream

Only one result by source will be provided.

Search downloading links by anime name

async download(search, episode, options)
More informations (click to show)
name type description
search String name of the anime searched
episode Number number of the episode searched
options Object (optionnal) List of the options
Lists of optionnal options available for download links
name of key return type description
limit_per_website Number Limit the number of result per website
Format response of download
name of key return type description
source String Name of the source
link String Link of the download

Only one result by source will be provided.

List of website available

The list below show the website scraped by the API and the website available for the option website

website variable website url
ANIMELAND https://www.animeland.us/
CHIA-ANIME http://www.chia-anime.me/
ANIMEOUT https://www.animeout.xyz/
GOGOANIME https://www3.gogoanime.pro/
ANIMEFREAK https://www.animefreak.tv/
ANIME8 https://anime8.ru/
9ANIME http://9anime.to/
ANIMEDAISUKI https://animedaisuki.moe/

The list is increasing slowly. I am working on it.

Examples

Searching page link of naruto shippuden (click to show)
const animeapi = require('@latsuj/anime-api');
const results = await animeapi.links('Naruto shippuden');
results = [{
    source: 'ANIMELAND',
    title: 'Naruto Shippuden',
    link: 'https://www.animeland.us/dub/naruto-shippuden',
    levenshtein: 2
  },
  {
    source: 'CHIA-ANIME',
    title: 'Naruto Shippuden',
    link: 'http://www.chia-anime.me/episode/naruto%e3%83%8a%e3%83%ab%e3%83%88%e7%96%be%e9%a2%a8%e4%bc%9danime/',
    levenshtein: 7
  },
  {
    source: 'ANIMEOUT',
    title: 'Naruto Shippuden Movie 7 The Last',
    link: 'https://www.animeout.xyz/dub/naruto-shippuden-movie-7-the-last',
    levenshtein: 19
}]
Searching stream link of naruto shippuden (click to show)
const animeapi = require('@justalk/anime-api');
const stream = await animeapi.stream('naruto shippuden', 387);
results = [{
    source: 'ANIMELAND',
    link: 'https://www.animeland.us/naruto-shippuden-episode-500-english-dubbed'
  },
  {
    source: 'CHIA-ANIME',
    link: 'http://www.chia-anime.me/naruto-shippuden-episode-500-english-subbed/'
}]
Searching download link of naruto shippuden episode 387 with options (click to show)
const animeapi = require('@justalk/anime-api');
const download = await animeapi.download('naruto shippuden', 387, {website: 'CHIA-ANIME'});
results = [{
  {
    source: 'CHIA-ANIME',
    link: 'http://www.chia-anime.me/naruto-shippuuden-episode-387-english-subbed/'
}]

How to contribute/test

For testing, install the node project and run the test command.

node install
npm test

Also, you can use the command under for running the test without the linter

npm run test-no

The API has two kind of tests.

  1. dynamic : Perform query on the real Website.
  2. static : Run the API through website mock, allowing the tests to be more precise.

I am also using winston for filling up logs.

License

MIT - Copyright © JUSTAL Kevin

anime-api's People

Contributors

justalk avatar xaxa-0x3f avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.