A feed generator for Bluesky

2025 January 17

One of the cool things about Bluesky right now is that they have an open API. In this day and age that the internet seems like a bunch of websites with walls as high as the eye can see. It is nice to have some openness.

Although it is not a guarantee for this thing to be around for long, for now I am using it for my needs. In this case, I've started to enjoy a lot RSS, and bsky has it!

So like in 5 minutes I created a tiny script that gives you all of the rss feeds from a particular account. The code can be found here. And here below too. It is super simple!

# /// script
# requires-python = ">=3.11"
# dependencies = [
#     "requests",
# ]
# ///
import requests

def main(name="snats.xyz", output_file="following.txt"):
    r = requests.get(f'https://public.api.bsky.app/xrpc/app.bsky.graph.getFollows?actor={name}')
    body = r.json()
    handles = [user['handle'] for user in body['follows']]
    rss_handles = [f"https://bsky.app/profile/{handle}/rss" for handle in handles]
    with open(output_file, 'w') as f:
        f.write('\n'.join(rss_handles))

if __name__ == "__main__":
    main()

You can run all of this with no need to install dependencies and uv with a simple:

uv run bsky_feed.py

Back to website