RSS to JSON API
Free RSS to JSON API with no key: convert any RSS or Atom feed into clean JSON, with feed metadata, items, thumbnails and publication dates. Tested example.
Endpoint tested and returned HTTP 200 on 2026-08-20
What is the RSS to JSON API?
The RSS to JSON API is a free service that converts any RSS or Atom feed into structured JSON, returning feed metadata and item arrays with titles, links, publication dates, authors and thumbnails.
Parsing RSS in the browser is painful: it is XML, feeds vary between RSS 2.0 and Atom, and CORS blocks fetching most feeds directly. This API solves all three at once by fetching, parsing and re-serving as CORS-enabled JSON.
That CORS point is the practical reason it exists. You cannot fetch most publishers' feeds from client-side JavaScript at all, so a proxy is required — and this one normalises the format while it is at it.
Quick facts
- Base URL
https://api.rss2json.com/v1/api.json- Authentication
- Works with no key at a limited rate. A free API key raises the allowance.
- Rate limit
- Roughly 10,000 requests per day without a key, with per-minute throttling.
- Pricing
- Free tier; paid plans for higher volume.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the RSS to JSON API
Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.
1. Convert an RSS feed to JSON
GET https://api.rss2json.com/v1/api.json?rss_url=https%3A%2F%2Fnews.ycombinator.com%2Frss
curl 'https://api.rss2json.com/v1/api.json?rss_url=https%3A%2F%2Fnews.ycombinator.com%2Frss'const res = await fetch("https://api.rss2json.com/v1/api.json?rss_url=https%3A%2F%2Fnews.ycombinator.com%2Frss");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.rss2json.com/v1/api.json?rss_url=https%3A%2F%2Fnews.ycombinator.com%2Frss", timeout=20)
res.raise_for_status()
print(res.json()){
"status": "ok",
"feed": {
"url": "https://news.ycombinator.com/rss",
"title": "Hacker News",
"link": "https://news.ycombinator.com/",
"author": "",
"description": "Links for the intellectually curious, ranked by readers.",
"image": ""
},
"items": [
{
"title": "Devices with GrapheneOS support should be available in 2027",
"pubDate": "2026-08-19 11:46:58",
"link": "https://grapheneos.social/@GrapheneOS/117078064184215730",
"guid": "0787a2ff92219d5c8a56473cd42a28c2",
"author": "",
"thumbnail": "",
"description": "<a href=\"https://news.ycombinator.com/item?id=49360242\">Comments</a>",
"content": "<a href=\"https://news.ycombinator.com/item?id=49360242\">Comments</a>",
"enclosure": {},
"categories": []
},
{
"title": "Geolocating a random island using geometry and CUDA programming",
"pubDate": "2026-08-19 12:19:52",
"link": "https://yassa9.github.io/osint/gralhix-004/",
"guid": "beb953f040907009f4610877cf2a7e1a",
"author": "",
"thumbnail": "",
"description": "<a href=\"https://news.ycombinator.com/item?id=49360545\">Comments</a>",
"content": "<a href=\"https://news.ycombinator.com/item?id=49360545\">Comments</a>",
"enclosure": {},
"categories": []
},
{
"title": "A joke domain purchase turned in geopolitical warfare",
"pubDate": "2026-08-19 11:21:50",
"link": "https://sprocketfox.io/xssfox/2026/08/19/sondehub-and-war/",
"guid": "0292530a348a3a6297b22bd26b79dfe9",
"author": "",Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
rss_url | string | Required | The feed URL, URL-encoded. https%3A%2F%2Fnews.ycombinator.com%2Frss |
api_key | string | Optional | Optional free key for higher limits. your-key |
count | integer | Optional | Maximum items to return. 10 |
order_by | string | Optional | pubDate or title. pubDate |
Response fields
statusstring- `ok` or `error` — check before reading items.
feed.title / link / descriptionstring- Feed-level metadata.
items[].titlestring- Item title.
items[].linkstring- Item URL.
items[].pubDatestring- Publication date as a string.
items[].description / contentstring- Item summary and full content as HTML.
items[].thumbnailstring- Thumbnail image where the feed provides one.
What you can build with the RSS to JSON API
- Display a blog or news feed on a static site with no backend
- Aggregate multiple RSS sources into one JSON feed
- Build a podcast client from RSS feeds
- Add a news widget to a dashboard
Common errors and how to fix them
status: error
The feed URL is unreachable or not valid RSS/Atom.
Fix: Verify the feed loads in a browser first, and ensure the URL is properly encoded.
HTML in description
Feed content is HTML.
Fix: Sanitise before rendering — feed content comes from third parties.
429
Rate limited.
Fix: Cache feed responses; most feeds update at most hourly. A free key raises the limit.
RSS to JSON API — frequently asked questions
Why do I need an API to read RSS?
Three reasons: RSS is XML rather than JSON, formats vary between RSS and Atom, and CORS blocks fetching most feeds directly from browser JavaScript. This API solves all three.
Is RSS to JSON free?
Yes, it works with no API key at roughly 10,000 requests per day. A free key raises the limit.
Can I use it on a static site?
Yes — that is the main use case. It returns CORS-enabled JSON, so a purely client-side site can display any RSS feed with no backend.
Is the feed content safe to render?
No. The description and content fields contain third-party HTML. Always sanitise before inserting into the DOM.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
XML Formatter
Format and beautify XML online with proper indentation, or minify it to a single line. Parse errors are reported clearly — free, fast and fully private.
HTML Formatter
Format HTML online with clean, consistent indentation. This HTML formatter handles void elements and preserves pre, script and style exactly. Free and private.
RSS to JSON is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.