RSS to JSON is a simple tool for converting RSS feeds into JSON format. It returns the RSS feed in JSON format.
Try it — live request, no key required
No key required to try it. Get a key to use it in your app.
{
"status": "ok",
"error": null,
"data": {
// RSS to JSON response payload
}
}
About the RSS to JSON API
RSS to JSON works by analyzing the data provided and converting the RSS feed into JSON format. It uses various sources to determine the data and returns the RSS feed in JSON format.
Ways to call it
One endpoint, many ways in — REST with JSON, XML, YAML and CSV, plus GraphQL and an MCP interface for AI agents.
- JSON
- Default REST response
- XML
- Markup format
- YAML
- Human-readable
- CSV
- Tabular export
- GraphQL
- Query language
- MCP
- For AI agents
Other ways to use RSS to JSON
Same data, same APIVerve account, same credit balance — one key works on all of them.
What does the RSS to JSON API do?
How do I authenticate RSS to JSON API requests?
How much does the RSS to JSON API cost?
How fast is the RSS to JSON API?
What response formats does the RSS to JSON API support?
What HTTP method does the RSS to JSON API use?
Request parameters — POST /v1/rsstojson
Sent as JSON in the request body. Premium parameters are accepted on every plan but only take effect on plans that include them. Anything not listed here is dropped rather than passed through.
Required
| Parameter | Type | Example | Description |
|---|---|---|---|
urlRequired | string | https://www.nasa.gov/rss/dyn/breaking_news.rss | The URL of the RSS feed you want converted into JSON format url |
curl -X POST "https://api.apiverve.com/v1/rsstojson" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://www.nasa.gov/rss/dyn/breaking_news.rss"}'Authentication
Send your key in the x-api-key header. That is the only auth step — no token exchange, and no per-endpoint scope to configure.
| Header | When | Value |
|---|---|---|
x-api-keyRequired | Every request | Your API key. Header names are case-insensitive, so X-API-Key is the same header. |
AuthorizationAlternate | Instead of the above | Bearer <key> — for clients that only expose bearer auth. Resolves to the same account and the same billing. |
content-typeRequired | POST body | application/json |
A 401 means the key is missing, invalid or expired. A 403 means the key is valid but not permitted here — blocked by a key restriction or an IP allow-list. Running out of credits is a 429.
Response — POST /v1/rsstojson
Every APIVerve endpoint returns the same three top-level keys, so one response handler covers your whole integration: status, error and data. Only data changes shape.
{
"status": "ok",
"error": null,
"data": {
"source": "www.nasa.gov",
"articles": 10,
"maxReached": false,
"feed": [
{
"website": "NASA",
"title": "NASA IXPE’s Longest Observation Solves Black Hole Jets Mystery",
"pubDate": "Tue, 16 Dec 2025 21:23:13 +0000",
"description": "Written by Michael Allen An international team of astronomers using NASA’s IXPE (Imaging X-ray Polarimetry Explorer) has identified the origin of X-rays in a supermassive black hole’s jet, answering a question that has been unresolved since the earliest days of X-ray astronomy. Their findings are described in a paper published in The Astrophysical Journal Letters, […]",
"link": "https://www.nasa.gov/missions/ixpe/nasa-ixpes-longest-observation-solves-black-hole-jets-mystery/"
},
{
"website": "NASA",
"title": "NASA Launches Research Program for Students to Explore Big Ideas",
"pubDate": "Tue, 16 Dec 2025 21:01:46 +0000",
"description": "NASA is now accepting concepts for a new research challenge. The Opportunities in Research, Business, Innovation, and Technology (ORBIT) challenge is a multi-phase innovation competition designed to empower university and college students to develop next-generation solutions that benefit life on Earth and deep-space exploration. With up to $380,000 in total prize funding, NASA’s ORBIT challenges […]",
"link": "https://www.nasa.gov/learning-resources/research-program-for-students/"
},
{
"website": "NASA",
"title": "Through Astronaut Eyes: 25 Years of Life in Orbit ",
"pubDate": "Tue, 16 Dec 2025 20:35:35 +0000",
"description": "After 25 years of continuous human presence in space, the International Space Station remains a training and proving ground for deep space missions, enabling NASA to focus on Artemis missions to the Moon and Mars. The orbiting laboratory is also a living archive of human experience, culture, and connection. Creating community With 290 visitors from […]",
"link": "https://www.nasa.gov/centers-and-facilities/johnson/through-astronaut-eyes-25-years-of-life-in-orbit/"
},
{
"website": "NASA",
"title": "NASA Ignites New Golden Age of Exploration, Innovation in 2025",
"pubDate": "Tue, 16 Dec 2025 19:48:18 +0000",
"description": "With a second Trump Administration at the helm in 2025, NASA marked significant progress toward the Artemis II test flight early next year, which is the first crewed mission around the Moon in more than 50 years, as well as built upon its momentum toward a human return to the lunar surface in preparation to […]",
"link": "https://www.nasa.gov/news-release/nasa-ignites-new-golden-age-of-exploration-innovation-in-2025/"
},
{
"website": "NASA",
"title": "How Small Is Too Small? Volunteers Help NASA Test Lake Monitoring From Space",
"pubDate": "Tue, 16 Dec 2025 19:45:41 +0000",
"description": "Volunteers participating in the Lake Observations by Citizen Scientists and Satellites (LOCSS) project have been collecting water level data in lakes since 2017. Now, the LOCSS team has used these data to examine the accuracy of water level measurements made from space.",
"link": "https://science.nasa.gov/get-involved/citizen-science/how-small-is-too-small-volunteers-help-nasa-test-lake-monitoring-from-space/"
},
{
"website": "NASA",
"title": "NASA JPL Shakes Things Up Testing Future Commercial Lunar Spacecraft",
"pubDate": "Tue, 16 Dec 2025 19:43:07 +0000",
"description": "The same historic facilities that some 50 years ago prepared NASA’s twin Voyager probes for their ongoing interstellar odyssey are helping to ready a towering commercial spacecraft for a journey to the Moon. Launches involve brutal shaking and astonishingly loud noises, and testing in these facilities mimics those conditions to help ensure mission hardware can […]",
"link": "https://www.nasa.gov/centers-and-facilities/jpl/nasa-jpl-shakes-things-up-testing-future-commercial-lunar-spacecraft/"
},
{
"website": "NASA",
"title": "Peekaboo!",
"pubDate": "Tue, 16 Dec 2025 17:27:30 +0000",
"description": "Clockwise from left, JAXA (Japan Aerospace Exploration Agency) astronaut Kimiya Yui and NASA astronauts Jonny Kim, Zena Cardman, and Mike Fincke pose for a playful portrait through a circular opening in a hatch thermal cover aboard the International Space Station on Sept. 18, 2025. The cover provides micrometeoroid and orbital debris protection while maintaining cleanliness […]",
"link": "https://www.nasa.gov/image-article/peekaboo-2/"
},
{
"website": "NASA",
"title": "Toxicology and Environmental Chemistry",
"pubDate": "Tue, 16 Dec 2025 16:28:12 +0000",
"description": "Ensuring Astronaut Safety Achieving safe exploration of space in vehicles that rely upon closed environmental systems to recycle air and water to sustain life and are operated in extremely remote locations is a major challenge. The Toxicology and Environmental Chemistry (TEC) group at Johnson Space Center (JSC) is made up of 2 interrelated groups: Toxicology […]",
"link": "https://www.nasa.gov/directorates/esdmd/hhp/toxicology-and-environmental-chemistry/"
},
{
"website": "NASA",
"title": "Statistics and Data Science",
"pubDate": "Tue, 16 Dec 2025 16:14:41 +0000",
"description": "Enabling Successful Research A major aim of biomedical research at NASA is to acquire data to evaluate, understand, and assess the biomedical hazards of spaceflight and to develop effective countermeasures. Data Science (S&DS) personnel provide statistical support to groups within the NASA JSC Human Health and Performance Directorate and other NASA communities. They have expertise […]",
"link": "https://www.nasa.gov/directorates/esdmd/hhp/biostatistics-and-data-science/"
},
{
"website": "NASA",
"title": "One of NASA’s Key Cameras Orbiting Mars Takes 100,000th Image",
"pubDate": "Tue, 16 Dec 2025 16:00:00 +0000",
"description": "Mesas and dunes stand out in the view snapped by HiRISE, one of the imagers aboard the agency’s Mars Reconnaissance Orbiter. After nearly 20 years at the Red Planet, NASA’s Mars Reconnaissance Orbiter (MRO) has snapped its 100,000th image of the surface with its HiRISE camera. Short for High Resolution Imaging Science Experiment, HiRISE is […]",
"link": "https://www.nasa.gov/missions/mars-reconnaissance-orbiter/one-of-nasas-key-cameras-orbiting-mars-takes-100000th-image/"
}
]
}
}
Response fields
Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.
| Field | Type | Example | Description |
|---|---|---|---|
source | string | "www.nasa.gov" | Source domain of the RSS feed parsed |
articles | number | 10 | Total number of articles in parsed feed |
maxReached | boolean | false | Indicates if maximum articles limit was reached |
feed | array[10] | Array of parsed RSS feed articles | |
website | string | "NASA" | Name of the website publishing the article |
title | string | "NASA IXPE’s Longest Observation Solves Black Hole Jets Mystery" | Article headline title from feed |
pubDate | string | "Tue, 16 Dec 2025 21:23:13 +0000" | Publication date and time of article |
description | string | "Written by Michael Allen An international team of astronomers using NASA’s IXPE (Imaging X-ray Polarimetry Explorer) has identified the ori… | Article summary or full content text |
link | string | "https://www.nasa.gov/missions/ixpe/nasa-ixpes-longest-observation-solves-black-hole-jets-mystery/" | URL link to full article |
Response headers
Every response carries your balance, so your own code always knows where it stands without polling anything. All four are exposed to browsers through CORS.
| Header | What it carries |
|---|---|
x-api-remaining-credits | Credits left in the current cycle |
x-api-credits-used | Credits spent in the current cycle |
x-api-max-credits | The allowance for the cycle |
x-api-version | Version of the endpoint that answered |
Errors
Read the HTTP status first, then error for the specific reason. The body names the parameter that has to change.
| Status | Meaning | What to do |
|---|---|---|
400 | Input was rejected | Read error; it names the parameter that has to change. |
401 | Key missing or invalid | Check the header name and the key value. |
403 | Key valid, but not permitted here | A key restriction or an IP allow-list — never a bad key. |
429 | Rate limited, or out of credits | Read error to tell them apart, then back off or top up. |
What a call costs — 10 credits per call
Credits are shared across every APIVerve API — one balance, one key, one bill. Failed requests never count against it, so a rejected input costs nothing.
| Plan | Per month | Credits | RSS to JSON calls | Per 1,000 calls |
|---|---|---|---|---|
| Free | Free | 200 | 20 | Free |
| Starter | $29.99 | 200,000 | 20,000 | $1.50 |
| Pro | $99.99 | 1,000,000 | 100,000 | $1.00 |
| Mega | $299.99 | 4,000,000 | 400,000 | $0.75 |
Calls are what the credits buy at this API's rate — spend them here, on any of the other APIs, or across both. Nothing is reserved per endpoint.
Call it from cURL — POST /v1/rsstojson
No SDK to install — this is a plain HTTPS call to /v1/rsstojson with your key in the x-api-key header. Swap in a real key and it runs as-is.
curl "https://api.apiverve.com/v1/rsstojson" \
-H "x-api-key: YOUR_API_KEY"Resources
Also published for
Only the languages APIVerve ships a client for are listed — the rest call the endpoint directly over HTTPS.
Call it from Node.js — POST /v1/rsstojson
Install the Node.js SDK, then call the RSS to JSON API with your key. The client wraps the same HTTPS request, so anything it returns is what the endpoint returns.
npm install @apiverve/rsstojsonconst res = await fetch("https://api.apiverve.com/v1/rsstojson", {
headers: { "x-api-key": "YOUR_API_KEY" },
});
const { data } = await res.json();
console.log(data);Resources
Also published for
Only the languages APIVerve ships a client for are listed — the rest call the endpoint directly over HTTPS.
Call it from Python — POST /v1/rsstojson
Install the Python SDK, then call the RSS to JSON API with your key. The client wraps the same HTTPS request, so anything it returns is what the endpoint returns.
pip install apiverve-rsstojsonimport requests
res = requests.get(
"https://api.apiverve.com/v1/rsstojson",
headers={"x-api-key": "YOUR_API_KEY"},
)
print(res.json()["data"])Resources
Also published for
Only the languages APIVerve ships a client for are listed — the rest call the endpoint directly over HTTPS.
Call it from C# / .NET — POST /v1/rsstojson
Install the C# / .NET SDK, then call the RSS to JSON API with your key. The client wraps the same HTTPS request, so anything it returns is what the endpoint returns.
dotnet add package APIVerve.API.RSStoJSONusing var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY");
var json = await client.GetStringAsync("https://api.apiverve.com/v1/rsstojson");
Console.WriteLine(json);Resources
Also published for
Only the languages APIVerve ships a client for are listed — the rest call the endpoint directly over HTTPS.
Call it from Go — POST /v1/rsstojson
No SDK to install — this is a plain HTTPS call to /v1/rsstojson with your key in the x-api-key header. Swap in a real key and it runs as-is.
req, _ := http.NewRequest("GET", "https://api.apiverve.com/v1/rsstojson", nil)
req.Header.Set("x-api-key", "YOUR_API_KEY")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))Resources
Also published for
Only the languages APIVerve ships a client for are listed — the rest call the endpoint directly over HTTPS.
Call it from PHP — POST /v1/rsstojson
No SDK to install — this is a plain HTTPS call to /v1/rsstojson with your key in the x-api-key header. Swap in a real key and it runs as-is.
$ch = curl_init("https://api.apiverve.com/v1/rsstojson");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-api-key: YOUR_API_KEY"]);
$response = curl_exec($ch);
echo $response;Resources
Also published for
Only the languages APIVerve ships a client for are listed — the rest call the endpoint directly over HTTPS.
Call it from Ruby — POST /v1/rsstojson
No SDK to install — this is a plain HTTPS call to /v1/rsstojson with your key in the x-api-key header. Swap in a real key and it runs as-is.
require "net/http"
uri = URI("https://api.apiverve.com/v1/rsstojson")
req = Net::HTTP::Get.new(uri)
req["x-api-key"] = "YOUR_API_KEY"
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |h| h.request(req) }
puts res.bodyResources
Also published for
Only the languages APIVerve ships a client for are listed — the rest call the endpoint directly over HTTPS.
Zero-code embed — one snippet, no backend
Drop an interactive RSS to JSON form onto any page. The widget calls the API for you, so no key ever appears in your markup and there is nothing to deploy.
Changelog — RSS to JSON API
Every change to this endpoint, newest first. Breaking changes ship as a new version and the previous one keeps serving — response fields are added, never removed or retyped in place, so an integration written against v1 keeps working.
Entries are picked up from dated catalog snapshots, so the first one appears after the next snapshot that moves something. A period where nothing changed produces no entry — silence is a valid changelog for the RSS to JSON API.
Parsers
Related articles
All articles →
What Your User Agent String RevealsEvery HTTP request announces who you are. Here's what's in that string and what you can do with it.Read
Extract Clean Content from Any WebpageTurn messy web pages into clean Markdown. Perfect for content migration, archiving, AI training data, and building read-later tools.Read
Take Your App Multilingual (No Rewrite)Add language support to an existing app without rearchitecting. Practical strategies for translation, detection, and localization.Read