RSS Feed Monitor - New Items Only
Pricing
from $10.00 / 1,000 new items
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
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
| Field | Type | Default | Description |
|---|---|---|---|
feedUrls | array | — | Required. RSS or Atom feed URLs to watch. |
maxItemsFirstRun | integer | 10 | Cap on the first run only, so you are not billed for a whole backlog. |
maxNewItemsPerFeed | integer | 200 | Safety cap per feed per run. |
includeContent | boolean | true | Include full article body when the feed provides it. |
emitFeedMetadata | boolean | false | Add one summary row per feed that had new items. |
stateName | string | feed-monitor-state | Named 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
errorrecord rather than failing the whole run, so one broken feed does not stop the rest.