RSS and Atom to JSON converter
Paste a feed URL and get its items as clean JSON: title, link, publish date in ISO 8601, author, categories, plain-text summary, image and podcast enclosure. RSS 0.9x and 2.0, RSS 1.0 (RDF), Atom and JSON Feed all come out in the same shape. A normal web page works too if it links to its feed.
One feed per lookup, first 100 items, 10 lookups per minute. robots.txt is respected.
The JSON you get
One object for the feed and one per item. Item fields are the same as in our RSS Feed Reader actor, so a script written against this output also works with the actor's dataset:
{
"feed": { "url": "…", "feedType": "RSS 2.0", "title": "Example Show", "siteUrl": "https://show.example.org/",
"description": "A weekly show.", "language": "en-gb", "itemCount": 2 },
"items": [{
"itemId": "ep-0002", "title": "Newest episode", "url": "https://show.example.org/ep2",
"publishedAt": "2026-10-02T07:00:00Z", "author": "Jane Host", "categories": ["news"],
"summary": "Plain text, HTML removed, cut at 500 characters…", "imageUrl": null,
"enclosureUrl": "https://cdn.example.org/ep2.mp3", "enclosureType": "audio/mpeg", "durationSecs": 2700,
"positionInFeed": 1
}]
}
- Dates from
pubDate,dc:date,publishedorupdatedare converted to UTC ISO 8601. - HTML in descriptions is turned into plain text; the first image becomes
imageUrlwhen there is no media thumbnail. - Email addresses are removed from author fields.
How it works
- The address is checked (public host, http or https, standard ports) and the host's
robots.txtis read. - The feed is fetched once with the User-Agent
AdamHaleTools/1.0, up to 2 MB. - If the address is an HTML page, the converter looks for
<link rel="alternate" type="application/rss+xml">and fetches that feed instead. - The feed is parsed and returned as JSON. Open the raw JSON link to save it or to use it as an API.
Limits of the free converter
- One feed, one snapshot. It does not remember what it saw, so it cannot tell you which items are new.
- First 100 items and 2 MB per feed.
- No keyword filters or delivery. For alerts to Slack, email or Google Sheets use the actor.
- Feeds behind a login, a paywall or bot protection cannot be read.
Need bulk or scheduled runs? Run it on Apify
The RSS Feed Reader & Monitor actor on Apify reads hundreds of feeds in one run, returns only items it has not seen before when scheduled, filters by keyword, and sends results to Slack, email, Google Sheets or a webhook.
Use it from code
The same lookup is available as JSON for light use (10 requests per minute per IP, no key):
curl "https://tools.adamhaleworks.workers.dev/api/rss-to-json?url=https://hnrss.org/frontpage"For regular or high-volume use, call the actor through the Apify API instead; the guide shows how. AI agents can use the pay-per-call API instead: several items per call, no rate limit, paid in USDC, no account.
FAQ
How do I convert RSS to JSON?
Paste the feed URL above and click Convert to JSON. You get the parsed items on the page and a raw JSON link you can save or call from code.
Does it support Atom and JSON Feed?
Yes. RSS 0.9x, RSS 2.0, RSS 1.0 (RDF), Atom 1.0 and JSON Feed 1.0 and 1.1 are converted to the same JSON structure.
I only have the website address, not the feed URL. Will it work?
Usually. If the page declares its feed with a link rel=alternate tag in the HTML head, the converter follows it automatically.
Can I use it as an RSS to JSON API?
For light use, yes: GET /api/rss-to-json?url=FEED returns JSON, limited to 10 requests per minute per IP. For regular or high-volume use, run the RSS Feed Reader actor on Apify.
Why are some fields null?
They are not in the feed. Many feeds have no author, image or categories; the converter never invents values.