Free tool · no sign-up · public posts
Twitter Video Downloader
Paste a post link from X (Twitter). You get every MP4 quality X stores for that video, GIFs as MP4, and photos at original resolution. Files come straight from X's own servers; we don't copy or keep anything.
How to download a video from X in three steps
- On the post, tap Share → Copy link. Links from x.com, twitter.com, mobile.twitter.com, fxtwitter and vxtwitter all work, and so does a bare post ID.
- Paste it above and press Get media.
- Pick a quality. Best quality is the highest bitrate X has; the smaller versions are useful on mobile data or for chat apps with upload limits.
What you actually get: X's quality ladder
When a video is uploaded, X encodes it into several MP4 versions at different resolutions and bitrates. It also creates an HLS playlist (.m3u8) for streaming, which isn't a downloadable file, so the tool leaves it out. Most downloaders hand you a single link; this one lists every MP4 version so you can choose size against sharpness. A typical portrait clip, taken from a real response:
| Version | Resolution | Bitrate | 27 s clip ≈ |
|---|---|---|---|
| Best | 360×638 | 950 kbps | 3.2 MB |
| Smaller | 320×566 | 632 kbps | 2.1 MB |
Size ≈ bitrate × duration ÷ 8 (audio adds a little). How many versions you see depends on the upload: longer and higher-resolution videos usually come with more of them.
GIFs and images
GIFs are stored by X as silent, looping MP4 files, typically a single version at the original size. The tool gives you that MP4. It looks identical and is far smaller than a real .gif. More on this in how to save a GIF from Twitter.
Photos come at original resolution. X serves a compressed preview by default; the download link asks its image server for ?name=orig, the full-size file. Posts with up to four photos list each one. See also downloading pictures from Twitter.
Downloading media from many posts: use the API
The free tool is for a handful of posts a day. For archiving a campaign, building a dataset or monitoring accounts, fetch posts in batches and read the media fields yourself. The /twitter/tweets endpoint takes many post IDs per call and returns each post's extendedEntities.media with the same MP4 variants:
import requests
r = requests.get(
"https://api.twitterapi.io/twitter/tweets",
headers={"X-API-Key": "YOUR_API_KEY"},
params={"tweet_ids": "2107080835631555030,2102250034217578667"},
timeout=20,
)
for t in r.json().get("tweets", []):
for m in (t.get("extendedEntities") or {}).get("media", []):
mp4s = [v for v in m.get("video_info", {}).get("variants", [])
if v.get("content_type") == "video/mp4"]
best = max(mp4s, key=lambda v: v.get("bitrate", 0), default=None)
url = best["url"] if best else m["media_url_https"] + "?name=orig"
print(t["id"], m["type"], url)Cost for 10,000 posts: $1.50 on TwitterAPI.io at $0.15 per 1,000 posts (pricing), against $50 on X's pay-per-use API at $0.005 per post read (docs.x.com, prices subject to change), about 33× more.
Need media at scale? Get an API keyQuestions
- Why does the video open in a new tab instead of downloading?
- The file comes straight from X's own media server (video.twimg.com), and browsers don't force a download for files on another domain. Right-click the playing video and choose Save video as…, or on a phone long-press it and choose Download.
- Can I download videos from private (protected) accounts?
- No. The tool only reads public posts. Protected or deleted posts return a not-found message.
- Why is my GIF an MP4 file?
- X converts every uploaded GIF into a looping MP4 video. That MP4 is the only copy X stores, so it's what you get. It's usually much smaller than the GIF was; convert it back with any video-to-GIF tool if you need the .gif format.
- Is it legal to download videos from X?
- Saving a public post for personal reference is generally tolerated, but the video still belongs to whoever made it. Re-uploading or using it commercially needs the owner's permission. Only download media you own or have the right to use.
- How many downloads can I do?
- 20 posts per day without an account, 100 per day if you sign in with Google. For bulk downloads, use the API described below.
Copyright and takedowns
This tool doesn't host, copy or store any media. It returns links to files on X's own servers, for public posts only. Videos and images belong to their creators: download only content you own or have permission to use. Rights holders can send a removal or blocking request to hello@twitterapi.io. TwitterAPI.io is an independent service, not affiliated with X Corp.
More free tools
- Twitter timestamp: the exact time any post was published, from its ID.
- Twitter follow checker: does one account follow another?