What is the correct MIME type to use for an RSS feed?

Is one MIME type preferable to ensure compatibility with RSS readers and other scrapers?

The options seem to be:

  • text/xml
  • text/rss+xml

Interestingly Stackoverflow is using text/html.


Neither. It's application/rss+xml http://www.rssboard.org/rss-mime-type-application.txt


Other commenters have pointed out that the single correct mime type is application/rss+xml,.

However, if you are setting an accept header for a client then

Accept: application/rss+xml, application/rdf+xml;q=0.8, application/atom+xml;q=0.6, application/xml;q=0.4, text/xml;q=0.4

might be a good choice, as it states that it accepts RSS, Atom, and XML (in descending order or preference).


Here's a pragmatic answer: whatever the "correct" answer may be (and clearly there is debate about this), text/xml is the type used by pretty much all the popular feeds out there in the wild.

Here are a few that I checked:

$ for f in \
  https://feeds.feedburner.com/TechCrunch/ \
  http://feeds.bbci.co.uk/news/video_and_audio/news_front_page/rss.xml \
  http://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml \
  https://daringfireball.net/thetalkshow/rss \
  http://www.npr.org/rss/podcast.php?id=381444908 \
  http://feeds.serialpodcast.org/serialpodcast \
  http://podcasts.joerogan.net/feed \
  https://feeds.feedburner.com/thetimferrissshow \
  http://feed.thisamericanlife.org/talpodcast ; do \
  curl -s -I $f | fgrep -i Content-Type: ; done
content-type:text/xml; charset=UTF-8
Content-Type: text/xml
Content-Type: text/xml
Content-Type: text/xml;charset=UTF-8
Content-Type: text/xml;charset=UTF-8
Content-Type: text/xml; charset=UTF-8
Content-Type: text/xml; charset=UTF-8
content-type:text/xml; charset=UTF-8
Content-Type: text/xml; charset=UTF-8

So you can be sure that text/xml will be correctly interpreted by commonly used RSS clients.


The most correct is application/rss+xml

The most compatible is application/xml

According to W3C:

RSS feeds should be served as application/rss+xml (RSS 1.0 is an RDF format, so it may be served as application/rdf+xml instead). Atom feeds should use application/atom+xml. Alternatively, for compatibility with widely-deployed web browsers, any of these feeds can use one of the more general XML types - preferably application/xml.

https://validator.w3.org/feed/docs/warning/UnexpectedContentType.html