
Short answer: Every PeerTube channel and account has built-in feeds. The standard video feed is at /feeds/videos.xml?videoChannelId=ID on the channel’s instance, with Atom (videos.atom) and JSON (videos.json) variants, and recent versions also offer a podcast feed at /feeds/podcast/videos.xml?videoChannelId=ID. Each item contains the video title, link, description, publication date, a thumbnail and media file information. Add the feed to an auto-posting tool and every new video is announced on your social networks, messengers and team chats automatically, with the thumbnail and a link back to PeerTube.
PeerTube is a free, open-source, federated video platform. Organisations, universities, public institutions, open-source projects and independent creators run their own instances or publish on community instances, often because they want independence from large commercial platforms. Videos federate across the fediverse, so followers on Mastodon and other compatible platforms can discover them too.
What PeerTube does not do by itself is announce your new videos on every other channel your audience uses. Many viewers still follow organisations on LinkedIn, Facebook Pages, X, Bluesky, Telegram or in team chats. If nobody shares new videos there, a lot of potential viewers never hear about them.
Doing it by hand is slow and easy to forget, especially for teams that publish recordings of talks, lectures or meetings regularly. PeerTube’s feeds solve this neatly: the platform already publishes structured information about every new video, and an auto-posting tool can turn each item into a post on every connected channel.
Feeds also suit the way PeerTube is often used. Many instances belong to organisations that publish recordings as part of their work: conference talks, council meetings, course lectures, community events. The people producing those videos are rarely social media specialists. A setup where uploading a video is the only step, and announcements follow automatically, fits that reality far better than a checklist of manual posts after every upload.
The easiest way is through the interface. On a channel or account page, PeerTube shows a feed or syndication button that lists the available feed addresses. Copy the one you need.
You can also build the address yourself. On the instance where the channel lives:
https://your.instance/feeds/videos.xml?videoChannelId=123https://your.instance/feeds/videos.xml?accountId=45, which includes videos from all channels of that accountvideos.xml with videos.atom vai videos.jsonhttps://your.instance/feeds/podcast/videos.xml?videoChannelId=123 in versions that support itThe numeric IDs are visible in the feed links offered by the interface, and can also be read from the instance’s public API. Use the channel’s home instance, not a remote instance where you happen to be browsing, so the links in the feed point to the original video pages.
Instances also have instance-wide feeds of recent videos, which are useful for instance administrators who want to announce everything published on their server.
A typical item in the RSS video feed includes:
media:thumbnail element.media:content elements pointing to video files in different resolutions, with sizes and durations.The watch page also has Open Graph tags, including an og:image with the thumbnail, so tools that build previews from the linked page get a proper image as well.
For social announcements, the important parts are the title, link, description and thumbnail. The video file enclosures are mainly useful for podcast apps and media players; social posts should link to the watch page rather than attempting to upload large video files.
Keep in mind that feeds show a limited number of recent videos. For regular publishing that is not a problem, because an auto-posting tool checking every few minutes sees each video soon after it appears. It matters only if you upload many videos at once, for example when migrating an archive, in which case it is wise to pause automation until the import is complete.
| Feed | Best for | Notes |
|---|---|---|
Channel RSS (videos.xml) | Auto-posting to social networks, messengers and chats | Widely supported, includes thumbnails |
Channel Atom (videos.atom) | Tools and readers that prefer Atom | Same content, different format |
Channel JSON (videos.json) | Custom scripts and website widgets | Easy to parse in JavaScript |
| Podcast feed | Podcast apps, audio or video podcast listeners | Follows podcast conventions for media files |
| Account feed | Announcing all channels of an organisation | Mixes channels; filter if needed |
For most auto-posting setups, the channel RSS feed is the right choice. If your organisation runs several channels, such as one for lectures and one for events, use a separate feed per channel so each can go to the audience that cares about it.
If you want to announce videos from several channels together, for example all channels of a university department, you have two options: use the account feed if the channels belong to one account, or add each channel feed separately to your auto-posting tool and connect them to the same targets. Separate feeds give you more control, such as different wording or hashtags per series, while the account feed is simpler to maintain.
Automated posts are built from the feed, so the quality of the announcement depends on the quality of the video metadata:
Timing matters too. Scheduled publication is available in PeerTube, so you can upload a video in advance and let it go public at a chosen time. Because the feed only includes public videos, the announcement follows automatically when the video goes live, which is a simple way to coordinate a premiere across all your channels.
Match channels to the audience of each video series:
Also think about the people in your videos. Speakers at a public talk usually expect the recording to be shared, but participants in a workshop or a classroom may not. Settle consent before publication, because automated announcements amplify every public video immediately.
Be careful with privacy settings. Public videos appear in feeds; unlisted and private videos are not meant to. Double-check the visibility of each video before publication, because once a public item is in the feed, automated tools may share it within minutes.
curl -s "https://your.instance/feeds/videos.xml?videoChannelId=123" | head -c 3000. Check that the latest videos appear, that each item has a thumbnail and that links point to the right instance.If you publish a series, such as weekly lectures, consider adding a consistent prefix to titles, for example the course name and session number. Viewers following the announcements can then see immediately which series a new video belongs to.
media:thumbnail or the page’s Open Graph image, and that the instance is reachable from the internet.PostRSS accepts any RSS 2.0 or Atom feed as a source, including PeerTube channel and account feeds. It checks each feed every 5 minutes (every minute on Enterprise plans) and posts new videos with their image and link to the networks you connect; the features page lists 66, including Mastodon, Bluesky, LinkedIn, Facebook Pages, X, Telegram, Discord, Matrix and team chats. The image is taken from the feed item or the page’s Open Graph tags.
You can send one channel feed to several targets with different message formats, filter items by keywords, and add UTM parameters to links so your analytics show which network brought viewers. See the PostRSS features page for the full list.
PeerTube already publishes everything an auto-posting tool needs: channel feeds in RSS, Atom and JSON, podcast feeds, stable identifiers and thumbnails. Pick the channel feed from your home instance, write clear titles and first sentences, use custom thumbnails, check visibility before publishing, and connect the feed to the channels your viewers use. Each new video then reaches your whole audience automatically, while the video itself stays on the platform you chose.
Open the channel page and use the feed or syndication button, which lists the feed links. The standard format is /feeds/videos.xml?videoChannelId= followed by the channel’s ID on its home instance.
Yes. Replace videos.xml with videos.atom or videos.json in the feed address. The content is the same; only the format differs.
Recent PeerTube versions provide a podcast feed at /feeds/podcast/videos.xml with the channel ID. Podcast apps that accept a feed URL can subscribe to it.
Feeds are meant for public videos, so unlisted and private videos should not appear. Always check a video’s visibility before publishing, because public items can be shared automatically within minutes.
Usually not. Announcements link to the PeerTube watch page with the thumbnail as the preview image, which keeps viewers on your chosen platform and avoids re-uploading large files.
What changed in the networks, what broke, and how to fix it before it costs you reach.