{"id":40115633,"url":"https://github.com/ngomile/anigrab","last_synced_at":"2026-01-19T12:09:49.247Z","repository":{"id":42515834,"uuid":"247238602","full_name":"ngomile/anigrab","owner":"ngomile","description":"Anime downloader that is fast and efficient","archived":false,"fork":false,"pushed_at":"2025-02-17T07:08:16.000Z","size":192,"stargazers_count":132,"open_issues_count":14,"forks_count":24,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-09-28T06:54:53.555Z","etag":null,"topics":["anime","anime-downloader","anime-scraper","animepahe","aria2c","batch","download","downloader","episodes","gogoanime","quality"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ngomile.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-03-14T08:21:05.000Z","updated_at":"2025-09-18T12:54:58.000Z","dependencies_parsed_at":"2023-12-16T21:13:15.258Z","dependency_job_id":"f754c01b-bdb2-4857-a6a3-52f7cbbeabd2","html_url":"https://github.com/ngomile/anigrab","commit_stats":{"total_commits":242,"total_committers":2,"mean_commits":121.0,"dds":"0.012396694214875992","last_synced_commit":"407eb6af277727ac5e8a5e6f08ca3467ce55e463"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/ngomile/anigrab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngomile%2Fanigrab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngomile%2Fanigrab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngomile%2Fanigrab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngomile%2Fanigrab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ngomile","download_url":"https://codeload.github.com/ngomile/anigrab/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ngomile%2Fanigrab/sbom","scorecard":{"id":683349,"data":{"date":"2025-08-11","repo":{"name":"github.com/ngomile/anigrab","commit":"12ae2b95ce0c503a97a94789a628b7df61688622"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 1/28 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: The Unlicense: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 3 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T23:55:39.298Z","repository_id":42515834,"created_at":"2025-08-21T23:55:39.298Z","updated_at":"2025-08-21T23:55:39.298Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28567863,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T08:53:44.001Z","status":"ssl_error","status_checked_at":"2026-01-19T08:52:40.245Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anime","anime-downloader","anime-scraper","animepahe","aria2c","batch","download","downloader","episodes","gogoanime","quality"],"created_at":"2026-01-19T12:09:45.438Z","updated_at":"2026-01-19T12:09:49.235Z","avatar_url":"https://github.com/ngomile.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# anigrab \u0026middot; [![npm version](https://img.shields.io/npm/v/anigrab.svg?style=flat)](https://www.npmjs.com/package/anigrab) [![PRS](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/ngomile/anigrab)\n\nFast and efficient anime downloader that gets the episodes you need quickly, saving you your precious time and energy.\n\n## Features:\n\n-   Download anime from various sources such as AnimeOut, GogoAnime, AnimeFlix and more\n-   Save the download links of anime episodes to a file\n-   Specify the episodes you want to download\n-   Configure downloading options and site options\n-   intuitively handles any quality from 1080p to even the most elusive ones\n-   Can stream videos right from the sites\n\n## Supported Sites\n\n-   4anime\n-   animeflix\n-   animefreak\n-   animekisa\n-   animeidhentai\n-   animeout\n-   animepahe\n-   animerush\n-   gogoanime\n-   hentaihaven\n-   ryuanime\n-   twist\n\n## Installation\n\nYou must have [nodejs and npm](https://nodejs.org/en/) and [aria2c](https://aria2.github.io/) installed on your computer, preferably the more recent versions. Type this into your commandline.\n\n```\nnpm install -g anigrab\n```\n\nAnd you should be ready to get started using anigrab\n\n## Usage\n\n### Downloading\n\nDownloading an anime is as simple as typing in the name of an anime which initiates a search for the anime. Ensure you have [aria2c](https://aria2.github.io/) installed which is what is used for downloading otherwise downloading will not work. For example:\n\n```\nanigrab beastars -e 10\n```\n\nThis will make anigrab download episode 10 of Beastars from animekisa by default, to specify a site you can use the -s flag\n\n```\nanigrab beastars -e 10 -s gogoanime\n```\n\nThis will download Beastars episode 10 from gogoanime. If you want to get a little more specific in the episodes of the anime you want you can do this:\n\n```\nanigrab beastars -e 1,5,10:12\n```\n\nThis may look complicated at first but it basically means this will download episodes 1, 5, 10, 11 and 12 of the anime Beastars. Giving the direct link of the anime works as well:\n\n```\nanigrab \"https://www18.gogoanime.io/category/black-clover-tv\"\n```\n\nWill download Black Clover from gogoanime\n\n### Command Line Options\n\nYou can specify some command line flags that affect the behavior of anigrab, these are:\n\n```\n--help                          shows this help message\n\n-q, --quality                   quality of the video, can be 720p or 1080p or any other resolution\n\n-e, --episodes                  episodes to get for example \"1,2,5:10\"\n\n-w, --write                     writes stream urls by appending them to a file named anime.txt in current working directory\n\n-s, --site                      the site to get the anime from, choose animepahe, gogoanime etc.\n\n-u, --url                       prints stream url of episode\n\n--fb, --fallback                comma separated string of qualities to choose if quality asked for is not found e.g 360p, 480p\n\n-d, --directory                 the directory to download the file to\n\n--sk, --skip                    skips downloading the file\n\n--xd, --external-downloader     the external downloader to use to download the file, aria2c by default and currently aria2c only supported\n\n--ft, --filter-title            regular expression to filter episodes based on their titles\n\n-p, --play                      plays the episode using mpv\n```\n\n### Usage as Library\n\nanigrab has useful functions that try to intuitively fetch the information of an anime. Each file that handles a site contains three functions it exports which are search, getAnime and getQualities. Usage is as simple as\n\n#### Search, Get Anime and Get Qualities\n\n```javascript\nconst { search, getAnime, getQualities } = require('anigrab').sites.siteLoader(\n    'animeout'\n);\n\nasync function main() {\n    const searchResults = await search('naruto'); // Initiates a search for Naruto, this is a promise so can be awaited\n    const { url } = searchResults[0]; // Use destructuring to get url of search result at index 0\n    const anime = await getAnime(url); // Retrieves the title of the anime and it's episodes, again this is awaitable\n    const episodeURL = anime.episodes[0].url; // Episode objects contain their url, here we access the url of the episode at index 0 of the episode list\n    const qualities = await getQualities(episodeURL); // This retrieves the available qualities of the episode as a map of qualities pointing to an object with the server that is host and the referer to use\n    console.log(qualities);\n}\n\nmain();\n```\n\n## Similar Projects\n\n-   [anime-downloader](https://github.com/vn-ki/anime-downloader)\n-   [monkey-dl](https://github.com/Oshan96/monkey-dl)\n\n## Disclaimer\n\nThe developer of this application does not have any affiliation with any of the content providers available. If you like the content providers support them in anyway you can.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngomile%2Fanigrab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fngomile%2Fanigrab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fngomile%2Fanigrab/lists"}