How to Download Twitter Videos in 2026
TL;DR
- No ads - Zero advertisements, ever
- Completely free - Free as air, open source forever
- No Twitter login for regular videos - Just paste the URL and download
- Twitter login required for NSFW videos - This is Twitter's policy, not ours
Why vget?
Most Twitter video downloaders are frustrating. They're riddled with pop-ups, fake download buttons, and sketchy redirects. Some even require you to create an account just to download a 10-second clip.
vget is different. It's a command-line tool that does one thing well: downloads your video, fast and clean.
Installation
macOS (Homebrew)
brew install guiyumin/tap/vget
Linux / macOS (curl)
curl -sSL https://vget.io/install.sh | bash
Windows (PowerShell)
irm https://vget.io/install.ps1 | iex
Docker
docker run --rm -v $(pwd):/downloads guiyumin/vget <twitter-url>
Download a Twitter Video
Just paste the tweet URL:
vget https://twitter.com/elonmusk/status/1234567890
That's it. The video downloads to your current directory with a clean filename.
Specify Output Directory
vget https://twitter.com/user/status/123456 -o ~/Videos/
Choose Quality
# Download best quality available
vget https://twitter.com/user/status/123456 -q best
# Download 720p
vget https://twitter.com/user/status/123456 -q 720p
Downloading NSFW Content
Twitter requires authentication to access age-restricted content - this is their policy to verify user age. You'll need to provide your Twitter auth token:
# Set it once
vget config set twitter.auth_token YOUR_AUTH_TOKEN
# Then download as usual
vget https://twitter.com/user/status/123456
How to Get Your Auth Token
- Open Twitter in your browser and log in
- Open Developer Tools (F12)
- Go to Application > Cookies > twitter.com
- Find the cookie named
auth_token - Copy its value
Your token is stored locally in ~/.config/vget/config.yml and never sent anywhere except Twitter's servers.
Supported URL Formats
vget handles all Twitter/X URL formats:
# Standard tweet URL
vget https://twitter.com/user/status/1234567890
# X.com domain
vget https://x.com/user/status/1234567890
# Mobile URLs
vget https://mobile.twitter.com/user/status/1234567890
# With query parameters (still works)
vget "https://twitter.com/user/status/1234567890?s=20"
Why Command Line?
You might wonder: why use a CLI tool when there are websites?
- Speed - No waiting for pages to load, no clicking through multiple steps
- Scriptable - Batch download multiple videos with a simple loop
- Privacy - Your URLs aren't logged by some random website
- Reliability - Works when online downloaders get blocked
Batch Download Example
# Download multiple videos
for url in \
"https://twitter.com/user/status/111" \
"https://twitter.com/user/status/222" \
"https://twitter.com/user/status/333"
do
vget "$url"
done
Common Issues
"Video not found"
- Make sure the tweet actually contains a video (not just images or a link)
- Check if the tweet is from a private account
- For NSFW content, you must set your auth token (Twitter's policy requires login for age-restricted content)
"Rate limited"
Twitter has rate limits. Wait a few minutes and try again, or set your auth token to get higher limits.
More Than Just Twitter
vget also supports:
- YouTube
- Xiaohongshu (XHS)
- Xiaoyuzhou podcasts
- Direct video URLs
Get Started
# Install
brew install guiyumin/tap/vget
# Download
vget https://twitter.com/your-favorite-video
# Done
No ads. No accounts. No nonsense.
Questions or issues? Open an issue on GitHub.