- Used to download video & image from Twitter
- Use cookies to view sensitive / nsfw content
- Go to https://twitter.com/login
- Then right click on the mouse and select "Inspect" or press "CTRL + SHIFT + I"
- Then you log in first to go to Home
- Then go to Network and the search filter becomes https://twitter.com/home
- If it doesn't appear, refresh the page
- Copy the Cookie and use it
- twitter-downloader requires Node.js v12+ to run.
npm install twitter-downloader
yarn add twitter-downloader
npm install github:TobyG74/twitter-downloader
authorization
- Authorization header for requestcookie
- Cookie for view sensitive / nsfw contentproxy
- Proxy for request (http, https, socks5)
const { TwitterDL } = require("twitter-downloader");
const twitter_video_url = "https://twitter.com/AnimeWithRJ/status/1645156770266923008";
const twitter_image_url = "https://twitter.com/GenshinImpact/status/1645308130857820161";
const options = {
authorization?: "YOUR_AUTHORIZATION", // undefined == use default authorization
cookie?: "YOUR_COOKIE", // to display sensitive / nsfw content (no default cookies)
proxy?: "YOUR_PROXY" // support http, https, socks5
}
TwitterDL(twitter_video_url, options)
.then((result) => {
console.log(result);
})
.catch((e) => {
console.log(e);
});
status: "success" | "error"
message?: string
result?: {
id: string
createdAt: string
description: string
languange: string
possiblySensitive: boolean
possiblySensitiveEditable: boolean
isQuoteStatus: boolean
mediaCount: number
author: {
username: string
bio: string
possiblySensitive: boolean
verified: boolean
location: string
profileBannerUrl: string
profileImageUrl: string
url: string
statistics: {
favoriteCount: number
followersCount: number
friendsCount: number
statusesCount: number
listedCount: number
mediaCount: number
}
}
statistics: {
replieCount: number
retweetCount: number
favoriteCount: number
bookmarkCount: number
viewCount: number
}
media: Media[]
}
/** Image Media */
{
type: string
image: string
expandedUrl: string
}[]
/** Video Media */
{
type: string
expandedUrl: string
cover: string
duration: string
videos: {
bitrate: number
content_type: string
quality: string
url: string
}[]
}[]
This project is open to contributions. Whether you are a beginner or an experienced developer, you can contribute to this project. If you are interested in contributing to this project, please read the CONTRIBUTING.md file before submitting a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.