RSS Feed Reader avatar

RSS Feed Reader

Pricing

Pay per event

Go to Apify Store
RSS Feed Reader

RSS Feed Reader

This actor fetches and parses RSS 2.0, Atom, and RSS 1.0 (RDF) feeds into clean, structured JSON data. It extracts article titles, links, publication dates, authors, categories, descriptions, and full content. Use it to monitor news sources, aggregate blog posts, or build content pipelines.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Parse RSS and Atom feeds into structured data. Extract titles, links, dates, authors, categories, and content from any feed URL.

What does RSS Feed Reader do?

This actor fetches and parses RSS 2.0, Atom, and RSS 1.0 (RDF) feeds into clean, structured JSON data. It extracts article titles, links, publication dates, authors, categories, descriptions, and full content from any number of feed URLs. Use it to monitor news sources, aggregate blog posts, build content pipelines, or track competitor updates across the web.

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 subreddit feeds, Hacker News, or 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, and RSS 1.0 (RDF) feeds out of the box
  • Batch processing -- parse dozens of feed URLs in a single run instead of fetching them one at a time
  • Rich metadata extraction -- gets title, link, description, full content, author, categories, publication date, GUID, and image URL for each item
  • Configurable item limits -- set maxItemsPerFeed from 1 to 1,000 to control how many items you extract per feed
  • 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--List of RSS or Atom feed URLs to parse
maxItemsPerFeedintegerNo50Maximum items to extract per feed (1--1000)
{
"feeds": [
"https://feeds.bbci.co.uk/news/rss.xml",
"https://hnrss.org/frontpage",
"https://www.reddit.com/r/technology/.rss"
],
"maxItemsPerFeed": 50
}

Output example

Each feed item produces a result object with the following fields:

FieldTypeDescription
feedUrlstringThe source feed URL
feedTitlestringTitle of the feed channel
feedTypestringFeed format: rss, atom, or rdf
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
imageUrlstringURL of the associated image (if available)
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": "atom",
"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,
"error": null,
"fetchedAt": "2026-03-01T12:00:00.000Z"
}

How much does it cost?

EventPriceDescription
Start$0.035One-time per run
Item parsed$0.001Per feed item extracted

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

Using the Apify API

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,
});
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,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

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 a scheduled run (e.g., hourly or daily) to continuously monitor feeds. Use the fetchedAt timestamp to identify new items since your last run.
  • 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, Reddit RSS, and Hacker News feeds in a single run to build a comprehensive content aggregation pipeline.
  • 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.

FAQ

What feed formats are supported? The actor supports RSS 2.0, Atom (1.0), and RSS 1.0 (RDF) feeds. These cover the vast majority of feeds on the web. JSON Feed format is not currently supported.

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. Use the publishedAt field to filter for new items.

What happens if a feed URL is temporarily down? The actor will attempt to fetch the feed and, if it fails, will produce a result with the error field describing the issue (e.g., timeout, HTTP 404, or invalid XML). Other feeds in the same batch will continue processing normally.

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.