How to Batch Save Twitter Photos with One Chrome Extension πŸ“Έβš‘

Chrome Extension MV3 Β· Free 6 min read

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.

∞
Images collectable per session
4K
Original-res JPEG export
1
Click to start collecting
Free
No sign-up required

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.

😩
The manual approach falls apart at scale
Right-click fatigue
Hundreds of save dialogs for a single artist’s archive
Compressed previews
Twitter’s UI serves scaled-down images β€” not originals
No incremental sync
No way to β€œpick up where you left off” next time
Chaos in Downloads
Random filenames, no folders, no metadata
01

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.

πŸ”
GraphQL
API-Based
πŸ“œ
Auto-Scroll
Support
πŸ“š
History
Tracking
⬇️
Per-Tweet
Download
πŸ”„
Retry
Failed
02

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.

⭐ Most Important
Batch URL Collection with Auto-Export

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.

πŸ’‘ Collection always finishes with an auto-export, so you never lose a session’s worth of URLs even if you forget to click the export button manually.
Per-Tweet Download Button

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.

History Tracking + Go Older

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.

03

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.

⏩
Incremental Mode

When history exists, IMGLAB stops at your newest archived tweet ID. Only fresh content gets queued β€” saving API calls and time every session.

βͺ
Backfill Mode

URL contains until:? Backfill mode disables the history boundary so you can dig through older archives safely without corrupting your records.

πŸ”€
Top Tab Awareness

Relevance-sorted results trigger an amber warning and hide Go Older β€” because chronological position is meaningless in Twitter’s Top tab.

Works Across All These Contexts
πŸ‘€ Profile Media Tabs #️⃣ Single Hashtag Searches 🏷️ Multi-Tag Searches πŸ” from:user filter:images πŸ“† Until: Backfill Sessions ⭐ Saved Favourites πŸ”„ Retry Failed Tweets

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.

04

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.

πŸ”¬
Beta access included with any donation

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.

⚠️
Honest limitations worth knowing

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.

Every photo from every account.
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

Share This Article
Leave a Comment