
Short answer: Public Mastodon profiles have an RSS feed at the profile address with .rss added, for example https://mastodon.social/@username.rss, and many Mastodon servers also offer hashtag feeds such as /tags/example.rss. Bluesky profiles have a feed at https://bsky.app/profile/handle/rss. You can use these feeds in a feed reader, to show your latest posts on your website, to archive them, or as a source for an auto-posting tool that shares them to other channels. Remember that social posts have no titles, may include replies, and must never be fed back into the same account.
RSS is usually associated with blogs and news sites, but it is a general format for “a list of the latest things published here”. Mastodon, as part of the open fediverse, has offered RSS feeds for public profiles for years, in keeping with its open web approach. Bluesky added RSS feeds for profiles as well. Both make it possible to follow someone’s public posts without an account, and to use those posts in other tools.
For businesses, creators and developers, this opens some useful possibilities. If most of your quick updates happen on Mastodon or Bluesky, the feed lets you reuse them elsewhere without copying and pasting. If you want to show your latest posts on your website, the feed is a simple, stable data source. And if you want a personal archive, a feed reader or a small script can save each post as it appears.
It is worth being clear about what these feeds are not. They are not an official API with guarantees, and their exact content can change between software versions. They are read-only, and they only include public content. For many everyday uses, though, they work well.
For any public Mastodon account, take the profile URL and add .rss:
https://mastodon.social/@usernamehttps://mastodon.social/@username.rssThe server name is the server where the account lives, not the one you happen to be browsing. If you view a remote account through your own server, the address in your browser may point to your server’s copy of the profile. Visit the account’s home server to get the canonical feed.
Many Mastodon servers also provide hashtag feeds at https://server/tags/hashtag.rss. These show public posts on that server using the tag, which can be handy for monitoring a topic, though the results depend on what that particular server knows about.
What you will typically find in a Mastodon profile feed:
Posts with limited visibility, such as followers-only or direct messages, are not included. In current versions, replies and boosts are generally left out of the profile feed as well, but check your own feed to see exactly what your server outputs.
For a Bluesky account, add /rss to the profile address on the official web app:
https://bsky.app/profile/yourname.bsky.socialhttps://bsky.app/profile/yourname.bsky.social/rssIf you use a custom domain as your handle, for example yourcompany.com, the same pattern applies with that handle. At the time of writing, the handle-based address redirects to an address built from the account’s permanent identifier (DID), such as https://bsky.app/profile/did:plc:.../rss. The DID does not change when you change your handle, so if you plan to use the feed for a long time, using the DID-based address protects you from breakage.
The Bluesky feed is deliberately simple. Each item typically has a link to the post, the post text as plain text in the description, a publication date and a unique identifier, but no title. Images are generally not included, and embedded content such as quote posts may appear only as a short placeholder note in the text. Test the output before relying on it: check whether replies appear and how many items the feed includes, because these details matter for any automation you build on top of it.
If you connect a social profile feed to a tool built for blog feeds, a few differences will show up immediately:
None of these is a problem once you know about them. They simply mean that social feeds need a slightly different setup than blog feeds.
Show your latest posts on your website. Many website builders and plugins can display items from a feed. A “latest from Mastodon” or “latest from Bluesky” box keeps your site feeling current without embedding third-party scripts.
Cross-post to channels where you are less active. If Mastodon or Bluesky is your main place for short updates, the feed can carry those updates to a Telegram channel, a Discord server, a team chat or another network. Filter by keyword or hashtag so only suitable posts are forwarded.
Share selected posts with your team. A company account’s feed sent to an internal chat channel keeps colleagues informed about what the company says publicly.
Archive your posts. A feed reader, a simple script or an automation service can save each post to a document, spreadsheet or read-later service, giving you a copy under your control.
Monitor a topic. Hashtag feeds on Mastodon servers let you follow public discussions in a feed reader without an account on that server.
Because these feeds are not formal APIs, spend five minutes inspecting yours before you build anything on top of it. The command line is the quickest way to see exactly what a tool will receive:
curl -sL https://mastodon.social/@username.rss | head -c 2000
curl -sL https://bsky.app/profile/yourname.bsky.social/rss | head -c 2000The -L option follows redirects, which matters for Bluesky because the handle address forwards to the DID address. Look for these points in the output:
Repeat the check after major updates to the platform. If the structure changes, adjust your filters and formats rather than discovering the problem through strange posts on another channel.
The most important rule: never connect a profile’s feed back to the same account, directly or indirectly. If your Mastodon feed posts to Bluesky and your Bluesky feed posts to Mastodon, each post can bounce back and forth indefinitely. Draw your setup as a one-way diagram: one source, arrows only going outwards.
Also check whether you already use a bridge or cross-posting service. If Mastodon and Bluesky are already bridged, or if your blog already posts to both, adding a feed-based cross-post will create duplicates. Choose one path for each destination.
A useful principle from the independent web community is POSSE: publish on your own site first, then syndicate elsewhere. If most of your important content starts on your website, your website’s feed should usually be the source for social networks, and social profile feeds are better suited to secondary uses such as displays, archives and team channels.
If you decide to forward posts from a social profile feed, a few settings make the result much better:
#news. This keeps personal chatter and replies out of other channels.For Mastodon specifics, the official Mastodon documentation is the reference for how accounts, visibility and servers work.
PostRSS accepts any RSS 2.0 or Atom feed as a source, so a Mastodon or Bluesky profile feed can be added like a blog feed. It checks each source every 5 minutes (every minute on Enterprise plans) and posts new items to the networks you connect; the features page lists 66, including Telegram, Discord, team chats, Mastodon, Bluesky and other fediverse platforms. Nine message formats let you build posts from the item title, the description, the page title or your own static text, which matters for title-less social items.
Keyword filters (include and exclude) help you forward only tagged posts, and you can limit how many posts go out per update. See the PostRSS features page for sources, formats and filters.
Mastodon and Bluesky both publish RSS feeds for public profiles: add .rss to a Mastodon profile URL, or /rss to a Bluesky profile. Those feeds are handy for website widgets, archives, team channels and selective cross-posting. Treat them differently from blog feeds: build messages from the description, filter by hashtag, respect length limits and never create loops. And for your most important content, keep your own website as the original source, so the posts that matter most live on a page you control.
Public accounts on standard Mastodon servers do, at the profile URL with .rss added. Some servers or forks may change this behaviour. Only public posts appear in the feed.
Add /rss to your profile address on bsky.app, for example bsky.app/profile/yourname.bsky.social/rss. You can also use the DID-based profile address if you want a feed URL that survives handle changes.
Social posts have no headlines, so feed items carry the text in the description. Configure your reader or auto-posting tool to use the description instead of the title.
Technically yes, but watch length limits and never create a loop in the opposite direction. If you already use a bridge between the two networks, adding RSS cross-posting will create duplicates.
It depends on the platform and version. Check your own feed, and if replies appear, use keyword or hashtag filters so only intended posts are forwarded.
What changed in the networks, what broke, and how to fix it before it costs you reach.