AD
Boost Your Brand on BlueSky—Exclusive banner space to amplify your reach within the BlueSky community.
BSkyInfo LogoBskyInfo
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryArticlesGuidesGlossaryBluesky SDKsSponsor
Submit
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryGuidesGlossaryArticlesBluesky SDKsSponsorSubmit
  1. SDKs
  2. /Python
  3. /rss2bsky.py
v-p-b

rss2bsky.py

A Python SDK for Bluesky and AT Protocol by v-p-b

RSS to Bluesky - in Python

GitHub Stats

5stars
3forks
3contributors
0open issues

Dates

Created:February 11, 2024
Last updated:March 25, 2025

README

The following content is from rss2bsky.py's GitHub repository. All rights reserved by the original author.

RSS to Bluesky - in Python

This is a proof-of-concept implementation for posting RSS/Atom content to Bluesky. Some hacking may be required. Issues and pull requests welcome to improve the system.

Built with:

  • arrow - Time handling for humans
  • atproto - AT protocol implementation for Python. The API of the library is still unstable, but the version is pinned in requirements.txt
  • fastfeedparser - For feed parsing with a unified API
  • httpx - For grabbing remote media

Features:

  • Deduplication: The script queries the target timeline and only posts RSS items that are more recent than the latest top-level post by the handle.
  • Filters: Easy to extend code to support filters on RSS contents for simple transformations and limiting cross-posts.
  • Minimal rich-text support (links): Rich text is represented in a typed hierarchy in the AT protocol. This script currently performs post-processing on filtered string content of the input feeds to support links as long as they stand as a single line in the text. This definitely needs some improvement.
  • Threading for long posts
  • Tags
  • Image references: Can forward image links from RSS to Bsky

Usage and configuration

  1. Start by installing the required libraries pip install -r requirements.txt
  2. Copy the configuration file and then edit it cp config.json.sample config.json
  3. Run the script like python rss2bsky.py

The configuration file accepts the configuration of:

  • a feed URL
  • bsky parameters for a handle, username, and password
    • Handle is like name.bsky.social
    • Username is the email address associated with the account.
    • Password is your password. If you have a literal quote it can be escaped with a backslash like \"
  • sleep - the amount of time to sleep while running

Related SDKs

snarfedbridgy-fed

🌉 A bridge between decentralized social networks

1147•Python
snarfedlexrpc

Python client and server for Bluesky/AT Protocol's XRPC + Lexicon

46•Python
snarfedgranary

💬 The social web translator

507•Python
Linus2punkt0bluesky-crossposter

An app for crossposting your posts from bluesky to twitter and mastodon

269•Python
MarshalXatproto

The AT Protocol (🦋 Bluesky) SDK for Python 🐍

637•Python
jaseemabidbluesky-sync

🔄 Sync a list of users in accounts.txt to a Bluesky starter pack

4•Python

Resources

GitHub Repository

License

GPL-3.0

Author

v-p-b
v-p-b

Activity

Last commit: March 25, 2025
Commit frequency: Unknown

Our Sponsors

Your Brand Here!

50K+ engaged viewers every month

Limited spots available!

📧 Contact us via email🦋 Contact us on Bluesky
BSkyInfo LogoBskyInfo

The Most Comprehensive Bluesky Tools Directory

Stay updated with the latest Bluesky tools and ecosystem news 🦋

Bluesky butterfly logo
Quick LinksSubmit a ToolSponsorAboutLegal Information
ToolsFeed DirectoryLabeler DirectorySchedulingAnalyticsAll ToolsCategoriesCollectionsTags
ResourcesArticlesBluesky GuidesBluesky GlossaryBluesky SDKsBluesky ResourcesSkyRaffleMeida Coverage
Our ProductsRaffleBlueAiTeach ToolsLaiewAI affiliate listFirstoCoast Fire CalculatorAsphalt CalculatorDog Names World

This website may contain affiliate links

© 2026 BskyInfo. All rights reserved.