Our website is made possible by displaying online advertisements to our visitors. Please consider supporting us by disabling your ad blocker.

Create A Podcast XML Feed For Publishing To iTunes

Recently I started a developer podcast, but more work went into it beyond just recording it. I had to create an XML feed file to be published to iTunes as well as Pocket Casts.

I figured it would be nice to share what goes into creating an XML feed, how to validate it, and how to submit it to iTunes as well as the popular Pocket Casts.

First off, my podcast XML feed can be found here for a reference. It is a bit more complete than yours will be at the start. Let’s break down what we need in a podcast XML feed starting with what each episode will look like:

<item>
    <title>Episode Name 2</title>
    <link>
        http://podcast.example.com/episode2.mp4
    </link>
    <pubDate>Sat, 02 Jan 2016 16:00:00 PDT</pubDate>
    <description>
        The full length episode 2 description
    </description>
    <enclosure url="http://podcasts.example.com/episode.mp4" length="36715125" type="audio/mpeg"/>
    <guid>
        http://podcast.example.com/episode2.mp4
    </guid>
    <itunes:duration>19:07</itunes:duration>
    <itunes:summary>
        The full length episode 2 description
    </itunes:summary>
    <itunes:image href="http://www.example.com/image3000x3000.png"/>
    <itunes:keywords>
        comma,separated,key,words
    </itunes:keywords>
    <itunes:explicit>no</itunes:explicit>
</item>

Every podcast episode will have it’s own <item> block. This block will have generic tags such as <description>, but also iTunes specific tags such as <itunes:summary> which means the same thing. However they are still required.

Now let’s look at the elements that describe the podcast itself, rather than each episode.

<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:rawvoice="http://www.rawvoice.com/rawvoiceRssModule/" version="2.0">
    <channel>
        <title>Podcast Title Here</title>
        <link>https://www.example.com</link>
        <image>
            <url>http://www.example.com/image3000x3000.png</url>
            <title>Podcast Title Here</title>
            <link>https://www.example.com</link>
        </image>
        <description>
            The full length description for your podcast
        </description>
        <language>en-us</language>
        <copyright>Nic Raboy copyright 2016</copyright>
        <atom:link href="https://podcasts.thepolyglotdeveloper.com/podcast.xml" rel="self" type="application/rss+xml"/>
        <lastBuildDate>Fri, 01 Jan 2016 06:00:00 PDT</lastBuildDate>
        <itunes:author>Nic Raboy</itunes:author>
        <itunes:summary>
            The full length description for your podcast
        </itunes:summary>
        <itunes:subtitle>Short sentence about the podcast</itunes:subtitle>
        <itunes:owner>
            <itunes:name>Nic Raboy</itunes:name>
            <itunes:email>[email protected]</itunes:email>
        </itunes:owner>
        <itunes:explicit>No</itunes:explicit>
        <itunes:keywords>
            comma,separated,key,words
        </itunes:keywords>
        <itunes:image href="http://www.example.com/image3000x3000.png"/>
        <rawvoice:rating>TV-G</rawvoice:rating>
        <rawvoice:location>San Francisco, California</rawvoice:location>
        <rawvoice:frequency>Monthly</rawvoice:frequency>
        <itunes:category text="Technology"/>
        <pubDate>Fri, 01 Jan 2016 06:00:00 PDT</pubDate>
        <item>
            ...
        </item>
    </channel>
</rss>

Just like with each individual <item> episode, the core podcast details will have iTunes specific and generic tags. Everything in the file shouldn’t be particularly difficult to understand as the tags are pretty descriptive.

So after you’ve created your podcast XML feed, you probably want to validate that it is structurally correct because if it isn’t, Apple will probably reject you in their review process.

I use Cast Feed Validator to check my feed file. Just enter the URL to your feed and it will give you information like how it will look in the various podcast repositories and if there are errors.

Conclusion

If you’re thinking about making a podcast, you’ll have to familiarize yourself with creating an XML feed file to submit to various podcast repositories. They aren’t particularly difficult to understand, but the various elements included in them can be tricky to figure out. I mean this in a sense that there is not a one stop shop that lists all the available tags.

Nic Raboy

Nic Raboy

Nic Raboy is an advocate of modern web and mobile development technologies. He has experience in Java, JavaScript, Golang and a variety of frameworks such as Angular, NativeScript, and Apache Cordova. Nic writes about his development experiences related to making web and mobile development easier to understand.