Twitter (X) Video Downloader
Pricing
from $5.00 / 1,000 results
Twitter (X) Video Downloader
Extract best‑quality MP4 links and rich metadata from public Tweets. Add URLs or IDs, get clean results to your Apify dataset in seconds.
Pricing
from $5.00 / 1,000 results
Rating
5.0
(1)
Developer

Sachin Kumar Yadav
Actor stats
4
Bookmarked
31
Total users
22
Monthly active users
9 days ago
Last modified
Categories
Share
Twitter (X) Video Downloader⚡
Easily extract downloadable MP4 links and rich metadata from public Tweets (X). Provide Tweet URLs or IDs, and this actor will parse media variants, choose the best-quality MP4, and save structured results to your Apify dataset. No hassle, just clean and reliable output.
Table of Contents 📚
- Highlights
- Use Cases
- Input Parameters
- Quick Start
- Examples
- Output Schema
- Best Practices
- FAQ
- Related actor
Highlights ✨
- 🎯 Accepts Tweet URLs or raw Tweet IDs (batch-friendly)
- 🎥 Detects media variants and picks the highest-bitrate MP4 automatically
- 🔁 Optional inclusion of HLS (m3u8) URL
- 📦 One dataset item per media with Tweet and user context
- 🧱 Built with Apify best practices (structured output and robust error handling)
Use Cases 💡
- Social media content research and curation
- Tracking brand/influencer video posts
- Archiving and media analysis workflows
- Building datasets of MP4 links for further processing
Input Parameters 🧰
| Field | Type | Required | Description |
|---|---|---|---|
tweetUrls | array | ✅ Required | List of Tweet URLs or Tweet IDs. Supports both x.com and twitter.com domains. Can also accept raw numeric Tweet IDs. Editor: stringList. |
videoOnly | boolean | Optional (default false) | Enable to download only tweets with videos. Tweets with only photos will be skipped. |
includeAllQualities | boolean | Optional (default true) | Include all available quality versions of videos (from 256kbps to 25Mbps). When disabled, only the highest quality is included. |
includeMetadata | boolean | Optional (default true) | Extract comprehensive metadata including tweet text, author details, engagement metrics (likes, retweets, views), and timestamps. |
Quick Start 🚀
- Open the actor on Apify and click Run.
- Add Tweet URLs or Tweet IDs in the input.
- Start the run. One dataset item per media will be created with the selected best-quality MP4.
- Download your results from the Dataset in JSON/CSV/Excel.
Examples 📎
Input (URLs):
{"tweetUrls": ["https://x.com/katyperry/status/1986587629740270045","https://twitter.com/SpaceX/status/1732824684683784516"],"videoOnly": false,"includeAllQualities": true,"includeMetadata": true}
Input (Tweet IDs):
{"tweetUrls": ["1986587629740270045","1732824684683784516"],"videoOnly": true,"includeAllQualities": false,"includeMetadata": true}
Output Schema 🧾
Each dataset item represents one Tweet with its media content (video or photo).
| Path | Type | Description |
|---|---|---|
tweetId | string | Tweet ID |
tweetUrl | string | Direct link to the tweet |
status | string | Processing status: success, failed, or no_media |
mediaType | string | Type of media: video or photo |
text | string | Tweet text content |
displayText | string | Cleaned display text |
createdAt | string | Tweet creation timestamp |
language | string | Tweet language code |
author.name | string | Author's display name |
author.username | string | Author's username (handle) |
author.profileImage | string | Author's profile image URL |
author.verified | boolean | Whether author is verified |
author.followers | number | Author's follower count |
engagement.likes | string | Formatted like count (e.g., "131K") |
engagement.retweets | string | Formatted retweet count |
engagement.replies | string | Formatted reply count |
engagement.quotes | string | Formatted quote count |
engagement.bookmarks | string | Formatted bookmark count |
engagement.views | string | Formatted view count |
thumbnail | string | Media thumbnail URL |
duration | string | Video duration (MM:SS format) |
durationMs | number | Video duration in milliseconds |
aspectRatio | string | Video aspect ratio (e.g., "16:9") |
quality | string | Best quality bitrate (e.g., "25128kbps") |
downloadUrl | string | Direct download URL for best quality |
videoQualities[] | array | All available video quality options (if enabled) |
photos[] | array | Photo URLs (for photo tweets) |
timestamp | string | ISO timestamp when data was extracted |
Output example (video tweet):
{"tweetId": "1986587629740270045","tweetUrl": "https://x.com/katyperry/status/1986587629740270045","status": "success","mediaType": "video","text": "bandaids\nout now\nhttps://t.co/21WmKj8jlL https://t.co/ZqOQjRHGDD","displayText": "bandaids\nout now\nkaty.lnk.to/BandaidsVideo","createdAt": "Fri Nov 07 00:12:54 +0000 2025","language": "en","author": {"name": "KATY PERRY","username": "katyperry","profileImage": "https://pbs.twimg.com/profile_images/1986586916968669193/ahfId27H_normal.jpg","verified": true,"followers": 94446290},"engagement": {"likes": "131.1K","retweets": "18.9K","replies": "5.2K","quotes": "4.3K","bookmarks": "6.9K","views": "9.3M"},"thumbnail": "https://pbs.twimg.com/amplify_video_thumb/1986587308167208962/img/w4dQka5ShDarBqu9.jpg","duration": "0:29","durationMs": 29496,"aspectRatio": "4:3","quality": "25128kbps","downloadUrl": "https://video.twimg.com/amplify_video/1986587308167208962/vid/avc1/2048x1536/KjM04BYtvGe3XYO9.mp4?tag=21","videoQualities": [{"url": "https://video.twimg.com/amplify_video/1986587308167208962/vid/avc1/2048x1536/KjM04BYtvGe3XYO9.mp4?tag=21","bitrate": 25128000,"quality": "25128kbps","contentType": "video/mp4"},{"url": "https://video.twimg.com/amplify_video/1986587308167208962/vid/avc1/1440x1080/XCv1kDR6cKT9YT0C.mp4?tag=21","bitrate": 10368000,"quality": "10368kbps","contentType": "video/mp4"}],"timestamp": "2025-12-01T03:45:14.000Z"}
Best Practices ✅
- Provide valid public Tweet URLs that contain video.
- Export dataset results in your preferred format (JSON, CSV, Excel) from the Apify UI.
- Process results promptly; some media URLs can expire.
FAQ ❓
Does this actor download video files to storage?
No. It outputs direct video URLs and metadata. You can download files using your own tooling or tools like wget or curl.
Why do some Tweets return no results?
The Tweet might not contain video/photo media, the media may be restricted/private, or it may have been deleted.
Will the best-quality link always be 1080p or 4K?
Not guaranteed. The actor selects the highest available bitrate among MP4 variants. Quality depends on what the original uploader posted.
Can I use this for private/protected tweets?
No. This actor only works with public tweets accessible without authentication.
What's the difference between text and displayText?
text contains the raw tweet text with t.co links, while displayText has expanded URLs for better readability.
Related actor
- Twitter User Data Scraper (profiles): https://apify.com/igview-owner/x-twitter-profile-viewer
Support 🙌
If you need help, feature requests, or a custom workflow, open an issue in your tracker or contact the actor author.
Tags 🔎
twitter video downloader, x video downloader, twitter mp4 extractor, download twitter videos mp4, tweet video url, apify twitter actor, social media video downloader, x.com video download, twitter dataset export, scrape twitter video metadata
Related Actors
- Twitter X Video Downloader - Download Twitter (X) videos
- X Profile Viewer - View Twitter (X) profiles
- X Follower Scraper - Scrape X followers
- X Following Scraper - Scrape X following
- X Media Scraper - Scrape X media
🚀 Get Started Now
Ready to extract Twitter/X video details?
- Click "Try for free" to test the actor
- Enter Twitter/X tweet URLs or IDs you want to analyze
- Choose whether to include metadata
- Run the actor and get comprehensive data
- Export results in JSON, CSV, or Excel format
⭐ If this actor helps your workflow, please give it a star!
