RSS Change Monitor: Competitor Blog & News Alerts
Pricing
Pay per usage
RSS Change Monitor: Competitor Blog & News Alerts
Monitor public RSS and Atom feeds, such as a competitor's blog, newsroom or changelog, and get only the new items since the last run: title, link, published date and summary. Optional webhook for Slack, Zapier or Make. Lightweight HTTP, no browser, no login.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
SingletonOps
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Public RSS Change Monitor
Monitor public RSS and Atom feeds and get notified only when new items appear. Perfect for marketers, researchers, and ops teams who want cheap recurring feed watches without scraping login walls.
What does Public RSS Change Monitor do?
This Actor:
- Fetches one or more public RSS/Atom feed URLs you provide
- Normalizes each entry to
title,link,published, andsummary - Compares items against the last run’s state (stored in the default key-value store under
seen-state) - Writes only new items to the default dataset
- Optionally POSTs a JSON summary to your webhook URL when something new is found
Schedule it on Apify (e.g. every 15–60 minutes) for continuous monitoring with predictable compute cost.
Why use this Actor?
| Benefit | Detail |
|---|---|
| Low legal risk | Public feeds only — no logins, paywalls, or authenticated APIs |
| Recurring value | Change detection across runs (state persisted in KVS) |
| Cheap compute | Lightweight HTTP + XML parse — no browser |
| Integrations | Optional webhook, plus Apify dataset/API exports to Zapier, Make, Slack, etc. |
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
feedUrls | string[] | ✅ | — | Public RSS/Atom feed URLs |
maxItemsPerFeed | integer | ❌ | 50 | Max items read per feed (1–500) |
webhookUrl | string | ❌ | — | HTTPS URL to POST when new items exist |
webhookSecretHeader | string | ❌ | — | Value sent as X-Webhook-Secret (you supply it) |
Example input
{"feedUrls": ["https://www.nasa.gov/news-release/feed/","https://feeds.bbci.co.uk/news/rss.xml"],"maxItemsPerFeed": 50,"webhookUrl": "https://example.com/hooks/rss-new","webhookSecretHeader": "your-own-shared-secret"}
Webhook secret: Provide your own value. The Actor never generates secrets. When set, it is sent only as the
X-Webhook-SecretHTTP header so your endpoint can verify the request.
Output
Dataset (new items only)
Each dataset row is one newly detected feed entry:
| Field | Type | Description |
|---|---|---|
id | string | Stable ID from guid / id / link |
feedUrl | string | Source feed URL |
title | string | Entry title |
link | string | Entry URL |
published | string | null | Publish time from the feed |
summary | string | null | Plain-text snippet (HTML stripped) |
detectedAt | string | When this run marked the item as new (ISO-8601) |
Key-value store
| Key | Contents |
|---|---|
seen-state | JSON map of feedUrl → string[] of previously seen item IDs |
On the first run, every item within maxItemsPerFeed is treated as new and written to the dataset. Subsequent runs emit only items not already in seen-state.
Webhook payload (when configured and new items exist)
{"actor": "public-rss-change-monitor","detectedAt": "2026-10-06T23:30:00.000Z","newItemCount": 3,"feeds": [{ "feedUrl": "https://www.nasa.gov/news-release/feed/", "fetched": 20, "newCount": 2 }],"items": [{"id": "...","feedUrl": "https://www.nasa.gov/news-release/feed/","title": "...","link": "...","published": "..."}]}
How to use
- Open the Actor on Apify Store and click Try for free
- Paste your public feed URLs into Feed URLs
- (Optional) Add a webhook URL and your own secret header value
- Click Start, or create a Schedule for recurring runs
- Download results from the Dataset tab or call the Apify API
Local development
cd public-rss-change-monitor# Edit storage/key_value_stores/default/INPUT.jsonapify run# Inspect storage/datasets/default/
Pricing suggestion
For the Apify Store listing, consider one of:
- Rental — monthly rental for teams that schedule many feeds
- Pay-per-event — charge per feed checked and/or per new item emitted (good for light users)
Compute usage stays low (HTTP fetch + parse). Exact pricing can be tuned after measuring platform run costs.
Legal & acceptable use
- Public RSS/Atom feeds only. Do not use this Actor on feeds that require login, cookies, API keys, or other authentication.
- Respect publisher terms of service and robots/rate-limit policies. Prefer reasonable schedules (e.g. every 15+ minutes) rather than aggressive polling.
- You are responsible for how you use the output (attribution, redistribution, downstream automation).
- This Actor does not bypass paywalls or scrape HTML article bodies beyond what the feed already publishes.
Limitations
- Feeds that omit stable
guid/idmay fall back tolinkortitle|date; duplicates can appear if those fields change. - Very large feeds are truncated to
maxItemsPerFeed(default 50). - First run seeds state with current items — expect a burst of “new” rows once.
- Feed fetch failures are logged per URL; other feeds still process.
Changelog
0.1
- Initial release: multi-feed monitoring, KVS
seen-state, dataset output, optional webhook
Support
Open an issue on the Actor’s Apify page or contact the author through Apify Console messaging.