RSS Feed Monitor - New Items Only avatar

RSS Feed Monitor - New Items Only

Pricing

from $10.00 / 1,000 new items

Go to Apify Store
RSS Feed Monitor - New Items Only

RSS Feed Monitor - New Items Only

Watch any RSS or Atom feed and get back only the items published since your last run. Remembers what it has already seen, so you never process or pay for the same article twice.

Pricing

from $10.00 / 1,000 new items

Rating

0.0

(0)

Developer

Technical Dost Solutions

Technical Dost Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

RSS Feed Monitor — New Items Only

Watch any RSS or Atom feed and get back only the items published since your last run.

Most feed scrapers hand you the same 50 articles every time you run them. You then have to store what you have already seen, compare, and throw the duplicates away — and you pay for every duplicate. This Actor does that bookkeeping for you and returns nothing when nothing has changed.

What it does

  • Remembers every item it has already returned, per feed, across runs
  • Returns only genuinely new items on each subsequent run
  • Returns an empty dataset when a feed has not changed — so a quiet check costs you almost nothing
  • Handles RSS 2.0, Atom, and podcast feeds
  • No proxies, no API keys, no configuration

Typical uses

  • Trigger a Slack, Discord, or email alert when a blog or news site publishes
  • Feed only fresh articles into an LLM summarisation or classification pipeline
  • Watch competitor blogs, release notes, or changelogs for updates
  • Track a podcast feed and act on each new episode
  • Mirror new posts into a database or spreadsheet without writing dedupe logic

Input

FieldTypeDefaultDescription
feedUrlsarrayRequired. RSS or Atom feed URLs to watch.
maxItemsFirstRuninteger10Cap on the first run only, so you are not billed for a whole backlog.
maxNewItemsPerFeedinteger200Safety cap per feed per run.
includeContentbooleantrueInclude full article body when the feed provides it.
emitFeedMetadatabooleanfalseAdd one summary row per feed that had new items.
stateNamestringfeed-monitor-stateNamed store holding the seen-item history. Use different names to track the same feed in separate workflows.
{
"feedUrls": [
"https://news.ycombinator.com/rss",
"https://feeds.bbci.co.uk/news/rss.xml"
],
"maxItemsFirstRun": 10,
"includeContent": true
}

Output

One record per new item:

{
"type": "new_item",
"isFirstRun": false,
"feedTitle": "Hacker News",
"feedUrl": "https://news.ycombinator.com/rss",
"title": "Show HN: ...",
"link": "https://example.com/post",
"pubDate": "2026-08-13T09:14:00.000Z",
"author": "someone",
"categories": [],
"guid": "https://example.com/post",
"summary": "Short description from the feed",
"content": "Full body when the feed provides it",
"detectedAt": "2026-08-13T09:20:11.482Z"
}

How the first run works

On the very first run for a feed there is no history, so every item in the feed looks new. Returning all of them would bill you for the entire backlog. Instead the Actor stores the current contents as a baseline and returns only the most recent maxItemsFirstRun items. Every run after that returns all genuinely new items.

Set maxItemsFirstRun to 0 if you want a silent baseline and nothing at all on the first run.

Scheduling

Pair this with an Apify Schedule to poll on an interval — every 15 minutes, hourly, or daily. Because unchanged feeds return nothing, frequent polling stays cheap.

Pricing

  • A small per-run charge covers the check itself.
  • Then you pay per new item returned. No new items means no item charges.

Notes

  • The seen-item history is capped at 2,000 items per feed, which is far more than any normal feed publishes between runs.
  • If a feed omits guid, the Actor falls back to the item link, then to title plus publication date.
  • Feeds that fail to load produce an error record rather than failing the whole run, so one broken feed does not stop the rest.