Bulk-delete your Threads posts and replies. Free, open-source, runs locally.
Project description
threads-cleaner
Bulk-delete your Threads posts and replies via browser automation.
Clicks the web UI like a human — no API keys, no developer account, no rate limits.
Installation
pip install threads-cleaner
# or
uv add threads-cleaner
Then install the Playwright browser:
playwright install chromium
# or
uv run playwright install chromium
Quick start
# 1. Log in (opens a browser — go to threads.net, sign in, navigate to your profile)
threads-cleaner browser-login
# 2. Delete all posts
threads-cleaner browser-delete
# 3. Show the browser window to watch what happens
threads-cleaner browser-delete --headed --max 5
Usage
| Command | Description |
|---|---|
browser-login |
Opens a headed browser — log into Threads and session is saved automatically |
browser-delete |
Deletes posts by clicking the Threads UI |
browser-delete --include-replies |
Also delete your replies |
browser-delete --max N |
Stop after N deletions (0 = unlimited) |
browser-delete --dry-run |
Open browser, navigate to profile, but don't confirm any deletes |
browser-delete --headed |
Show the browser (useful for debugging) |
browser-delete --yes |
Skip the confirmation prompt (for scripting) |
Examples
# Delete up to 10 posts, show the browser
threads-cleaner browser-delete --headed --max 10
# Delete everything including replies, no prompts
threads-cleaner browser-delete --include-replies --yes
# Preview what the tool would do
threads-cleaner browser-delete --dry-run --headed
# Delete 50 replies only
threads-cleaner browser-delete --include-replies --max 50
How it works
browser-loginopens a Chromium window — you sign into threads.net and the session cookies are saved locally.browser-deleteloads those cookies into a fresh browser, navigates to your profile, and for each post:- Clicks the More (⋮) button
- Clicks Delete in the popup menu
- Clicks Delete in the confirmation dialog
- With
--include-replies, it also navigates to/replies/and repeats the same loop.
Each delete takes ~3-4 seconds (limited by UI animations).
The tool scrolls down automatically as it runs, so it can delete hundreds of items in one session.
Safety
--dry-runopens the browser and navigates to your profile but never clicks anything destructive.--max Nstops after N successful deletes.- If a "Something went wrong" toast appears, the tool counts it as a failure (not a success) and continues.
- Session cookies expire — re-run
browser-loginif you get a login error.
Requirements
- Python 3.11+
- Chromium (installed via
playwright install chromium)
Why no API?
Meta's Threads Graph API requires an approved Facebook Developer account (the author's was suspended).
The Instagram REST API endpoints that Threads used internally are now returning 404 or killing sessions.
The only reliable approach is real browser automation that clicks the UI like a human.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file threads_cleaner-0.2.0.tar.gz.
File metadata
- Download URL: threads_cleaner-0.2.0.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9bcf302c47ed851b5f5e6914259344038bbf598f1d2ea1ca3d52fb5bf8481b07
|
|
| MD5 |
b6dab5dcdda70972394eb7105bfec791
|
|
| BLAKE2b-256 |
8cdd04ea94bf5e55c2086554e0b3bb859171521a3ec810c89ba69cafde0f56f8
|
File details
Details for the file threads_cleaner-0.2.0-py3-none-any.whl.
File metadata
- Download URL: threads_cleaner-0.2.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7a5c8ddedf076484c176dc0c3f68a39de5d8e792281ac3ae71faaccf6f4fd70
|
|
| MD5 |
319a2e44a1411b5599d0206070961562
|
|
| BLAKE2b-256 |
2273c7e9ccd84fb8f7f989bbf1801e85c783a04bdffe49e54a25fea6b196725a
|