👋
Welcome to RedGIFs Downloader
A desktop application utilizing this package can be downloaded from here Downloader
How many times have you wanted to download videos in bulk from RedGIFs. Downloading videos from your favourite user and any search term has never been easier! Just follow the steps below and make sure to use filters to enhance your experience.
Usage
Requires nodejs
and npm
. There are multiple ways you can use this downloader.
Install this package locally with npm i redgifs-downloader
or globally with npm i redgifs-downloader -g
- Recommended use case
Simple Approach
const RedgifsDownloader = require("redgifs-downloader")
// Replace __dirname with your prefered starting directory of choice
// Gifs will be downloaded into their corresponding subdirectories
const downloader = RedgifsDownloader.create(__dirname)
downloader.downloadQuery("juicy")
downloader.downloadUser("your favourite user's id")
Advanced Approach
const RedgifsDownloader = require("redgifs-downloader")
// Replace __dirname with your prefered starting directory of choice
// Gifs will be downloaded into their corresponding subdirectories
const downloader = RedgifsDownloader.instance(__dirname)
// EventListeners
downloader.addEventListener("onInit", info => {
console.log("[onInit]", info)
})
downloader.addEventListener("onStart", info => {
console.log("[onStart]", info)
})
downloader.addEventListener("onFinish", info => {
console.log("[onFinish]", info)
})
downloader.addEventListener("onFileDownloadStart", info => {
console.log("[onFileDownloadStart]", info)
})
downloader.addEventListener("onFileDownloadFinish", info => {
console.log("[onFileDownloadFinish]", info)
})
downloader.addEventListener("onFileDownloadSkip", info => {
console.log("[onFileDownloadSkip]", info)
})
downloader.addEventListener("onGetLinks", info => {
console.log("[onGetLinks]", info)
})
downloader.addEventListener("onError", info => {
console.log("[onError]", info)
})
downloader.downloadQuery("juicy", options)
// options object explained down below
- Standalone Links API
const RedgifsDownloader = require("redgifs-downloader")
//1
RedgifsDownloader.getUserLinks("your favourite user's id", {numberToDownload: 2}).then(console.log)
//2
const links = await RedgifsDownloader.getSearchLinks("juicy", {minLikes: 3})
Options object structure
Field | Data type | Description | Default |
---|---|---|---|
minLikes | number | Minimum amount of likes | undefined |
maxLikes | number | Maximum amount of likes | undefined |
minDislikes | number | Minimum amount of dislikes | undefined |
maxDislikes | number | Maximum amount of dislikes | undefined |
minViews | number | Minimum amount of views | undefined |
maxViews | number | Maximum amount of views | undefined |
minDuration | number | Minimum gfy duration in seconds | undefined |
maxDuration | number | Maximum gfy duration in seconds | undefined |
minHeight | number | Minimum height in pixels | undefined |
maxHeight | number | Maximum height in pixels | undefined |
minWidth | number | Minimum width in pixels | undefined |
maxWidth | number | Maximum width in pixels | undefined |
numberToDownload | number | Max amount of gfycats to download | 250 |
nsfw | boolean | Whether gfy is tagged as "nsfw" | undefined |
hasAudio | boolean | Whether gfy has audio | undefined |
useMobile | boolean | Whether to use mobile urls instead of mp4 | false |
skipExisting | boolean | Whether to skip redownloading already existing files | false |
To save on storage space and bandwidth, make sure useMobile
is truthy! If a file is malformed and cannot be properly played,
skipExisting
does not care. It will always skip when there is a chance.
Author
- Website: https://www.misobarisic.com
- GitHub: @misobarisic
- GitLab: @misobarisic
Show your support
Give a
📝 License
Copyright © 2021 misobarisic.
This project is MIT licensed.