I'm not a fan of scrolling through Twitter (or X) directly. The platform is cluttered with ads, news, and politics, which makes it tough to focus on the few users I actually want to follow. Previously, I kept multiple tabs open on my phone, checking periodically for new posts - but it was far from ideal.

Nitter an excellent open-source alternative front-end for Twitter, written in Nim, that includes RSS feeds. While it's a powerful tool, setting up a self-hosted Nitter instance felt a bit overkill for what I wanted: a simple, automated solution to scrape a handful of user posts just once or twice a day and update an RSS feed. Automatically having those posts populate my Feeder feed (an amazing open-source reader) would be perfect.

I explored using the official X API, which technically provides what I need. However, it charges $0.005 per scrape request, which would add up to roughly $1 per month for my uses. Not a huge cost, but I wanted to try a different approach.

Introducing TwitterToRSS

I decided to build a lightweight system that scrapes new posts from specific Twitter users every 12 hours and converts them into an RSS feed. To do this, I collaborated with an AI agent (Claude) to analyze how Nitter handles Twitter scraping. Together, we developed a simple Python Flask app called TwitterToRSS.

The app features a straightforward web interface where you can add Twitter usernames (e.g., @username) to automate the scraping process. It uses your own Twitter session cookies (auth_token and ct0) for authentication. These can be extracted from your browser's developer tools. A word of caution: I'm not yet sure how long the session cookies remain valid, and excessive scraping could potentially lead to account restrictions.

Try It Out

If you're interested in a cleaner, more focused way to follow Twitter content without the usual noise, you can check out the project on my GitHub.