News & RSS Monitor — Google Alerts Alternative
Pricing
from $10.00 / 1,000 deduplicated alert item emitteds
News & RSS Monitor — Google Alerts Alternative
Monitor topics and brands through GDELT and selected public feeds. Export deduplicated headlines, article links, matched queries, publisher details, and fresh-item flags for recurring news-monitoring workflows.
Pricing
from $10.00 / 1,000 deduplicated alert item emitteds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What is News & RSS Monitor — Google Alerts Alternative?
News & RSS Monitor watches topics, brands and competitors across a public news index and the RSS, Atom or JSON feeds you choose, and returns a dataset of deduplicated article alerts. Each row is one article with its title, URL, snippet, publish time, matched watch query, publisher, the sources that supplied it and an isNew flag that remembers what earlier runs already delivered. Communications teams, founders, analysts and AI agents use it as a scheduled, structured alternative to alert emails, with every item ready for a spreadsheet, a webhook or a review queue.
Why teams use it
- Only new articles on a schedule. A stable
alertIdplusdedupeAcrossRunsreturns each article once, withisNew: truefor fresh items. - Your own feeds alongside news search. Add publisher or trade feeds in
trustedSourcesand choosesourceModeto combine or isolate them. - Clear provenance.
sourceTypes,sourceNamesand asourcesarray name every feed or index that contributed an article. - Focused results.
excludeKeywordstrims noisy matches, andlookbackHourssets the news window from 1 hour to 7 days. - Structured, not email. Rows land in an Apify dataset you can export, query by API or hand to an agent.
Best fit for this Actor
- Designed for recurring news monitoring of an explicit watchlist: a brand, a few competitors, a product name or a topic.
- Best fit for daily or hourly saved tasks that push new articles to a spreadsheet, chat channel or dashboard.
- When you also want mentions from community sources such as Hacker News and Reddit, continue with Brand Mention Monitor for the same watch terms.
- For a one-off deep article search on a keyword, use Google News Scraper instead of a recurring alert.
- When you want sentiment scored on the coverage, then pass the brand to Brand Sentiment Analyzer.
Example workflow: a daily competitor news brief
A communications lead starts with her company name and two competitors in watchQueries, an alertId of competitor-news, lookbackHours set to 24 and maxItems at 25. She adds an industry trade feed in trustedSources and keeps sourceMode on gdeltAndFeeds. She saves the input as an Apify task and schedules it every morning. Each run returns only articles with isNew: true; a webhook feeds them into the team's chat channel, and at the end of the month she exports the dataset to compare how often each competitor appeared in the news.
Input
{"alertId": "daily-nasa-news","watchQueries": ["NASA"],"sourceMode": "gdeltAndFeeds","trustedSources": [{ "url": "https://www.nasa.gov/rss/dyn/breaking_news.rss", "name": "NASA News", "tags": ["science"] }],"lookbackHours": 24,"maxItems": 25,"excludeKeywords": ["sponsored"],"dedupeAcrossRuns": true,"includePreviouslySeen": false,"resetAlertState": false,"stateRetentionDays": 30}
| Field | Type | What it controls |
|---|---|---|
watchQueries | array | Required. One to five focused topics, brands or competitor names. |
alertId | string | Stable name for a recurring alert. The same ID shares deduplication state across runs. |
sourceMode | string | gdeltAndFeeds (public news index plus your feeds, default), gdeltOnly or feedsOnly. |
trustedSources | array | Up to twenty public feeds or pages that advertise a feed, each with url and optional name and tags. |
lookbackHours | integer | News window from 1 to 168 hours. Default 24. |
maxItems | integer | Alert items for the whole run, 1 to 100. Default 25. |
excludeKeywords | array | Literal terms that remove matching titles and snippets. |
dedupeAcrossRuns | boolean | Remember delivered articles for this alertId. Default true. |
includePreviouslySeen | boolean | Also return already-delivered items, still flagged by isNew. Default false. |
resetAlertState | boolean | Start a fresh alert history for one run. Default false. |
stateRetentionDays | integer | Days to remember article identities, 1 to 90. Default 30. |
Output
One dataset row per deduplicated article.
| Field | What it contains |
|---|---|
id, alertId | Stable article identity and the alert it belongs to |
title, url, snippet, publishedAt | Article headline, link, summary text and publish time |
matchedQueries | Watch queries that matched the article |
publisherName, publisherUrl | Publisher name and site when available |
sourceTypes, sourceNames, sourceTags, sources | Every source that supplied the article, with feed URLs and your tags |
language, sourceCountry, attributions | Language, country and attribution records when the source provides them |
isNew, collectedAt | First-seen flag for this alert and collection time |
{"id": "420ec31d089e6561f6be574a44b9f24c62e25f92d4a5a922d0f495f2ec680f32","alertId": "daily-nasa-news","title": "NASA Welcomes San Marino Signing the Artemis Accords","url": "https://www.nasa.gov/organizations/oiir/nasa-welcomes-san-marino-signing-the-artemis-accords/","matchedQueries": ["NASA"],"publisherName": "NASA","publisherUrl": null,"sourceTypes": ["rss"],"sourceNames": ["NASA News"],"sourceTags": ["science"],"snippet": "The Republic of San Marino became the 76th signatory to the Artemis Accords during a ceremony in the city of Rimini on Friday with NASA and U.S. Department of State officials present.","publishedAt": "2026-09-25T19:53:03.000Z","language": null,"sourceCountry": null,"collectedAt": "2026-09-26T13:07:41.771Z","isNew": true,"sources": [{"sourceType": "rss","sourceName": "NASA News","sourceUrl": "https://www.nasa.gov/rss/dyn/breaking_news.rss","feedUrl": "https://www.nasa.gov/news-release/feed/","feedType": "rss","provider": "Caller-provided public feed","attributionName": null,"attributionUrl": null,"tags": ["science"]}],"attributions": []}
Every run also writes OUTPUT and RUN_SUMMARY to the default key-value store. The outcome is COMPLETE when sources produced rows, PARTIAL when useful rows were saved alongside source notes, and VALID_EMPTY when the window held no new matching articles, which is a normal quiet day for a deduplicated alert.
Pricing
This Actor uses Pay per event with Apify platform usage included in the event price. You pay for:
- Actor Start, once per run.
- Deduplicated alert item emitted, once for each new article alert saved to the dataset.
Worked example: a daily alert with maxItems set to 25 that finds 9 new articles costs one Actor Start event plus 9 alert item events. A quiet day with no new articles costs only the Actor Start event. Check the live Pricing tab on this page for current event prices.
API example
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~google-alerts-alternative/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"alertId": "ai-company-news", "watchQueries": ["OpenAI", "Anthropic"], "lookbackHours": 24, "maxItems": 25}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("khadinakbar/google-alerts-alternative").call(run_input={"alertId": "ai-company-news", "watchQueries": ["OpenAI", "Anthropic"], "maxItems": 25})for article in client.dataset(run["defaultDatasetId"]).iterate_items():if article["isNew"]:print(article["publishedAt"], article["publisherName"], article["title"], article["url"])
Use it with AI agents (MCP)
Connect the Actor to Claude, ChatGPT, Cursor or another MCP client through Apify MCP and ask:
Monitor news about "OpenAI" and "Anthropic" for the last 24 hours with alert ID ai-company-news. Return the new articles with title, publisher, publish time and URL, and tell me the run outcome.
The agent reads article rows with get-dataset-items, checks OUTPUT.outcome, and can quote url and collectedAt as provenance for each item. Scope is the public news index plus the feeds you list, and maxItems caps both the dataset size and the cost of the run.
Best results
| Starting situation | Helpful action | Expected outcome |
|---|---|---|
| A brand with a common name | Use a quoted or more specific query, and add excludeKeywords | Fewer off-topic articles |
| A publisher you always want covered | Add its feed to trustedSources with a name and tags | That publisher's posts on every run |
| A daily schedule | Keep the same alertId and set lookbackHours to 24 | Each article delivered once |
| A full snapshot for a report | Set includePreviouslySeen to true | Fresh and earlier items together, each flagged by isNew |
| A changed watchlist | Use a new alertId or set resetAlertState for one run | A clean alert history |
Builder's note
I built this around one operational idea: a recurring alert is only useful when every item carries the query that matched it, the source that supplied it and a clear decision on whether it is new. I designed deduplication state to save only articles that were actually stored, so a schedule never quietly skips something. I found that teams trust an alert more when they can add their own publisher feeds, which is why feeds sit beside the public news index rather than behind it.
FAQ
Does it send emails?
The Actor writes a dataset. Pair it with a webhook, an Apify integration or your own notification step to send emails or chat messages.
How do I get only new articles each day?
Keep the same alertId, leave dedupeAcrossRuns on, and schedule the task. Each run returns articles it has not delivered before.
Can I monitor only my chosen feeds?
Yes. Set sourceMode to feedsOnly and list the feeds in trustedSources.
Responsible use
This Actor collects headlines, links and short snippets from public news sources and feeds you select. Monitor sources you are authorized to use, respect publisher rights and site terms, and keep downstream handling within applicable laws. Google Alerts is a trademark of its owner, and this independent Actor is not affiliated with or endorsed by Google or the news index it reads. For questions, open a ticket in the Issues tab.