RSS Feed Reader (with MCP) avatar

RSS Feed Reader (with MCP)

Pricing

from $0.03 / 1,000 feed items

Go to Apify Store
RSS Feed Reader (with MCP)

RSS Feed Reader (with MCP)

Read RSS and Atom feeds, normalize feed items, and export clean dataset rows for monitoring, alerts, AI, MCP, and integrations.

Pricing

from $0.03 / 1,000 feed items

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

a day ago

Last modified

Share

RSS Feed Reader

Read RSS and Atom feeds on Apify and export clean, normalized dataset rows for monitoring, alerts, AI/RAG pipelines, newsletters, dashboards, and no-code automations.

What does RSS Feed Reader do?

RSS Feed Reader fetches public RSS, Atom, and RDF feed URLs and converts feed entries into a structured Apify dataset.

It is designed for recurring jobs where you need reliable feed imports without maintaining your own parser, scheduler, exports, or integrations.

Who is it for?

  • 📰 News monitoring teams tracking publishers, blogs, or government feeds.
  • 📈 SEO and content marketers watching competitor content and topic updates.
  • 🤖 AI workflow builders feeding fresh articles into RAG, summarization, or alerting flows.
  • 🧰 Automation builders connecting RSS feeds to Make, Zapier, Slack, Airtable, or databases.
  • 🧑‍💼 Agencies and analysts collecting repeatable content snapshots for clients.

Why use this actor?

  • Fetch many feeds in one run.
  • Normalize RSS and Atom entries into one dataset shape.
  • Keep going when one feed fails.
  • Add stable dedupe keys for scheduled monitoring.
  • Export results through Apify datasets, API, webhooks, and integrations.

Ready-to-run presets

The Actor includes four tested saved tasks in its Tasks tab. They use public feeds and conservative limits, so they are useful starting points for your own scheduled import:

  • BBC News: 10 current BBC News RSS items.
  • Hacker News: 10 current community links, deduplicated by item URL.
  • arXiv AI: five recent Atom entries from the cs.AI query feed.
  • NASA News: 10 recent NASA news-release RSS items.

Open RSS Feed Reader on Apify, choose a preset in Tasks, and adjust the feed URLs and caps for your use case.

What data can it extract?

FieldDescription
feedUrlFeed URL that produced the item
feedTitleFeed title when available
feedDescriptionFeed description or subtitle
feedLinkWebsite link advertised by the feed
feedLanguageFeed language when present
feedLastBuildDateFeed-level update date when present
feedTypeRSS, Atom, or RDF parser mode
titleFeed item title
descriptionItem summary or description
contentFull content field when the feed provides it
linkItem URL
guidItem GUID or ID
pubDateOriginal publication date text
isoDateNormalized ISO publication date
authorAuthor or creator when available
categoriesItem categories or tags
imageUrlFirst media/enclosure image URL
mediaUrlsMedia and enclosure URLs
dedupeKeyStable key for de-duplication
fetchedAtTimestamp when the actor fetched the feed

Pricing

This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.

EventWhat is chargedPrice
startOne-time fee when the run saves its first verified feed item$0.005
EventWhat is chargedFree / no discountStarter / BronzeScale / SilverBusiness / GoldCustom / PlatinumCustom / Diamond
itemPer verified normalized feed item saved$0.0575 / 1,000$0.05 / 1,000$0.039 / 1,000$0.03 / 1,000$0.02 / 1,000$0.014 / 1,000

Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.

Quick start

  1. Open the actor on Apify.
  2. Add one or more RSS or Atom feed URLs.
  3. Choose the maximum number of items per feed.
  4. Run the actor.
  5. Export the dataset as JSON, CSV, Excel, RSS, or through the Apify API.

Example input

{
"feedUrls": [
{ "url": "https://feeds.bbci.co.uk/news/rss.xml" },
{ "url": "https://www.nasa.gov/news-release/feed/" }
],
"maxItemsPerFeed": 20,
"includeContent": true,
"includeFeedMetadata": true,
"dedupeBy": "guid",
"requestTimeoutSecs": 20,
"emitErrorItems": true
}

Input options

feedUrls

Add one or more public RSS, Atom, or RDF feed URLs.

maxItemsPerFeed

Controls how many entries are saved from each feed. Use a low number for first runs and larger values for production imports.

includeContent

When enabled, the actor includes full content fields such as content:encoded or Atom content if available.

includeFeedMetadata

When enabled, each row includes feed-level title, description, website link, language, and update date when present.

dedupeBy

Choose how duplicate entries are detected across all feeds in the same run:

  • guid — recommended for most feeds.
  • link — useful when feeds have unreliable IDs.
  • titleAndDate — useful for feeds that omit both GUID and stable links.

requestTimeoutSecs

Sets the timeout for each feed URL. Slow or unreachable feeds are recorded in RUN_SUMMARY while other feeds continue; failed feeds are not billed as items.

emitErrorItems

Failed feed URLs are always reported in the RUN_SUMMARY record and are never saved or billed as feed-item rows. The legacy switch is retained for existing inputs.

Example output

{
"feedUrl": "https://feeds.bbci.co.uk/news/rss.xml",
"feedType": "rss",
"feedTitle": "BBC News",
"title": "Example headline",
"description": "Short item summary",
"content": "Longer content when provided by the feed",
"link": "https://www.bbc.com/news/example",
"guid": "https://www.bbc.com/news/example",
"pubDate": "Fri, 26 Jun 2026 10:00:00 GMT",
"isoDate": "2026-06-26T10:00:00.000Z",
"author": null,
"categories": ["World"],
"imageUrl": "https://example.com/image.jpg",
"mediaUrls": ["https://example.com/image.jpg"],
"fetchedAt": "2026-06-26T13:00:00.000Z",
"dedupeKey": "guid:https://www.bbc.com/news/example"
}

Tips for best results

  • ✅ Use direct feed URLs, not regular website homepages.
  • ✅ Start with 10–20 items per feed for testing.
  • ✅ Use scheduled runs for monitoring workflows.
  • ✅ Keep emitErrorItems enabled if downstream automations need to know when a feed fails.
  • ✅ Use dedupeKey in your database or automation tool to avoid duplicate alerts.

Scheduling and monitoring

RSS Feed Reader works well with Apify schedules.

For example:

  • Run every 15 minutes for breaking news feeds.
  • Run hourly for blogs and product changelogs.
  • Run daily for research feeds and newsletters.

Use the dataset, webhook, or API output to trigger downstream actions.

Integrations

You can connect results to:

  • Slack alerts for new headlines.
  • Airtable or Google Sheets content trackers.
  • Make or Zapier workflows.
  • Vector database ingestion jobs.
  • Newsletter drafting pipelines.
  • Internal monitoring dashboards.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/rss-feed-reader').call({
feedUrls: [{ url: 'https://feeds.bbci.co.uk/news/rss.xml' }],
maxItemsPerFeed: 10
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/rss-feed-reader').call(run_input={
'feedUrls': [{'url': 'https://feeds.bbci.co.uk/news/rss.xml'}],
'maxItemsPerFeed': 10,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

API usage with cURL

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~rss-feed-reader/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"feedUrls":[{"url":"https://feeds.bbci.co.uk/news/rss.xml"}],"maxItemsPerFeed":10}'

MCP usage

Use this actor from Claude Desktop or Claude Code through Apify MCP.

MCP server URL:

https://mcp.apify.com/?tools=fetch_cat/rss-feed-reader

Claude Code setup:

$claude mcp add apify-rss-feed-reader https://mcp.apify.com/?tools=fetch_cat/rss-feed-reader

Claude Desktop JSON configuration:

{
"mcpServers": {
"apify-rss-feed-reader": {
"url": "https://mcp.apify.com/?tools=fetch_cat/rss-feed-reader"
}
}
}

Example prompts:

  • "Read these RSS feeds and summarize the newest five posts."
  • "Monitor this changelog feed and tell me what changed since yesterday."
  • "Fetch these news feeds and prepare a table of titles, URLs, and publish dates."

Common workflows

News alerting

Run the actor on a schedule, filter rows by keyword, and send matches to Slack or email.

AI/RAG ingestion

Fetch feed entries, deduplicate by dedupeKey, then send new links and content to your embedding pipeline.

Competitor content tracking

Track competitor blog feeds and export the dataset to a spreadsheet or CRM.

Newsletter research

Collect article titles, summaries, links, and publication dates for editorial review.

FAQ

Can this actor read both RSS and Atom feeds?

Yes. Add public RSS, Atom, or RDF feed URLs in the input and the actor normalizes entries into the same dataset shape.

Does it crawl the full article pages?

No. It reads the feed entries only. Some publishers include full content in the feed; others include summaries and links.

Troubleshooting

Why did a feed return an error row?

The feed URL may be unreachable, blocked, malformed, or not a real RSS/Atom feed. Open the feed URL in a browser and check whether it returns XML.

Why are some fields empty?

RSS and Atom publishers choose which fields to include. Some feeds omit authors, categories, images, or full content.

Why do I see duplicates across scheduled runs?

Scheduled runs create new datasets. Store dedupeKey in your downstream system and skip rows you have already processed.

Legality and responsible use

This actor is intended for public RSS and Atom feed URLs. Make sure your use complies with each publisher's terms, copyright rules, and applicable laws. Do not use the actor to access private, paid, or unauthorized feeds.

You may also find these Apify actors useful:

  • Google News Scraper: https://apify.com/fetch_cat/google-news-scraper
  • Google Trending Searches Scraper: https://apify.com/fetch_cat/google-trending-searches-scraper
  • Substack Posts Scraper: https://apify.com/fetch_cat/substack-posts-scraper

Limits

  • The actor only reads public feed URLs supplied in the input.
  • It does not crawl full websites behind each item link.
  • It does not bypass logins, paywalls, or private feeds.
  • Very large feeds should be capped with maxItemsPerFeed.