An rss2json alternative that normalises Atom as well

Feeds come in two formats that do the same job with different element names, and a browser will not let you fetch either one directly from another domain. Those two facts are the entire reason this category of tool exists, and they are worth understanding before you pick one.

Open the RSS to JSON →

rss2json and Softland, side by side

 rss2jsonSoftland
RSSYesYes
AtomYesYes, normalised to the same shape as RSS
Cross-origin fetchingHandled server-sideHandled server-side
API for production useDocumented, with keysNone - it is a page
AccountNeeded beyond casual useNone

Why you cannot just fetch the feed yourself

A browser refuses to let a page read a response from another origin unless that origin explicitly permits it, and essentially no feed publisher sends the header that would. This is the same-origin policy doing exactly its job - without it, any page you visited could read your webmail. The consequence is that a purely client-side feed reader is impossible, however simple the task looks.

Something server-side has to fetch the feed on your behalf, which is what this is. It is worth knowing that this is the reason, because people spend a surprising amount of time assuming the error is a bug in their code rather than a deliberate and non-negotiable rule of the platform.

RSS and Atom are two formats pretending to be one

They describe the same thing with different vocabularies. What RSS calls an item, Atom calls an entry. Dates are formatted to different standards. A link in Atom is an attribute on an element rather than the element content. Content and summary mean different things in each. Neither is better and publishers use both, sometimes without saying which.

Writing code that handles both means writing two parsers, or one parser full of conditionals that quietly breaks on a feed shaped slightly differently from the ones you tested. Normalising to a single shape means the format becomes the tool problem rather than yours, and a publisher switching formats does not break anything downstream.

What the JSON will and will not contain

Whatever the publisher put in the feed. Many feeds carry only a title, a link and a short summary rather than full article text - that is a deliberate choice by the publisher to bring readers to the site, not something a converter can undo. Some carry full content, some carry a truncated version, and some carry an empty description with everything in an extension element.

Fetch politely, too. A feed is a file on somebody else server, most are regenerated every few minutes at best, and polling one every thirty seconds costs them bandwidth and gains you nothing. Every fifteen minutes to an hour is ample for anything but breaking news.

When rss2json is the better choice

  • You need an API to call from an application rather than a page to read a feed in.
  • You are polling many feeds on a schedule as part of a product, where a documented service with keys and quotas is the right dependency.
  • You need caching or rate limiting handled for you as part of the service.

Frequently asked questions

Does this support both RSS and Atom?
Yes, and both come back in the same JSON shape. That is most of the value - you do not have to detect the format or write two code paths.
Why can I not fetch an RSS feed directly in the browser?
The same-origin policy blocks reading a cross-origin response unless the publisher opts in, and feed publishers essentially never do. Something server-side has to fetch it for you.
Does the JSON include full article content?
Only if the feed does. Many publishers deliberately include a summary rather than full text so that readers visit the site. No converter can add content the feed does not carry.
How often should I fetch a feed?
Rarely. Most feeds regenerate every few minutes at best, so polling more often than every fifteen minutes costs the publisher bandwidth and tells you nothing new.

Try it yourself

Turn any feed into clean JSON.

Open the RSS to JSON

rss2json is a trademark of its respective owner. Softland is not affiliated with, endorsed by or sponsored by rss2json. This comparison reflects how each product works rather than what either costs, because pricing and plan limits change; check rss2json’s own site for its current terms.