Stop saving Twitter photos
one by one.
IMGLAB Image URL Exporter is a free Chrome extension that collects every original-resolution photo from any Twitter/X profile or hashtag search β with a single click. Export a clean URL list, then batch-download thousands of images overnight. Built for artists, archivists, and photography communities.
If you follow artists or photographers on Twitter, you already know the frustration. Right-click save, repeat 400 times. The files land in Downloads with random names. Thereβs no way to pick up where you left off next time. Itβs slow, itβs messy, and the images arenβt even full resolution.
IMGLAB Image URL Exporter fixes all of that. Itβs a free Chrome extension that sits on x.com, calls Twitterβs own API to extract every original-resolution photo URL, and exports a clean list ready for batch downloading. One click, then walk away.
Hundreds of save dialogs for a single artistβs archive
Twitterβs UI serves scaled-down images β not originals
No way to βpick up where you left offβ next time
Random filenames, no folders, no metadata
How the extension works
The IMGLAB panel lives in the bottom-right corner of x.com β draggable, minimisable, always available. Navigate to any profileβs media tab or run a from:username filter:images search, then click Start. The extension scans every tweet article on screen, calls Twitterβs GraphQL API for each tweet, and extracts every original-resolution photo URL. Auto-scroll keeps loading new tweets while the queue processes in the background.
API-Based
Support
Tracking
Download
Failed
The features that actually matter
Every feature was built around one use case: archiving an accountβs entire photo history as cleanly and automatically as possible.
Scrapes tweet IDs from the DOM, calls Twitterβs GraphQL API for each one, and extracts every original-resolution photo URL. When collection ends, urls.txt downloads automatically β preventing data loss before you click Go Older. Rate-limit pauses and countdown timers are fully automatic.
A download icon is injected into every tweetβs action bar directly on x.com. One click fetches all photos in that tweet via the GraphQL API and downloads them immediately β no panel needed. Tweets youβve already downloaded show a blue checkmark.
The extension remembers the newest tweet ID per user or hashtag. Next session, it stops the moment it hits a tweet already in your archive β zero duplicates. After each session, the Go Older button generates a until: URL so you can seamlessly chain sessions back through time.
Smart enough to handle edge cases
The extension isnβt a dumb scraper. It understands what kind of page youβre on and adjusts its behaviour accordingly β including Twitterβs relevance sort and multi-tag hashtag searches.
When history exists, IMGLAB stops at your newest archived tweet ID. Only fresh content gets queued β saving API calls and time every session.
URL contains until:? Backfill mode disables the history boundary so you can dig through older archives safely without corrupting your records.
Relevance-sorted results trigger an amber warning and hide Go Older β because chronological position is meaningless in Twitterβs Top tab.
Multi-tag hashtag searches (#tag-a #tag-b) are handled end-to-end β history keys, exported filenames, and subfolder names all stay consistent between the extension and the companion downloader.
The companion downloader (beta)
The extension exports urls.txt. The IMGLAB Image Downloader takes it from there β a Python + Gradio app that runs locally, downloads images in parallel, skips files already on disk, and organises everything into rich named subfolders like γ΅γ³γγ«ε€ͺι(@example_user). History syncs back to the Chrome extension automatically via a local API on port 7861.
The downloader is currently in beta testing. Any donation on Ko-fi or Buy Me a Coffee gets you the download link directly. One donation, lifetime access β no subscription, no key expiry. A cryptographic Donation Key system for unlocking Pro features is coming soon.
Twitterβs GraphQL endpoints enforce rate limits β IMGLAB handles pauses automatically with countdown timers, but large collections (1,000+ tweets) may pause 1β2 times. The extension collects photos only (no videos or GIFs). It can only see tweets visible in your own browser session β private accounts you donβt follow are not accessible.
One click to collect them all.
Free to install, no sign-up, no account. Open any Twitter profile or hashtag search, click Start, and watch it run. Support development to unlock the batch downloader.
Free extension Β· Donation unlocks beta downloader Β· No subscription
