Declare the iTunes namespace in your RSS feed root element: add 'xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"' to the 'rss' tag
Add channel-level iTunes tags inside the 'channel' element: 'itunes:title' (show name), 'itunes:author' (host or company name), 'itunes:description' or plain 'description' (show description), 'itunes:image' with 'href' pointing to your cover art URL (minimum 1400×1400 pixels, maximum 3000×3000, JPEG or PNG), and 'itunes:category' with the appropriate top-level and subcategory values from Apple's taxonomy
Add 'itunes:explicit' at channel level with value 'true' or 'false' — omitting this tag causes Apple Podcasts to treat the show as explicit by default in some regions
For each 'item' (episode), include 'itunes:title', 'itunes:duration' (in seconds as an integer or in HH:MM:SS format), 'itunes:episode' (episode number), 'itunes:season' (season number if applicable), 'itunes:episodeType' ('full', 'trailer', or 'bonus'), and an 'enclosure' tag with 'url', 'type', and 'length' (byte size) attributes
The 'enclosure' tag's 'url' must point to the direct audio file — redirects are followed but the final URL must return the audio file, not an HTML page
Validate the feed against Apple's requirements using the Podcast Validator at https://podcastsconnect.apple.com/podcast-validation — common rejections include cover art too small, missing description, and invalid category values
Known gotchas
Apple Podcasts category values are a fixed taxonomy — using a category string not in Apple's official list will cause the feed to be miscategorized or rejected; always use exact strings from Apple's published category list
The 'itunes:duration' field accepts both integer seconds and HH:MM:SS — some aggregators display the wrong duration if you use a non-standard format like MM:SS for episodes over an hour
Enclosure 'length' should be the actual byte size of the audio file — while many directories ignore incorrect values, some use it for download size estimation and a wildly wrong value can trigger feed validation warnings
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp