RSS feeds

guide · updated 2026-07-11

A collection can expose itself as a podcast feed. We build the XML from file metadata, so enclosure lengths, durations and GUIDs are always right, which is where most hand-written feeds go wrong.

Enable a feed

curl -X PUT https://api.media-host.online/v1/collections/weekly-show/feed \
  -H "Authorization: Bearer $MH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "The Weekly Show",
    "author": "Mara Lindqvist",
    "owner_email": "feed@weeklyshow.example",
    "category": "Society & Culture",
    "explicit": false,
    "artwork_file": "f_Art9Qz",
    "language": "en"
  }'

The feed is then available at https://cdn.media-host.online/weekly-show/feed.xml. It validates against the usual checkers, carries podcast:guid and podcast:transcript where a transcript file is attached, and is regenerated whenever a file in the collection changes.

Item order and scheduling

Items are ordered by published_at, newest first. A file with a future published_at is excluded until that moment, so you can upload on Friday and go live Monday 06:00 without touching anything.

Moving an existing feed

If subscribers already use a feed URL you control, set up a permanent redirect to the new one and add itunes:new-feed-url in the old feed for at least four weeks. If the old host won't let you redirect, keep both feeds identical for a while and announce the move in an episode. We can generate the old feed's content for you to paste:

mh feed export weekly-show --new-feed-url https://cdn.media-host.online/weekly-show/feed.xml > old-feed.xml

Bring your own feed

Many people keep generating the feed in their own CMS and only use us for enclosures. That's fine. Use the url and bytes from the file object for enclosure, and duration for itunes:duration.

Directories cache feeds aggressively. After changing artwork or title, expect 24–72 hours before every app shows the change.