RSS Feed Reader — Parse RSS and Atom Feeds at Scale · Apify
RSS Feed Reader: RSS, Atom & JSON Feeds to JSON avatar

RSS Feed Reader: RSS, Atom & JSON Feeds to JSON

Pricing

from $0.60 / 1,000 item parseds

Go to Apify Store
RSS Feed Reader: RSS, Atom & JSON Feeds to JSON

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

Automation Lab

Maintained by Community

Actor stats

3

Bookmarked

200

Total users

37

Monthly active users

2 days ago

Last modified

Categories

Features

Limited permissions

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 -- imageUrl comes from Media RSS images and thumbnails, iTunes episode art or the first image in the article; podcast audio and other attachments go to enclosureUrl and enclosureType
  • 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 error field
  • Configurable item limits -- set maxItemsPerFeed from 1 to 1,000 to control how many items you extract per feed
  • Publication-date filtering -- use publishedAfter to 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

ParameterTypeRequiredDefaultDescription
feedsstring[]Yes--RSS, Atom, RDF or JSON Feed URLs, or website pages that link a feed. https:// is added when missing
maxItemsPerFeedintegerNo50Maximum items to extract per feed (1--1000), applied after date filtering
publishedAfterstringNo--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:

FieldTypeDescription
feedUrlstringThe source feed URL (the feed found on the page when you entered a website)
feedTitlestringTitle of the feed channel
feedTypestringFeed format: rss, atom, rdf or json; unknown on error rows
titlestringArticle or item title
linkstringURL to the full article
descriptionstringShort summary or excerpt
contentstringFull article content (if available)
authorstringAuthor name
publishedAtstringPublication date in ISO 8601 format
updatedAtstringLast updated date (if available)
categoriesarrayList of category or tag strings
guidstringUnique identifier for the item
imageUrlstringItem image: image enclosure, Media RSS image or thumbnail, iTunes episode image, or the first image in the item body
enclosureUrlstringAttached file such as podcast audio or video (RSS enclosure, Atom enclosure link, JSON Feed attachment)
enclosureTypestringMIME type of the attached file, e.g. audio/mpeg
discoveredFromstringThe website page you entered, when the feed was found on it; otherwise null
errorstringError message if the feed could not be fetched or parsed
fetchedAtstringTimestamp 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?

EventPriceDescription
Start$0.035One-time per run
Item parsed$0.001Per 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

  1. Go to the RSS Feed Reader on Apify Store.
  2. Enter one or more feed URLs, or website pages that link a feed, in the Feed or website URLs field.
  3. Set the Max items per feed limit (default is 50).
  4. Click Start and wait for the run to finish.
  5. 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 ApifyClient
client = 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().items
print(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

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 publishedAfter to emit recent dated entries. Undated entries remain in the output by design.
  • Use maxItemsPerFeed to 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 error field -- 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 the guid field 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.

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.