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:
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/indexGET /feed?url=https://example.com/feed1&url=https://example.com/feed2GET /feed?url=https://example.com/feed&search=climate&search=aiGET /feed?url=https://example.com/feed&search=tech&exclude=sponsorGET /feed?url=https://example.com/feed1&url=https://example.com/feed2&since=7&limit=100Example response (single feed):
{ "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/indexExample 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/indexExample 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!
