Read this in other languages: Español
A Python tool to remove all likes from your Bluesky account using the official ATProto API.
- 🔐 Secure authentication with the official Bluesky API
- 📊 Shows statistics of your likes before deletion
- 🔄 Real-time progress with counter
⚠️ Safety confirmation before proceeding- 🛡️ Error handling and rate limiting
- ⏸️ Ability to interrupt the process at any time
- Python 3.10 or higher
- A Bluesky account
- Internet access
- Clone this repository:
git clone https://github.com/MatiFalsetta/bluesky-cleaner
cd bluesky-cleaner- Create and activate virtual environment (Recommended):
python -m venv env
.\env\Scripts\Activate.ps1- Install dependencies:
pip install atproto-
Create an App Password (Required):
- Go to https://bsky.app/settings/app-passwords
- Add a new application password for this script with a unique name
- You do not need to check the box to allow access to your direct messages
- Save the generated password in xxxx-xxxx-xxxx-xxxx format (you'll need it in step 3)
-
Run the script:
python delete_likes.py- Enter your Bluesky handle (e.g.,
user.bsky.social) - Enter your app password (not your regular account password)
- Review the displayed statistics
- Confirm if you want to proceed with the deletion
To completely remove the tool from your system:
- Delete the repository folder:
# Navigate to the parent directory where you cloned the repository
cd ..
# Remove the entire bluesky-cleaner folder
rm -rf bluesky-cleanerNote: This will permanently delete all files including the script and any logs. Make sure you don't need any files from the folder before deletion.
- This action is IRREVERSIBLE: Once deleted, likes cannot be recovered
- Slow process: With safety pauses, deleting thousands of likes may take time
- Requires credentials: You need your Bluesky username and password
- Authentication: Connects to Bluesky using the official ATProto SDK
- Retrieval: Uses
com.atproto.repo.list_recordsto get all your like records - Deletion: Deletes each record using
com.atproto.repo.delete_record - Progress: Shows real-time statistics and handles errors
Contributions are welcome! If you find a bug or have an improvement:
- Fork the project
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Is it safe to use my credentials? Yes, the script uses the official ATProto library and does not store your credentials.
Can I interrupt the process? Yes, you can use Ctrl+C at any time to stop execution.
Does it affect the original posts? No, it only deletes your like records, not the original posts from other users.
If you have problems or questions, open an issue in this repository.
⭐ If this project was useful to you, give it a star!