Twitter Media Scraper
Pricing
from $1.60 / 1,000 saved media items
Twitter Media Scraper
Extract public Twitter/X images, videos, and GIFs from tweet URLs, IDs, @handles, #hashtags, or keywords. Export media URLs, tweet metadata, authors, engagement, and source links.
Pricing
from $1.60 / 1,000 saved media items
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
16
Total users
8
Monthly active users
4 days ago
Last modified
Categories
Share
📥 Twitter media scraper for X images and videos
Twitter Media Scraper extracts public images, videos, and GIFs from Twitter/X posts. Add tweet URLs, tweet IDs, @handles, #hashtags, or keywords, then export media URLs with tweet text, author details, engagement counts, source links, and scrape timestamps.
- Use a Twitter scraper for media-focused research when you need image, video, or GIF links instead of full tweet archives.
- Collect X scraper output from public hashtags or keywords for social listening, trend checks, and content review.
- Run a Twitter image scraper workflow to export direct source-hosted image URLs with tweet and author context.
- Archive public Twitter/X media from known tweet URLs or raw tweet IDs for reporting and review queues.
- Feed Twitter/X media URLs and tweet metadata into Apify API workflows, exports, schedules, webhooks, or downstream analysis tools.
Use this Actor when you need repeatable media-link exports from public X content. Direct tweet targets are useful when you already know the posts. Handles, hashtags, and keywords help you discover recent public posts that contain media.
For a small first run, keep one prefilled target such as #nasa, leave Media types set to images, videos, and GIFs, and lower Media item limit to 25. Once the output shape looks right, raise the limit, add your own targets, or run the Actor on a schedule.
📊 Data you can export
Each output row represents one public Twitter/X media asset. The Actor saves rows only when it finds a usable image, video, or GIF media URL.
Core fields include:
target- the input value that produced the row.targetType-tweet,profile,hashtag, orkeyword.tweetIdandtweetUrl- the source post identity.authorUsernameandauthorName- public author fields when available.textandpostedAt- tweet text and timestamp when available.mediaType-image,video, orgif.mediaUrl,thumbnailUrl,mediaIndex, andrawMediaId- media-specific fields.engagement- likes, retweets, replies, and views when X exposes them.sourceUrl,canonicalTweetUrl, andscrapedAt- traceability fields for exports and API use.
You can open the dataset in Apify, export it as JSON, CSV, Excel, XML, RSS, or HTML, call it through the Apify API, schedule recurring runs, or connect it to webhooks and integrations.
🚀 How to run
- Add one or more public Twitter/X targets in Targets.
- Use tweet URLs, tweet IDs,
@handles,#hashtags, or plain search keywords. - Keep Media item limit small for the first run, then raise it when the result shape fits your workflow.
- Choose Media types to include images, videos, GIFs, or a subset.
- Start the Actor and open the dataset.
- Use
mediaUrlfor the direct media link andtweetUrlorcanonicalTweetUrlto trace the media back to X.
🎯 Input
The main input is Targets. Add one target per line:
- Public tweet URLs such as
https://x.com/teslaownersSV/status/2004891561180758165 - Raw tweet IDs such as
2004891561180758165 - Public profile handles such as
@NASA - Hashtags such as
#nasa - Search keywords such as
mars launch
Example input:
{"targets": ["#nasa","@NASA","https://x.com/teslaownersSV/status/2004891561180758165"],"maxItems": 25,"mediaTypes": ["image", "video", "gif"]}
Use tweet URLs or IDs when you need media from known posts. Use @handles, hashtags, or keywords when you want recent public media posts around a profile, topic, campaign, brand, event, or trend.
📄 Output example
{"target": "#nasa","targetType": "hashtag","tweetId": "2061497874714632614","tweetUrl": "https://x.com/Astro_Postcard/status/2061497874714632614","authorUsername": "Astro_Postcard","authorName": "Astro Postcard","text": "Astronomy Picture of the Day (2026-06-01)","postedAt": "2026-06-01T17:19:28.000Z","mediaType": "image","mediaUrl": "https://pbs.twimg.com/media/HJvpZJ8WwAAbybh.jpg","mediaIndex": 1,"thumbnailUrl": "https://pbs.twimg.com/media/HJvpZJ8WwAAbybh.jpg","altText": null,"engagement": {"likes": 0,"retweets": 0,"replies": 0,"views": 2},"sourceUrl": "https://x.com/Astro_Postcard/status/2061497874714632614","canonicalTweetUrl": "https://x.com/Astro_Postcard/status/2061497874714632614","rawMediaId": null,"scrapedAt": "2026-06-01T17:40:35.551Z"}
💸 Pricing
This Actor uses pay-per-event pricing. You are charged for each public image, video, or GIF media item that is found and saved. Targets that are skipped because no public media is available do not create media-item events.
Lower Media item limit to 25 when you want a small first run. Increase it when you are ready to collect more.
🔌 Integrations
- Call the Actor from the Apify API to collect media URLs for your own app or data pipeline.
- Schedule recurring runs for repeat checks on public hashtags, keywords, or profiles.
- Export the dataset to JSON, CSV, Excel, XML, RSS, or HTML for analysis and reporting.
- Send finished runs to webhooks, cloud storage, Make, Zapier, or custom automation.
❓ FAQ
🔒 Can I scrape private Twitter/X media?
No. This Actor is for public Twitter/X media only. It does not fetch protected posts, private account content, private messages, bookmarks, likes, followers, following lists, or media that requires access to a specific user account.
🔑 Do I need Twitter cookies or an API key?
No. You do not need to provide Twitter/X cookies, a login, or an API key. The public input stays focused on targets, limits, and media type filters.
🔎 Can I search by hashtag, profile, or keyword?
Yes. Add a #hashtag, an @handle, or a keyword in Targets. The Actor discovers recent public posts with media and emits one row per media asset.
💾 Does it download files into Apify storage?
No. The Actor returns media URLs and thumbnails in the dataset. Use the exported URLs in your own downloader, API workflow, or storage pipeline if you need to save files elsewhere.
🧩 Why not use the Twitter/X API?
Use the official Twitter/X API when you need an official integration, private account permissions, or API terms that match your workflow. Use this Actor when you need a simple Apify dataset of public media URLs and related tweet metadata from URLs, handles, hashtags, or keywords.
🔁 What are Twitter/X alternatives?
For other public social media media workflows, use an actor built for that source, such as Instagram Downloader API, Facebook Media Downloader, TikTok Video Downloader, or YouTube Shorts Downloader. Each platform exposes different fields and media links.
📝 Changelog
- 0.1: Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Other actors
- Twitter Scraper ↗ - Search public X posts, profiles, and trending topics.
- Twitter Screenshot Generator ↗ - Save clean screenshots of public X posts.
- Facebook Media Downloader ↗ - Extract public Facebook video and reel media links.
- Instagram Downloader API ↗ - Export media URLs from public Instagram posts and reels.
- TikTok Video Downloader ↗ - Export direct media links from public TikTok videos.
Made with ❤️ by Maxime Dupré