RSS Feed Reader: Bulk Feeds from a CSV, Google Sheet or Dataset avatar

RSS Feed Reader: Bulk Feeds from a CSV, Google Sheet or Dataset

Pricing

from $0.70 / 1,000 feed items

Go to Apify Store
RSS Feed Reader: Bulk Feeds from a CSV, Google Sheet or Dataset

RSS Feed Reader: Bulk Feeds from a CSV, Google Sheet or Dataset

Returns the newest items (title, link, date, author, summary, image, podcast media) from RSS, Atom and JSON feeds or websites, read from a list, CSV, Google Sheet or dataset, columns kept. Only-new mode. $0.001 per item; failed and repeat items free. Agent-ready via x402 and MCP.

Pricing

from $0.70 / 1,000 feed items

Rating

0.0

(0)

Developer

Adam Pearce

Adam Pearce

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

Watching dozens of blogs, news sites, podcasts or competitors? Give this Actor your list (typed in, a CSV, a Google Sheet or another Actor's dataset) and get every new post back as a clean row: title, link, date, author, summary, tags, image and podcast audio, next to your own columns.

Paste a normal website address and it finds the site's feed for you. Turn on Only new items and each run returns only what has appeared since the last one, so a daily schedule or an AI agent never sees (or pays for) the same story twice.

What you can do with it

  • Competitor and industry monitoring: a Sheet of 50 competitor blogs with a client column, run every morning, only new posts, straight into Slack via the webhook.
  • News alerts on a topic: many news feeds plus Must mention: ["acquisition", "funding round"], so only matching stories come back.
  • Podcast tracking: new episodes with the audio file link, size and duration, ready for a transcription step.
  • Content pipelines and agents: an n8n flow, Make scenario or AI agent asks "what is new on these sites?" and gets JSON rows back, paying a fraction of a cent per item.
  • Lead and account research: a lead list with a website column comes back with each company's latest posts, so outreach can mention something they just published.

Example output

One row per item. Your own columns (here client and topic) are copied onto every item from that feed:

{
"client": "Acme",
"topic": "security",
"rowNumber": 1,
"feedUrl": "https://blog.cloudflare.com",
"resolvedFeedUrl": "https://blog.cloudflare.com/rss/",
"feedDiscovered": true,
"feedStatus": "ok",
"feedTitle": "Cloudflare Blog",
"feedType": "rss",
"position": 1,
"itemId": "01M5E1HXVZGTKAKEYZ0KMZQ65Q",
"title": "Introducing full transaction detection for Cloudflare WAF",
"link": "https://blog.cloudflare.com/full-transaction-waf/",
"author": "Daniele Molteni",
"publishedAt": "2026-10-21T14:10:42.000Z",
"summary": "Cloudflare's web application firewall can now correlate an HTTP request with its response. ...",
"categories": ["Managed Rules", "Security", "Security Analytics", "Vulnerabilities", "WAF"],
"imageUrl": "https://blog.cloudflare.com/_emdash/api/media/file/01M5E1HKVR7WJX7KGB4B8MSK75.png",
"enclosureUrl": "https://blog.cloudflare.com/_emdash/api/media/file/01M5E1HKVR7WJX7KGB4B8MSK75.png",
"durationSeconds": null,
"fetchedAt": "2026-10-22T12:58:41.000Z"
}

A feed that cannot be read gives one free row instead, so you can see which entries need fixing:

feedStatusMeaningCharged?
okThe feed was read; its items are the other rowsPer item delivered
no_feed_foundThe website declares no feed and none was at the usual addressesNo
not_a_feedThe link returned something that is not a feedNo
blockedThe site's bot protection refused every requestNo
http_error, unreachable, timeout, too_large, invalid_url, no_urlThe link could not be readNo

Inputs

InputWhat it does
Feeds or websitesA plain list of feed links or website addresses
Dataset / File or Google Sheet URLRead the list from an Apify dataset, CSV, TSV, Excel, JSON or a Google Sheet. The feed column is found automatically (feedUrl, feed, rss, then url or website)
Items per feedNewest items to take from each feed (default 20)
Only new itemsRemember what was returned and give only new items next time. The first run returns the current items
Published afterA date (2026-10-01) or a period (24 hours, 7 days)
Must mention / Must not mentionWhole-word keyword filters on title, summary, content and tags
Include full contentAdds the full post text the feed carries, as plain text or HTML
Remove duplicate storiesThe same link in two feeds counts once (on by default)
Export files, Webhook, Append to named datasetCSV or Excel download, a POST with the summary and newest 50 items (sent only when there are new items), a growing archive

Every format is read: RSS 2.0, RSS 1.0 (RDF), Atom and JSON Feed, including podcast (iTunes), Media RSS and YouTube channel feeds. Dates are converted to ISO 8601 in UTC; a missing date stays empty and is never guessed.

Pricing

Pay per event, no subscription:

EventPrice
Feed item delivered$0.001 (cheaper on higher Apify plans)
CSV or Excel file$0.01 per file
Webhook delivered$0.005
Residential proxy (only if you turn it on)$0.003 per feed that returns items through it

What it costs in practice: watching 50 blogs every day with Only new items on, at about 3 new posts per blog a day, is 150 items a day, about $4.50 a month. Failed feeds, items filtered out by date or keyword, repeats and duplicates are never charged.

How it works

  1. Each link is downloaded with plain HTTP (no browser), identifying itself as a feed reader, with a browser-style retry if a site refuses. Never more than two requests at a time go to one site.
  2. If the link is a web page, the feed the page declares in its <link rel="alternate"> tag is used; failing that, the usual addresses (/feed, /rss, /feed.xml, /rss.xml, /atom.xml, /index.xml) are tried.
  3. Items are sorted newest first, filtered, checked against the memory (Only new items) and written, then charged for exactly what was written.

For AI agents and automations

Call it through the Apify API, the Apify MCP server or x402 pay-per-call with no account. Minimal input: {"feedUrls": ["https://example.com"], "onlyNewItems": true, "stateName": "my-monitor"}. The run summary (RUN_SUMMARY in the key-value store) lists feeds read and failed and items skipped by reason.

FAQ

Can I monitor a site that has no RSS feed? Only if the site publishes a feed somewhere. Most blogs, news sites, podcasts, YouTube channels, Substack, Medium and WordPress sites do; the Actor finds it from the homepage. If no_feed_found comes back, the site has none.

How does Only new items know what is new? It keeps the ID of every item it returned under the memory name you choose, in your own Apify account. Use a different memory name for each separate monitor.

Can I get the full article when the feed only has a summary? Send the link column to Bulk Article Extractor, which keeps all these columns and adds the full text.

Is it legal to read feeds? Feeds are published so that readers and apps can fetch them. This Actor reads only the feed itself, at a polite rate, and returns what the publisher chose to put in it. Respect each publisher's terms for how you reuse the content.

If this saved you checking feeds by hand, a review on the Apify Store helps a lot.