RSS Feed Reader: RSS, Atom & JSON Feeds to JSON
Pricing
from $0.60 / 1,000 item parseds
RSS Feed Reader: RSS, Atom & JSON Feeds to JSON
Read RSS, Atom, RDF and JSON feeds, or paste a website and it finds the feed. Get titles, links, dates, authors, images, podcast enclosures and content as JSON, CSV or Excel. Pay per item; failed feeds are free.
Pricing
from $0.60 / 1,000 item parseds
Rating
0.0
(0)
Developer
Automation Lab
Maintained by CommunityActor stats
3
Bookmarked
200
Total users
37
Monthly active users
2 days ago
Last modified
Features
Share
RSS Feed Reader
Parse RSS, Atom, RDF and JSON feeds into structured data. Extract titles, links, dates, authors, categories, images, podcast enclosures and content from any feed URL, or paste a website address and let the Actor find its feed.
What does RSS Feed Reader do?
This actor fetches and parses RSS 2.0, Atom, RSS 1.0 (RDF) and JSON Feed feeds into clean, structured JSON data. It extracts article titles, links, publication dates, authors, categories, descriptions, full content, images and attached files (podcast audio, video). Enter a feed URL, or a website or blog page such as https://techcrunch.com/: the Actor reads the feed that page links to.
Who is it for?
- 📝 Content marketers — monitoring competitor blogs and industry news feeds
- 📊 Media analysts — aggregating news from multiple RSS sources for trend analysis
- 💻 Developers — building automated content pipelines from RSS feed data
- 📰 Journalists — tracking breaking news across multiple publication feeds
- 🏢 Business intelligence teams — monitoring industry publications for competitive insights
Use cases
- Content marketer aggregating blog posts and news articles from industry sources for a daily digest or newsletter
- Competitive analyst monitoring competitor blogs, press releases, and product announcements via their RSS feeds
- Data engineer building a content pipeline that ingests articles from multiple news sources into a data warehouse
- Community manager tracking Hacker News, community and forum RSS feeds for brand mentions and trending topics
- Researcher collecting academic publication feeds or government announcement feeds for analysis
Why use RSS Feed Reader?
- Multiple feed formats -- supports RSS 2.0, Atom, RSS 1.0 (RDF) and JSON Feed out of the box
- Feed discovery -- enter a website or blog page instead of its feed URL; the Actor follows the page's RSS/Atom/JSON feed link and records the page in
discoveredFrom - Images and podcasts --
imageUrlcomes from Media RSS images and thumbnails, iTunes episode art or the first image in the article; podcast audio and other attachments go toenclosureUrlandenclosureType - Retries slow feeds -- a feed that times out, drops the connection or answers 429/5xx is tried once more before it is reported as failed
- Batch processing -- parse dozens of feed URLs in a single run; feeds are fetched three at a time and saved in input order
- Rich metadata extraction -- gets title, link, description, full content, author, categories, publication date, GUID, image URL and enclosure for each item
- Clear run summary -- every run ends with a status such as "Got 60 items from 3 of 3 feeds", and failed feeds are listed as free rows with an
errorfield - Configurable item limits -- set
maxItemsPerFeedfrom 1 to 1,000 to control how many items you extract per feed - Publication-date filtering -- use
publishedAfterto emit and pay for only recent dated items while retaining entries whose publication date is missing or invalid - Structured JSON output -- every feed item is a clean JSON object ready for downstream processing, storage, or integration
- Pay-per-event pricing -- only $0.001 per feed item extracted, plus a one-time start fee
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
feeds | string[] | Yes | -- | RSS, Atom, RDF or JSON Feed URLs, or website pages that link a feed. https:// is added when missing |
maxItemsPerFeed | integer | No | 50 | Maximum items to extract per feed (1--1000), applied after date filtering |
publishedAfter | string | No | -- | ISO 8601 date-time cutoff; emits dated items published on or after it |
{"feeds": ["https://feeds.bbci.co.uk/news/rss.xml","https://hnrss.org/frontpage","https://techcrunch.com/"],"maxItemsPerFeed": 50}
Saved input for repeat feed monitoring
RSS feeds are ideal for scheduled runs. Save your feed list and run it hourly for breaking news, daily for blogs, or weekly for low-volume sources. Set publishedAfter to the previous run's cutoff to avoid emitting and paying for older dated entries repeatedly. The cutoff is inclusive, so an item published exactly at that timestamp is retained. Items with a missing or unparseable publication date are also retained to avoid silently losing potentially new content; use guid or link downstream if you need stateful deduplication.
Example scheduled-monitoring input:
{"feeds": ["https://feeds.bbci.co.uk/news/rss.xml","https://hnrss.org/frontpage","https://techcrunch.com/feed/"],"maxItemsPerFeed": 20,"publishedAfter": "2026-09-07T12:00:00Z"}
publishedAfter must include a timezone (Z or an offset such as +02:00). Filtering happens before maxItemsPerFeed, and only emitted items incur the per-item charge. Omit publishedAfter to preserve the original unfiltered behavior.
Pair scheduled runs with webhooks or the Google Sheets integration to build a continuously updated news, competitor, or content-monitoring dashboard.
Output example
Each feed item produces a result object with the following fields:
| Field | Type | Description |
|---|---|---|
feedUrl | string | The source feed URL (the feed found on the page when you entered a website) |
feedTitle | string | Title of the feed channel |
feedType | string | Feed format: rss, atom, rdf or json; unknown on error rows |
title | string | Article or item title |
link | string | URL to the full article |
description | string | Short summary or excerpt |
content | string | Full article content (if available) |
author | string | Author name |
publishedAt | string | Publication date in ISO 8601 format |
updatedAt | string | Last updated date (if available) |
categories | array | List of category or tag strings |
guid | string | Unique identifier for the item |
imageUrl | string | Item image: image enclosure, Media RSS image or thumbnail, iTunes episode image, or the first image in the item body |
enclosureUrl | string | Attached file such as podcast audio or video (RSS enclosure, Atom enclosure link, JSON Feed attachment) |
enclosureType | string | MIME type of the attached file, e.g. audio/mpeg |
discoveredFrom | string | The website page you entered, when the feed was found on it; otherwise null |
error | string | Error message if the feed could not be fetched or parsed |
fetchedAt | string | Timestamp when the feed was fetched |
{"feedUrl": "https://hnrss.org/frontpage","feedTitle": "Hacker News: Front Page","feedType": "rss","title": "Show HN: An open-source project","link": "https://example.com/article","description": "A brief description of the article","content": null,"author": "username","publishedAt": "2026-03-01T10:30:00.000Z","updatedAt": null,"categories": ["technology"],"guid": "https://news.ycombinator.com/item?id=12345","imageUrl": null,"enclosureUrl": null,"enclosureType": null,"discoveredFrom": null,"error": null,"fetchedAt": "2026-03-01T12:00:00.000Z"}
How much does it cost to parse RSS feeds?
| Event | Price | Description |
|---|---|---|
| Start | $0.035 | One-time per run |
| Item parsed | $0.001 | Per feed item extracted (cheaper on higher Apify plans, down to $0.00028) |
Feeds that fail are listed as free error rows and are not charged. A run with no usable input, or where every feed failed, is not charged at all.
Example costs:
- 3 feeds x 20 items each = $0.035 + (60 x $0.001) = $0.095
- 10 feeds x 50 items each = $0.035 + (500 x $0.001) = $0.535
- 1 feed x 100 items = $0.035 + (100 x $0.001) = $0.135
How to read RSS feeds with Apify
- Go to the RSS Feed Reader on Apify Store.
- Enter one or more feed URLs, or website pages that link a feed, in the Feed or website URLs field.
- Set the Max items per feed limit (default is 50).
- Click Start and wait for the run to finish.
- Download your structured feed data in JSON, CSV, or Excel format.
API usage
You can start RSS Feed Reader programmatically from your own applications using the Apify API. Below are examples in Node.js and Python.
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('automation-lab/rss-feed-reader').call({feeds: ['https://feeds.bbci.co.uk/news/rss.xml'],maxItemsPerFeed: 20,publishedAfter: '2026-09-07T12:00:00Z',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('automation-lab/rss-feed-reader').call(run_input={'feeds': ['https://feeds.bbci.co.uk/news/rss.xml'],'maxItemsPerFeed': 20,'publishedAfter': '2026-09-07T12:00:00Z',})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~rss-feed-reader/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"feeds": ["https://feeds.bbci.co.uk/news/rss.xml"],"maxItemsPerFeed": 20,"publishedAfter": "2026-09-07T12:00:00Z"}'
Use with Claude AI (MCP)
This actor is available as a tool in Claude AI through the Model Context Protocol (MCP). Add it to Claude Desktop, Cursor, Windsurf, or any MCP-compatible client.
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/rss-feed-reader"
Setup for Claude Desktop, Cursor, or VS Code
Add this to your MCP config file:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/rss-feed-reader"}}}
Example prompts
- "Parse this RSS feed and get the latest 20 articles: https://hnrss.org/frontpage"
- "Monitor these news feeds for new posts: BBC News, TechCrunch, and Hacker News"
- "Get the latest articles from https://feeds.bbci.co.uk/news/rss.xml and summarize the top 5"
Learn more in the Apify MCP documentation.
Integrations
RSS Feed Reader works with the full Apify integration ecosystem. Connect it to Make (formerly Integromat), Zapier, n8n, or Slack to receive notifications when new articles are published. Export results directly to Google Sheets, Amazon S3, or any webhook endpoint. You can also schedule recurring runs on the Apify platform to poll feeds at regular intervals (e.g., every hour) and build a continuously updated content database.
Tips and best practices
- Schedule regular runs -- set up an hourly or daily run and pass the previous cutoff as
publishedAfterto emit recent dated entries. Undated entries remain in the output by design. - Use
maxItemsPerFeedto control costs -- if you only need the latest headlines, set this to 10 or 20 instead of the default 50 to reduce the number of billed items. - Combine multiple source types -- mix news feeds, blog feeds, podcasts, and Hacker News feeds in a single run to build a comprehensive content aggregation pipeline. Some sites (for example Reddit) block requests from cloud servers, so their feeds may come back with an HTTP 403 error row.
- Check the
errorfield -- if a feed URL is unreachable or returns invalid XML, the error field will contain a descriptive message. Use this to monitor feed health. - Deduplicate by
guid-- when polling feeds on a schedule, use theguidfield to identify and skip items you have already processed in previous runs.
Diagnostics and data handling
Failed operations send sanitized diagnostic input, exceptions, the feed response's status, content type, size and general shape (never its body), and Actor/build/run IDs to our private GlitchTip service for repair. Secret fields and URL queries are removed, and reports are retained for 30 days. A failed feed can generate a diagnostic report even when other feeds succeed.
The Actor uses no AI or external model provider. It fetches your public feed URLs and processes their content on Apify; feed publishers receive the HTTP requests. Apify stores input, output, and run logs under your account's retention settings; you can delete these through Apify storage and run controls. Output can include publisher-provided author names and article content. Feed URLs appear in output and logs, so do not supply credentials or private personal data in URLs. The company operates and pays for diagnostic reporting; no extra diagnostic charge is added.
This is an independent tool, not affiliated with feed publishers. Apify's standard user terms apply. For help, use the Actor's Issues tab on Apify Store.
Legality
This tool analyzes publicly accessible web content. Automated analysis of public web resources is standard practice in SEO and web development. Always respect robots.txt directives and rate limits when analyzing third-party websites. For personal data processing, ensure compliance with applicable privacy regulations.
FAQ
What feed formats are supported? The actor supports RSS 2.0, Atom (1.0), RSS 1.0 (RDF) and JSON Feed (1.0 and 1.1). These cover the vast majority of feeds on the web.
Can I enter a website instead of a feed URL?
Yes. If the address returns a web page, the Actor looks for the page's <link rel="alternate"> feed link (RSS, Atom, RDF or JSON Feed), reads that feed, and puts the page you entered in discoveredFrom. If the page links no feed, you get an error row saying so.
Can I parse password-protected or authenticated feeds? The actor fetches feeds over HTTP/HTTPS without authentication. If your feed requires login credentials or API keys, it will not be accessible. Consider using a proxy or pre-fetching the feed content.
How often should I schedule runs for monitoring?
It depends on how frequently your target feeds update. For major news sites, hourly runs capture most updates. For blogs or low-volume feeds, daily runs are usually sufficient. Set publishedAfter to an ISO 8601 timestamp from your previous scheduling window; the Actor applies it before the per-feed limit and item charges.
What happens if a feed URL is temporarily down?
A feed that times out, drops the connection, or answers HTTP 429 or 5xx is tried once more. If it still fails, the run saves a free row with the error field describing the issue (e.g. timeout, HTTP 404, or invalid XML), other feeds in the same batch continue, and the run's status message counts the failed feeds.
The actor returns an error for a feed URL. How do I troubleshoot?
Open the URL in a browser. If it is a web page without a feed link, find the site's feed (often /feed, /rss or /rss.xml). An HTTP 403 usually means the site blocks requests from cloud servers.
Why are some fields like content or author null?
Not all feeds include every field. Some publishers only provide a short description and omit full content. Similarly, author is optional in RSS 2.0 and may not be set by the feed publisher. The actor extracts whatever the feed provides.
Can I get the full article content from feeds?
It depends on the feed. Some feeds include full article content in the content or description fields, while others only include a short excerpt. The actor extracts whatever the feed provides. For full content, combine this actor with a web scraper to fetch the linked page.
Related SEO tools
- Sitemap URL Extractor — Extract all URLs from XML sitemaps
- Security.txt Checker — Check websites for security.txt compliance
- SEO Title & Description Checker — Validate page titles and meta descriptions
- Broken Link Checker — Find broken links on any website
- Heading Structure Checker — Validate H1-H6 heading hierarchy
- Keyword Density Analyzer — Analyze keyword usage on web pages
Use with AI agents via x402 (no Apify account)
Agent workflows can run this actor through Apify MCP without an Apify account when the MCP client uses a funded x402 wallet. Use the actor-specific MCP endpoint:
https://mcp.apify.com?tools=automation-lab/rss-feed-reader&payment=x402
This keeps existing Apify MCP/API usage unchanged; x402 only changes payment/authentication for clients that support it. Learn more in Apify's x402 integration docs.