Guides

How to Bulk Delete Tweets Without an API Key (2026 Guide)

Why the X API isn't the right tool for deleting your tweets

If you've searched for a way to delete your tweets in bulk, you've probably run into the same wall most people do: every developer tool, Python script, and tutorial assumes you'll be using the X API. Once you start down that path, you quickly realise it's built to make tweet deletion hard, not easy. Three specific barriers stop most people before they've deleted a single tweet.

The 3,200 tweet limit

The X API only returns your most recent 3,200 tweets to any application that asks for them. This limit is baked into the API itself. No amount of pagination, authentication, or payment lets you retrieve tweet IDs older than that. If you've been on the platform since 2010 and have 40,000 tweets, any tool that relies on the API can only touch the most recent 3,200 of them. The rest stay live on your profile indefinitely, visible to anyone who scrolls back far enough. For people who've been active on X for years, this means the tweets they most want to delete, the oldest and most outdated ones, are precisely the tweets the API can't see.

The developer account requirement

Using the API means registering for an X developer account, which has become progressively harder since 2023. What was once a quick signup with immediate access is now a review process that can take several days, requires justifying your use case in writing, and can be rejected for reasons X doesn't explain. For the simple task of deleting your own tweets, the friction alone puts most people off, and that's before you hit the pricing.

API pricing changed everything in February 2023

In February 2023, X eliminated the free tier for most API write operations, including tweet deletion at scale. As of 2026, the Basic tier costs $200 per month and imposes daily caps that make deleting a full archive impractical. The Pro tier starts at $5,000 per month. For someone who just wants to wipe their own tweet history, these costs are absurdly disproportionate. You're paying enterprise rates for a personal cleanup task that ought to take no more than an hour.

Do SaaS tweet deletion services avoid these limits?

You might be thinking: what about services like TweetDeleter, Circleboom, or Redact? These are subscription tools designed specifically for tweet deletion, so surely they've solved this? They haven't, really. They've just smoothed over the interface. Every SaaS tweet deletion service sits on top of the X API, which means they inherit its limits. They pay X for higher tier API access and pass that cost on to you through monthly subscriptions, but they can't reach tweets older than the 3,200 cap, because the cap exists in the API itself, not in their tool. What you get from a SaaS subscription is convenience (a friendly dashboard, scheduling, periodic deletion of new tweets), not access to your full history.

If you have fewer than 3,200 tweets and want ongoing management, a SaaS tool is a reasonable choice. If you have more than 3,200 tweets, or you want a clean sweep without committing to a subscription, you need a different approach entirely.

Another approach: using your tweet archive

There's a quieter path that sidesteps the API completely. Every X user has the right to request a complete archive of their own data, not through the API, but through the account settings page. This archive is a ZIP file containing every tweet you've ever posted, going back to the very first one, with no tweet limit and no review process. The archive includes a file called tweets.js which lists every tweet ID associated with your account.

Once you have those tweet IDs, you can delete the tweets through x.com's own web interface, the same way you'd delete a single tweet manually, but automated. This works because your browser is already logged in to your X account and has permission to delete your tweets. You don't need an API token.

No developer account. No $200 a month. No 3,200 tweet cap. Just your archive, your browser, and a script.

How deletion via your archive works in practice

The workflow has three steps:

  1. Request your archive from X. Go to Settings → Your Account → Download an archive of your data. X prepares the archive over the next 24 hours and emails you when it's ready. No approval process, no cost.
  2. Open a tool like XeetDelete and upload the tweets.js file. XeetDelete is a single HTML file that runs entirely in your browser. Your tweets.js file is parsed locally, so it never leaves your computer. You see a dashboard of your full history with filters for date range, tweet type (original, retweet, reply), engagement, and keywords.
  3. Generate a deletion script and paste it into x.com's console. When you've filtered down to exactly the tweets you want to delete, the tool generates a JavaScript snippet. You open x.com in another tab, press F12 to open the developer console, and paste the snippet. It uses your existing session on X to delete each tweet in sequence.
Important
The most common mistake when using tools like this is pasting the generated deletion script into the wrong console. The script must run in the developer console of x.com, the tab where you're logged into your X account, not in the console of the XeetDelete tool itself. XeetDelete generates the script; x.com executes it.

Is this approach allowed by X's terms?

Yes. You're using your own authenticated session to delete your own content. This is functionally identical to deleting a tweet manually via the web interface. You're just automating the clicks. X's terms of service don't prohibit users from deleting their own tweets, and nothing about this approach accesses data you aren't already entitled to. The tweets.js file is provided by X specifically for users to access their own data. The browser session you use to run the deletion script is the same one you'd use to delete a tweet by hand.

What about rate limiting?

X throttles rapid requests from any session, including those coming from a web browser. If you try to delete 1,000 tweets in under a minute, X will start returning 429 errors and temporarily block further deletion attempts. A good deletion tool detects these errors automatically, pauses the queue for 60 seconds, and resumes once the throttle clears. XeetDelete handles this automatically. You can start the script running, go and make a coffee, and come back to find it's worked through thousands of tweets in the meantime.

Comparing the approaches

The API approach requires a developer account, costs at least $200 a month as of 2026, and caps tweet deletion at 3,200, which are the most recent tweets, not the oldest. SaaS tools built on the API inherit the same limits but hide them behind a subscription interface, typically $10 to $30 a month, also capped at 3,200 tweets per account. Using your archive has no tweet limit, no subscription, and requires no developer account. The only friction is waiting around 24 hours for X to prepare your archive.

For a full history clean sweep, using your archive is decisively better than an API or SaaS approach. For ongoing automated deletion of new tweets as you post them, a SaaS subscription might still make sense.

Getting started

XeetDelete is a pay what you want download available on Gumroad, from $12 (suggested price $19). It's a single HTML file that handles the archive parsing, filtering, and script generation described above. No subscription, no accounts, and lifetime updates are included. Everything runs locally on your computer.

Once you have it, the related guides below walk through each step of the process in more detail: requesting your archive, uploading and filtering tweets, and running the deletion script correctly.