Media Post Deletion

How to Bulk Delete Only X (Twitter) Photo and Video Posts

By X Deleter Founders

Quick Summary

How to bulk delete only photo and video posts on X using search operators and API-based tools, plus cache handling.

x delete photos onlytwitter bulk delete mediadelete video tweets twitter

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.

Deleting only photo and video posts on X (Twitter) requires filtering with search operators,
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:

  1. You can only delete your own posts — retweets and other users' media are off-limits
  2. Post ID is required — you cannot delete by media URL or media key
  3. 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:

  1. Delete all posts via API first — removing content from X and its CDN is the priority
  2. Wait 1–2 weeks, then check Google — most entries clear naturally
  3. 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.

Job seekers and professionals are cleaning up old posts now. The sooner you act, the lower the risk.

Delete your risky old posts today.

Old posts are often seen by others before you notice.
Reduce avoidable risk before it becomes costly.

Check estimate via X's sign-in flow

After signing in through X's own flow, you can review count and price for free before checkout.