Twitter Image Search: How to Find Only Images on X (2026)
Run a Twitter image search with filter:images or filter:videos, tested on @NASA, then save an account's recent photos to a folder with a Python script.
Tarun Khatri
Published · Updated · 7 min read
To do a Twitter image search, type your words plus filter:images into X's search box, and only posts with photos come back.
This guide is for anyone hunting for pictures on X (Twitter), from marketers to researchers. You get the operators we tested on @NASA, the Media tab, and a Python script that saves photos by API. We run Weir, the API in Step 5.
Paste this into X's search box, with any username:
from:NASA filter:images -filter:nativeretweets
- Search images onlyAdd filter:images to your words.
- Narrow it downfrom:, since:, until: and min_faves:.
- Switch the media typefilter:videos, filter:media, or a minus.
- Open the Media tabOne account's photos and videos.
- Save them by APIGET /v1/x/users/{user}/media.
Step 1: Search only images on Twitter with filter:images
Type your words, then filter:images, and press Enter:
artemis filter:images
Only posts with an image come back. You can type it on the web or in the app.
X's Help Center also describes Photos and Videos tabs at the top of the results. The operator goes further: it stacks with every other filter, as the next step shows.
Step 2: Narrow a Twitter advanced search for images
Add the operators that X's search box understands:
from:NASAkeeps one account's posts.since:2026-09-01anduntil:2026-10-22set the dates.until:leaves out its own day.min_faves:5000keeps posts with at least that many likes.-filter:nativeretweetsdrops reposts, which X search now returns by default.
We ran all of them together through Weir's search on 22 October 2026, with a limit of 3:
from:NASA filter:images min_faves:5000 since:2026-09-01 until:2026-10-22 -filter:nativeretweets
All three posts had a photo, more than 5,000 likes and a date inside the range:
The call cost 4 credits: 1 for the call and 1 per post. Results came newest first, so the bars are sorted by likes, not by X's order.
min_faves: is X's own filter, and a post a little under the floor can slip in. Check the counts if the floor matters. Our free X advanced search builder writes these searches from a form, with a "Links and media" menu.
Step 3: Twitter video search and other media filters
Each media filter has a minus version that drops what it matches. Here are the ones to know:
| Operator | Keeps |
|---|---|
filter:images |
Posts with a photo |
filter:videos |
Posts with a video |
filter:native_video |
Video uploaded to X |
filter:media |
Photos or video |
-filter:media |
Posts with neither |
Igor Brigadir's operator reference says filter:videos also matches outside video, such as YouTube links. Its checks date from 2022, so test before you rely on that.
To test the minus, we searched from:NASA filter:media -filter:images -filter:nativeretweets with a limit of 2. Both posts were videos. One, trimmed:
{
"createdAt": "2026-10-20T15:05:00.000Z",
"media": [
{
"type": "video",
"url": "https://video.twimg.com/amplify_video/2112560648005484545/vid/avc1/1080x1920/p22pg524_Km8ghQo.mp4?tag=16",
"previewImageUrl": "https://pbs.twimg.com/media/HVFSyBvWAAE5Y1_.jpg"
}
]
}
The url is the MP4 file, and previewImageUrl is the still frame. Our guide to X search operators covers the rest, including the has: versions X's own API uses.
Step 4: See all of one account's media on its Media tab
Open any profile and tap Media. You see that account's own posts with photos, videos and GIFs, newest first.
The tab has no filters, though. For a date range or a likes floor, run the Step 2 search with from: instead.
Two more things to know:
- Protected accounts show their posts only to followers they approved.
- Your own media is easier to get from your X archive, which X's Help Center says includes "images, videos, and GIFs" you attached to posts.
Our guide to opening your Twitter archive shows where those files sit.
Step 5: Download a Twitter account's images with Python
Weir's GET /v1/x/users/{user}/media returns the Media tab as JSON. Each post carries a media list with direct file links.
curl -G https://api.weirapp.io/v1/x/users/NASA/media -d limit=2 \
-H "Authorization: Bearer $WEIR_API_KEY"
We ran this on 22 October 2026. We asked for 2 posts and got 1, since X may return fewer. Trimmed:
{
"data": [
{
"id": "2112959650551173522",
"createdAt": "2026-10-21T17:30:12.000Z",
"media": [{ "type": "photo", "url": "https://pbs.twimg.com/media/HVK9moNWUAAzx2Y.jpg" }]
}
],
"meta": { "nextCursor": "v2.BfABSPzSip..." }
}
It cost 4 credits: 1 for the call, 2 to look up the profile on the first page, and 1 for the post.
This function walks the pages. It stops when nextCursor is null or after max_pages, so a big account can't run up your bill:
import os, pathlib, requests
API = "https://api.weirapp.io/v1/x/users/{}/media"
HEADERS = {"Authorization": f"Bearer {os.environ['WEIR_API_KEY']}"}
def media_posts(user, max_pages=3):
params = {"limit": 20}
for _ in range(max_pages):
r = requests.get(API.format(user), params=params, headers=HEADERS, timeout=60)
r.raise_for_status()
page = r.json()
yield from page["data"]
if not page["meta"]["nextCursor"]:
return
params["cursor"] = page["meta"]["nextCursor"]
This one saves every photo into a folder:
def save_images(user, folder="images"):
out = pathlib.Path(folder)
out.mkdir(exist_ok=True)
for post in media_posts(user):
for item in post["media"]:
if item["type"] == "photo" and item["url"]:
path = out / item["url"].rsplit("/", 1)[-1]
path.write_bytes(requests.get(item["url"], timeout=60).content)
print(post["createdAt"][:10], path.name)
save_images("NASA")
For the post in our real call, it prints 2026-10-21 HVK9moNWUAAzx2Y.jpg. We tested the paging and saving offline, on responses shaped like that call.
A full first page costs 23 credits, profile lookup included. Each later page costs 21, so the default three pages cost at most 65.
Images belong to whoever posted them, so check the rights before you reuse one.
Can you do a reverse image search on Twitter?
Not inside X. Its search box takes words and operators, not a picture. To find where a picture came from, use a reverse image search:
- Google: click "Search by image," then upload the file or paste the image link, per Google's help page.
- TinEye: upload, drag, paste or enter an image URL. Its Oldest sort shows the earliest copy it knows of.
A match tells you where else the picture appears. Then search X for the words or account around it.
Why does my Twitter image search show nothing?
- Your filters are too tight. Lower
min_faves:or widen the dates. - You dropped reposts.
-filter:nativeretweetshides images an account only reposted, so search the original author. - The account is protected. X's Help Center says only approved followers see its posts in search.
- Search skipped it. X's Help Center also says it "may not show every post in search results."
When not to use Weir
- You browse one account by hand. The Media tab and X's search are free.
- You want to search by the picture itself. Weir has no reverse image search, so use Google or TinEye.
- A contract with X is required. X's API takes
has:imagesat $0.005 per post read, as of October 2026. - Price per post is all that matters. TwitterAPI.io lists $0.15 per 1,000 tweets, and it can also post.
X's Terms of Service say you "cannot scrape the Services without X's express written permission," so check what applies to you. This isn't legal advice.
FAQ
How do I search only images on Twitter?
Add filter:images to your search, such as from:NASA filter:images. Only posts with a photo come back. Add -filter:nativeretweets to drop reposts, and min_faves: to keep the popular ones.
Can you search Twitter by image?
Not on X itself, since its search takes words and operators only. Upload the picture to Google's Search by image or to TinEye. They show where else it appears online, and you can search X from there.
How do I find old images on Twitter?
Add dates to your image search: from:NASA filter:images since:2020-01-01 until:2021-01-01 covers all of 2020. until: leaves out its own day. If too many come back, add min_faves: to keep the popular ones.
How do I see all media from a Twitter account?
Open the profile and tap Media for its photos, videos and GIFs, newest first. To save them in bulk, run the Step 5 script, which pages through the same list by API.
Sources
All checked on 22 October 2026. X's help pages block our reader, so we read their Wayback copies.
- X Help Center, search tabs: https://help.x.com/en/using-x/x-search
- X Help Center, help with search (September 2025 copy): https://help.x.com/en/using-x/x-search-not-working
- X Help Center, your X archive: https://help.x.com/en/managing-your-account/how-to-download-your-x-archive
- Igor Brigadir, twitter-advanced-search: https://github.com/igorbrigadir/twitter-advanced-search
- X API search operators and pricing: https://docs.x.com/x-api/posts/search/integrate/operators and https://docs.x.com/x-api/getting-started/pricing
- X Terms of Service, effective 9 October 2026: https://x.com/en/tos
- Google Search Help, search with an image: https://support.google.com/websearch/answer/1325808
- TinEye blog, how to use TinEye (23 April 2026): https://blog.tineye.com/how-to-use-tineye-search/
- TwitterAPI.io pricing and posting: https://twitterapi.io/pricing and https://docs.twitterapi.io/api-reference/endpoint/create_tweet_v2
- Weir API reference: https://docs.weirapp.io/reference/x/getXUserMedia and https://docs.weirapp.io/reference/x/searchX
- Our @NASA searches and media call through Weir's API