Twitter Image and Video Search: What Works and What Doesn't
Twitter Image and Video Search: What Works and What Doesn't
Two different things get called "Twitter image search", and only one of them is possible.
Finding posts that contain images — filtering search results down to media. This works well.
Finding a post from an image you already have — reverse image search. ★This does not exist on X.★
Worth separating them up front, because a lot of time gets wasted looking for a feature that isn't there.
Filtering search to media
The operators are simple and they combine with everything else:
| Operator | Result |
|---|---|
filter:media |
Posts with any image or video |
filter:images |
Images only |
filter:videos |
Video only |
filter:links |
Posts containing links |
-filter:images |
Excludes images |
Combine them with anything from the full operator set:
from:nasa filter:images min_faves:500
"product launch" filter:videos since:2026-08-01
#conference2026 filter:images -filter:retweets
⚠️ One quirk worth knowing: the Media tab often returns more results than Latest or Top for the same query. We measured this on an identical query — Latest 22, Top 20, Media 48. It draws from a differently-shaped index rather than filtering the same result set, so if a media search looks empty, try the tab before concluding there's nothing there.
Reverse image search doesn't exist on X
There is no way to upload an image to X and find posts containing it. No operator, no interface feature, no API endpoint.
What people do instead:
- Google Images or TinEye on the image file. They index some X media, so this sometimes finds the post. Coverage is thin and getting thinner.
- Search the text around it. If you have a screenshot, searching an exact phrase from it in quotes finds the original far more reliably than any image approach.
- Search the account plus a date range. If you know who posted it and roughly when,
from:account filter:images since: until:narrows it to a browsable set fast.
★The text route beats the image route almost every time.★ A distinctive quoted phrase is a much stronger search key than an image X won't let you search by.
And if what you actually want is an account's media in bulk rather than one particular post, that's a direct call rather than a search problem.
Pulling media programmatically
If you want an account's images or video rather than a search, that's a direct call:
import requests
BASE = "https://api.socialapi.tech"
KEY = "your_api_key"
HDRS = {"X-API-Key": KEY}
def get_media(username, limit=50):
r = requests.get(
f"{BASE}/v1/user/media",
params={"username": username, "limit": limit},
headers=HDRS,
timeout=60,
)
r.raise_for_status()
return r.json()["data"]
for post in get_media("nasa", limit=20):
print(f"{post['created_at']} {post['like_count']:>6} likes {post['text'][:50]}")
There are also separate calls for photos and videos specifically, if you want one without the other.
Downloading the files themselves is a second step — post objects carry the URLs, and you fetch those separately. Note that images and video arrive in two separate fields: photos is a list of URLs, videos is a list of objects.
import pathlib
def download_photos(username, out_dir="media", limit=50):
out = pathlib.Path(out_dir)
out.mkdir(exist_ok=True)
saved = 0
for post in get_media(username, limit=limit):
for i, url in enumerate(post.get("photos", [])):
ext = url.split("?")[0].rsplit(".", 1)[-1][:4] or "jpg"
path = out / f"{post['id']}_{i}.{ext}"
if path.exists():
continue # already have it
resp = requests.get(url, timeout=60)
if resp.ok:
path.write_bytes(resp.content)
saved += 1
return saved
print(f"saved {download_photos('nasa', limit=20)} files")
⚠️ Don't assume a single combined media field. Photos and video are structured differently — a list of URL strings versus a list of objects — so code that iterates one shape over both silently returns nothing for the other.
⚠️ On rights: being able to download something doesn't mean you can republish it. Images and video on X belong to whoever made them. Downloading for analysis is one thing; reusing in your own material is a licensing question, and "it was public" is not a defence.
Questions people ask
How do I search for images on Twitter?
Add filter:images to your query, or use the Media tab after searching.
Can I do a reverse image search on Twitter? No. X has no reverse image search. Try Google Images on the file, or search an exact phrase from the image's text.
How do I find a tweet from a screenshot? Search a distinctive sentence from it in quotes. Far more reliable than trying to search by the image.
How do I search for videos on Twitter?
filter:videos, optionally combined with from: or a date range.
How do I see all photos from an account? The Media tab on their profile, or a media call if you're doing it programmatically.
Can I download Twitter images? Individually, yes — right-click and save. In bulk, programmatically via the media URLs on each post. Note that downloading and republishing are different things.
How do I download Twitter videos? Video URLs come with the post data. Third-party downloaders exist too, with the usual caution about what you're pasting a link into.
Why does my media search show no results?
Try a different tab — Media often returns more than Latest for the same query. Also check the operator spelling: filter:images, not filter:image.
Can I search GIFs?
GIFs on X are technically short videos, so filter:videos catches them. There's no GIF-specific operator.
How do I find the original poster of an image? Search exact text from the post if you have it. If not, and Google Images doesn't find it, there often isn't a reliable route.
Can I search images by content? No — X doesn't index what's in an image. You're searching the text of posts that happen to contain images.
How many images can a post have? Up to four images, or one video, per post.
Can I get image URLs from the API?
Yes — they come with the post objects, in a photos list. Video is a separate videos field with a different shape, so handle them separately.
What resolution are the images? Original upload resolution is generally available; some URLs carry size parameters you can adjust.
Can I search for images by date?
Yes — combine filter:images with since: and until:, same as any other date search.
Do deleted images stay accessible? No. When a post is deleted its media goes with it.
Can I search for images in replies?
filter:images applies to replies too. Add filter:replies to restrict to them.
How do I monitor an account's new images? Poll their media on a schedule and compare against what you've already seen — the same shape as any monitoring setup.
Can I search images by hashtag?
Yes — #hashtag filter:images.
Is there an API for Twitter images? Media comes back as part of post data rather than as a separate image service. You get the URLs and fetch the files yourself.
How do I search for images on Twitter?
Add filter:images to a search query. ★It narrows to posts carrying images★, not to the image content itself.
Can I reverse image search a tweet? Not within X. ★Take the image URL to a general reverse-image engine★ — the platform indexes posts, not pictures.
Is there a Twitter media viewer? Any tool showing an account's media tab is one. ★The media timeline is a standard, public view.★
How do I get a profile picture at full size? The profile returns the image URL, usually with a size suffix you can adjust. ★It is a public field like any other.★
Can I download images from a post? The URLs come with the post data; ★fetching the files is a separate step you control★.
Does image search find text inside images? No. ★Search matches post text, not what is written in a picture★ — a common and costly assumption.
How do I see likes on Twitter? The likes tab on a profile — ★though X restricted programmatic access to liker lists in 2023★.
Does Twitter have profile views? Profile visits appear in your own analytics as a count — ★never as identities★ — the rule.
How do I find an account's photos? Use the media view, not the timeline — ★measured at zero overlap★ — why.
Can I search for images by content? ★No — search matches text only.★ Take the image URL to a general reverse-image engine instead.
How do I find a specific image someone posted? Search the post's wording, ★not the image★ — the text around it is what is indexed.
Are images searchable by filename? No. ★Filenames are not exposed or indexed.★
Can I find deleted images? Only in an archive that captured them — what survives deletion.
Do GIFs show up in image search? They generally come through the video shape — ★check the type field rather than assuming★.
How do I get images from many accounts? Page each account's media view — ★per account, since media views are not batched★.
Can I see who saved my image? ★No — bookmarking is private★, and downloads are invisible.
Does an image count as media for filters?
Yes — filter:media covers images and video — ★use filter:images to narrow further★.
Why does my media search miss posts? ★Because the media views are separate indexes★ — filtering a timeline is the wrong tool.
If you're collecting media
The pattern is two-stage: get the posts with their media URLs, then fetch the files. Deduplicate on post ID rather than filename — the same image can appear under different URLs.
Our API returns photos and videos with every post, plus dedicated calls for an account's photos or videos specifically. Read-only, flat price per call, cursor-based paging, no rate limit of your own to manage.
Related reading: every search operator that still works · finding old posts · monitoring accounts for new posts.