How to Bulk Delete Only X (Twitter) Photo and Video Posts
Quick Summary
How to bulk delete only photo and video posts on X using search operators and API-based tools, plus cache handling.
Your first step: know the actual count
Stop guessing how many posts need cleanup. Get a real number from X API.
You can review the estimate before deciding to proceed.
Free count check. Pay only if you choose to proceed.
then removing them one by one via the API — there is no bulk media-only delete button.
Media posts — images, videos, and GIFs — carry more visual weight than text-only posts. They are often the first thing a recruiter, client, or journalist sees when screening your profile. Yet X provides no native way to select and delete only media posts in bulk. The "Media" tab on your profile lets you browse them, but each one must be deleted individually through the UI.
This article walks through the practical workflow for targeting only media posts using X API search operators, executing deletion through the official API, and handling the residual cache that lingers after removal. The approach works whether you have 50 media posts or 5,000.
How X Classifies Media Posts
The X API distinguishes three types of media attachments. Each type has a corresponding search operator that lets you filter posts precisely.
"has:media — Matches Posts with media (photo, GIF, video)"
Source: X API Search Operators https://docs.x.com/x-api/posts/search/integrate/operators(Verified: 2026-06-19)
The three operators you need are:
- has:media — matches any post containing a photo, GIF, or video
- has:images — matches only posts with static images; excludes GIFs and videos
- has:video_link — matches only posts with natively uploaded X videos
For example, to find your own image-only posts, you would query:from:your_username has:images. To target only video posts:from:your_username has:video_link. Using has:media captures all three types at once.
These are "conjunction required" operators, meaning they cannot be used alone. You must pair them with a standalone operator like from:. Sending has:images by itself will return an API error.
Step-by-Step: Deleting Only Media Posts via the API
Step 1: Identify target media posts
Use the X API Search Posts endpoint with the appropriate media operator. Include the attachments.media_keys field in your request to retrieve the media type (photo, video, or animated_gif) for each post.
Counting posts by media type at this stage lets you make informed decisions — for instance, deleting only videos while preserving images, or targeting a specific date range. For time estimates based on post count, seethe time estimate guide.
Step 2: Send delete requests by Post ID
The X API delete endpoint works on a per-post basis using the Post ID.
"Deletes a specific Post by its ID, if owned by the authenticated user."
Source: X API Delete Post https://docs.x.com/x-api/posts/delete-post(Verified: 2026-06-19)
Three constraints follow from this specification:
- You can only delete your own posts — retweets and other users' media are off-limits
- Post ID is required — you cannot delete by media URL or media key
- Valid OAuth authentication is required — expired tokens cause immediate rejection
There is no separate "delete media" endpoint. Deleting the post automatically removes all attached media files from X's CDN. The same DELETE /2/tweets/:id endpoint handles text posts, image posts, and video posts identically.
Step 3: Verify deletion completion
A successful delete returns { "deleted": true }. However, API-level deletion and visibility removal are not the same thing. Verify all three of the following:
- Your profile's Media tab is empty — on-platform confirmation
- Deleted post URLs return 404 — individual URL check
- No cached versions remain in Google — search engine check
API Rate Limits and Media-Specific Considerations
Rate limits do not distinguish media types
The X API rate limit for deletion applies uniformly to all post types.
"You can manage 50 Posts per 15-minute window for posting, deleting, and other POST operations."
Source: X API Manage Tweets Rate Limits https://docs.x.com/x-api/posts/manage-tweets/limits(Verified: 2026-06-19)
If you have 500 media posts, the minimum elapsed time is roughly 2.5 hours (including mandatory wait periods). This limit applies equally to manual deletion and automated tools. Services advertising "instant bulk deletion" are simply automating the wait cycles.
Media posts can contain large files — up to 4 images per post or multi-minute videos — but the delete API's processing time is unaffected by media size. It only validates the Post ID and authentication credentials. The rate limit window, however, does not expand to accommodate larger payloads.
Media file removal from X's CDN
When you delete a post through the API, the associated media files are also removed from X's content delivery network. However, residual copies may persist in the following locations:
- Google cache — image search thumbnails and page snapshots may linger
- Wayback Machine — previously crawled snapshots may still be accessible
- Third-party embeds — sites that embedded your X media may retain cached versions
Handling Cache and Search Residue After Deletion
Media posts — especially images — are more likely to persist in caches than text-only posts. Google Image Search retains thumbnails for a period even after the source is deleted.
Requesting Google cache removal
Google provides a tool for requesting updates to outdated content in search results.
"If content was deleted from a site but still comes up in Google Search results, the page description or cache might be outdated."
Source: Google Search Help — Refresh outdated content https://support.google.com/websearch/answer/6349986(Verified: 2026-06-19)
After deleting your X posts, the post URLs (https://x.com/username/post_id) will return 404. You can submit these URLs through Google's "Refresh Outdated Content" tool to expedite index removal. The limitation is that each URL must be submitted individually, which becomes tedious with hundreds of media posts.
A practical priority order:
- Delete all posts via API first — removing content from X and its CDN is the priority
- Wait 1–2 weeks, then check Google — most entries clear naturally
- Submit individual removal requests only for remaining items — focus on the most visible ones first
Wayback Machine considerations
The Internet Archive's Wayback Machine periodically crawls X post pages and stores snapshots. Even after you delete a post, a snapshot may remain accessible viaweb.archive.org.
To request removal from the Wayback Machine, email[email protected] with the target URLs. Since deleted X posts return 404, removal requests are generally honored, but the process can take several weeks and is not guaranteed for all snapshots.
For a deeper look at search engine and archive site cleanup, seethe guide on why deleted tweets remain in search.
Filtering Precision Determines Success
Bulk deleting only photo and video posts on X comes down to two things: accurate filtering with search operators, and a realistic execution plan that respects API rate limits. Manual deletion works for small volumes, but becomes impractical beyond a few dozen posts.
X Deleter uses OAuth 2.0 authentication through the official API, enforcing rate limit compliance while supporting pause-and-resume workflows. You can specify media type filters to target images only, videos only, or all media. Start by checking your target post count, then execute the deletion in planned stages. For date-range filtering strategies, seethe date-based deletion guide.
Frequently Asked Questions
What should I check before starting x delete photos only?
Confirm expected volume, target range, and whether waiting states are normal. That prevents false alarms and makes completion more predictable.
If deletion pauses midway, is the tool broken?
Not necessarily. High-volume deletion often pauses because of platform limits, not because the workflow failed.
Related Articles
These articles target closely related search intent and next-step questions.
X 投稿 一括削除 2026|過去ポストを安全に全消しする実務手順
Xリブランド後の「ポスト」削除に対応した実務手順。API仕様ベースで安全設計から完了確認までを整理。
How to Delete Tweets by Date on X (2026): Remove Posts from a Specific Year or Period
For users who want selective cleanup instead of a full wipe, date-range control is the key workflow.
Deleted Tweets Still in Google? 5-Step Removal Workflow for X Posts
A source-deletion and search-cleanup workflow for users who deleted posts but still see them in Google or archives.
