The RSS to JSON API converts any RSS feed into clean, structured JSON, so you can work with feeds without writing your own XML parsing.

Please see the official API documentation on RapidAPI for the complete, up-to-date specification and pricing plans.

Overview

Point the API at a feed URL and get back the feed’s details and its items as JSON. You can combine up to four feeds into one date-sorted list, search or exclude items by keyword, keep only recent items, and limit how many come back.

The API is a good fit for:

  • News readers and dashboards that pull from several sources
  • Websites that show the latest posts or podcast episodes from a feed
  • Automations and scripts that watch feeds for keywords

Key Features

  • Multiple Feeds: Merge up to 4 feeds in one request, sorted newest first
  • Search: Keep only items that mention one or more keywords
  • Exclude: Filter out items that mention unwanted keywords
  • Date Filtering: Return items since a date, or from the past few days
  • Feed Info and Validation: Check a feed’s details, or whether a URL is a working feed, without fetching every item
  • CORS Enabled: Call it directly from browser-based apps

Getting Started

Requests go through RapidAPI, so every call needs your RapidAPI key. Subscribe to the API on RapidAPI to get one, then send it with each request:

Terminal window
curl "https://rss-to-json2.p.rapidapi.com/feed?url=https://feeds.arstechnica.com/arstechnica/index" \
-H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
-H "X-RapidAPI-Host: rss-to-json2.p.rapidapi.com"

Dates are always returned in ISO 8601 format (UTC). Successful responses are cached for up to an hour, and feeds that take longer than 10 seconds to respond return an error.

Endpoints

Convert Feeds to JSON

GET /feed

Converts one or more feeds to JSON. With a single feed, the response includes the feed’s title, description and link along with its items. With multiple feeds, items from all of them are merged and sorted by publication date, newest first.

Parameter Required Description
url Yes Feed URL. Repeat it for up to 4 feeds.
limit No Maximum number of items to return. Default 50, maximum 500.
search No Only return items containing this keyword (case-insensitive). Repeat it to match any of several keywords.
exclude No Leave out items containing this keyword (case-insensitive). Repeat it to exclude several keywords.
since No Only return items published since a date (2026-04-01) or within a number of past days (7).

Search and exclude look at each item’s title, description and content.

Examples:

GET /feed?url=https://feeds.arstechnica.com/arstechnica/index
GET /feed?url=https://example.com/feed1&url=https://example.com/feed2
GET /feed?url=https://example.com/feed&search=climate&search=ai
GET /feed?url=https://example.com/feed&search=tech&exclude=sponsor
GET /feed?url=https://example.com/feed1&url=https://example.com/feed2&since=7&limit=100

Example response (single feed):

Response
{
"title": "Ars Technica",
"description": "Technology, culture, and entertainment",
"link": "https://arstechnica.com",
"items": [
{
"title": "Article Title",
"description": "Article content or snippet",
"link": "https://arstechnica.com/article",
"pubDate": "2026-04-17T21:28:35.000Z",
"author": "Article Author",
"categories": ["tech", "news"]
}
]
}

Each item includes every field available in the feed. Besides the common ones above, that can include fields such as content, contentSnippet, isoDate and enclosure (for podcast audio).

Get Feed Info

GET /feed/info

Returns a feed’s details without its items. Useful for previewing a feed before fetching its content.

Example:

GET /feed/info?url=https://feeds.arstechnica.com/arstechnica/index

Example response:

Response
{
"title": "Ars Technica",
"description": "Technology news and culture",
"link": "https://arstechnica.com",
"language": "en",
"copyright": "© 2026 Condé Nast",
"itemCount": 50,
"image": null
}

Validate a Feed

GET /validate

Checks whether a URL points to a valid, reachable feed.

Example:

GET /validate?url=https://feeds.arstechnica.com/arstechnica/index

Example response:

Response
{
"valid": true,
"title": "Ars Technica",
"itemCount": 50,
"message": "Feed is valid and accessible"
}

If the URL isn’t a working feed, valid is false and the response includes an error and message explaining why.

Errors

A feed that can’t be reached or parsed returns a 400 error:

{
"error": "Failed to parse RSS feed",
"message": "Error details"
}

Support

Please contact us with any issues you are having by emailing us at support@moonlabs.app. If there is a feature you’d like us to add, please let us know!