AI News Research Agent | Cited Briefs, No API Key
Pricing
from $0.50 / brief or article pack delivered
AI News Research Agent | Cited Briefs, No API Key
Question in, cited news brief out. Google News, publisher RSS, Reddit and X, read in full and summarised by Claude: headlines, themes, anomalies, key actors, markdown report. No API key needed. Articles-only mode returns full-text articles with no model. Limited permissions, safe for agents and MCP.
Pricing
from $0.50 / brief or article pack delivered
Rating
0.0
(0)
Developer
Kirubel Abraham
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
7 days ago
Last modified
Share

AI News Research Agent: cited news briefs from Google News, RSS, Reddit and X
Ask a news question in plain English. Get back a cited, multi-source brief written by Claude, or skip the model and get the fresh articles with full text.
No API keys. No tokens to paste. Type the question, press Start. That is what makes it usable from an AI agent, an MCP client, a schedule, a webhook pipeline or a browser tab.
What you get
Intelligence brief (default). The model plans the research, the Actor finds and extracts the articles, the model reads every one and writes:
- An executive summary with citation markers
- The 5 most important headlines, each with a one-line reason
- 3 to 7 themes grouping related articles
- Anomalies: the surprising items, flagged with a reason
- Claims corroborated by several sources, and claims that rest on one source
- The people, companies and countries mentioned most
- The overall mood (positive, neutral, negative or mixed) with a breakdown
- 3 follow-up questions
- A full markdown report ready to paste into a doc, Slack or an email
- Every article with its summary, keywords, entities, sentiment, impact score and quotes
In the language you pick (English, Arabic, Chinese, Spanish, French, German, Russian, Japanese, Portuguese, Italian, Hindi, Korean, Turkish).
Articles only. No model at all. The Actor searches Google News and the big publishers' RSS feeds, drops duplicates and off-topic items, pulls the full text and returns one record with every article: title, URL, source, date, language, author, word count, text. The cheapest way to feed your own model, database or agent.
Example
Question: "What happened with oil prices this week?"
- Oil prices surged mid-week on Middle East geopolitical tensions, with Brent crudereaching $106.81/barrel by week's end and WTI climbing to $93.73/barrel [1,3,4,5].- Tanker attacks in the Strait of Hormuz intensified, with nine incidents reported,though Gulf oil exports have recovered to 81% of pre-war levels [1,4].- Strategic reserve releases by the IEA and G7 (100 million barrels) temporarilystabilized prices but failed to suppress the geopolitical risk premium [1]....Top headline: "Oil prices today: Brent, WTI rise" (cnbc.com, impact 9)Confidence: 0.82
That is a real run from October 2026 on the cheapest model setting. The full record also carried 6 themes, 3 anomalies and 9 key actors.
Who it is for
- Government and policy teams tracking global events
- Analysts who need a digest before a meeting
- PR, brand and crisis teams watching coverage of a company or a product
- Investor research on signals across markets
- Journalists tracking patterns across many sources
- Agents and pipelines that need fresh, clean news text without building discovery and extraction themselves
Why this and not a news scraper
| This Actor | Article extractor (Smart Article Extractor, Website Content Crawler) | Google News scraper | |
|---|---|---|---|
| You give it | A question | A list of URLs or a site to crawl | A keyword |
| Finds the articles | Yes: Google News, publisher RSS, Reddit, X | No, you bring the URLs | Yes, headlines and links only |
| Full article text | Yes | Yes | No |
| Reads and summarises | Yes, with citations | No | No |
| Cross-source corroboration | Yes | No | No |
| Keys to paste | None | None | None |
| Best for | A brief you can act on | Feeding your own pipeline | Headline monitoring |
If you already have the URLs and only need text, an extractor is cheaper. If you have a question and need an answer with sources, this Actor does the whole chain in one run. Articles mode sits in between: discovery plus extraction, no model.
Quick start
- Open the Actor in Apify Console.
- Type your question.
- Press Start.
Every other field has a sensible default. A brief takes 3 to 6 minutes. Articles only takes 1 to 3 minutes.
From an AI agent or MCP client
Call kay_abraham/news-intelligence-agent with { "userQuery": "your question" }. Add "outputMode": "articles" for raw articles. Nothing else is required. The Actor runs with limited permissions, so it never needs approval and never touches anything in the account beyond its own run.
From the API
curl -X POST "https://api.apify.com/v2/acts/kay_abraham~news-intelligence-agent/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{ "userQuery": "What happened with oil prices this week?" }'
On a schedule
Create a schedule in Console (for example every weekday at 07:00), point it at this Actor with your question, and set webhookUrl to a Slack or Teams incoming webhook. The markdown report arrives in the channel when the run finishes.
How the model is billed
Two paths. Pick by leaving the key field empty or filling it.
| No key (default) | Anthropic key given | |
|---|---|---|
| Who runs the model | Apify's OpenRouter proxy (apify/openrouter) | Anthropic, with your key |
| Who bills the tokens | Your Apify account, at OpenRouter token rates | Anthropic, on your Anthropic account |
| Setup | none | paste a key starting with sk-ant- |
| Spending cap | maxClaudeCost applies | maxClaudeCost applies |
Free Apify accounts pay a higher token rate on the proxy, so a free account is switched to Claude Haiku 5.5 unless you pick a model yourself. Paid accounts keep Sonnet 5.5 by default.
Articles mode uses no model, so there are no token costs at all.
What a run costs
Three parts, all on your Apify account:
- This Actor's events: $0.10 when a run starts and one "brief or article pack delivered" event per run at $0.80 on a free account, $0.70 on Starter, $0.60 on Scale and $0.50 on Business and above. That is $0.90 per brief on a free account and $0.60 on Business. The Pricing tab always shows the current numbers.
- Child Actors: Google News search, the RSS reader, Website Content Crawler for the full text, plus the Reddit and X scrapers when you turn them on. They are billed as your own usage.
- Model tokens: a few cents per brief on Haiku 5.5, around 10 to 40 cents on Sonnet 5.5, depending on the number of articles. Nothing in articles mode.
Every brief record carries billing and costEstimateUsd, so you can see the model spend of each run.
Input
| Field | What it does | Default |
|---|---|---|
| Your question | The research question in plain English. The only required field. | |
| What you want back | brief (model-written brief) or articles (full-text articles, no model) | brief |
| Anthropic API key | Optional. Leave empty to use Apify's OpenRouter proxy. | empty |
| Model | Claude Sonnet 5.5 (default), Haiku 5.5 (cheapest) or Opus 5.5 (most thorough); 4.x kept for saved tasks | Sonnet 5.5 |
| Custom model id | Any id the route serves, for example anthropic/claude-opus-6. Overrides the dropdown, so new Claude releases work without an Actor update. | empty |
| Output language | Language of the brief | English |
| Time window | last 24h, 7 days, 30 days, 90 days or custom dates | last 7 days |
| Research depth | shallow (3 queries), medium (5), deep (8) | medium |
| Max articles | Cap on articles analysed | 50 |
| Use direct RSS feeds | Reads the big publishers' feeds in addition to Google News | on |
| Include Reddit / X | Adds discussion and breaking signal from Reddit and X | off |
| Enrich with Wikipedia | Grounds entity names with Wikipedia context | off |
| Source selection mode | auto (model picks from a curated pool), manual (your list only) or hybrid | auto |
| Manual source list | Domains like bbc.com, apnews.com. Used in manual or hybrid mode, and in articles mode. | empty |
| Excluded sources | Domains to skip in both modes | empty |
| Semantic tags | Extra terms to weight, for example a company or product name | empty |
| Country focus | Countries to weight in source selection | empty |
| Translate to English | Translate non-English articles during analysis | on |
| Bypass paywalls | Sends search-crawler headers to sites that allow them | on |
| Custom instructions | Anything the model should keep in mind while planning and writing | empty |
| Max model spend per run | Hard cap on model tokens in USD | 5 |
| Analysis features | Toggle keywords, impact scores, sentiment, entities, quotes, themes, anomalies | all on |
| Webhook URL | POSTs the markdown report (or the article list) when the run finishes | empty |
| Apify API token | Advanced only. Not needed; the Actor runs on its own run token. | empty |
Output
One record per run in the default dataset.
Brief mode:
{"userQuery": "What happened with oil prices this week?","outputMode": "brief","executiveSummary": "- Oil prices surged mid-week ... [1,3,4,5]","topHeadlines": [{ "title": "...", "url": "...", "source": "cnbc.com", "impactScore": 9, "oneLineWhy": "..." }],"themes": [{ "name": "...", "summary": "...", "articleUrls": [], "averageImpactScore": 8 }],"anomalies": [{ "headline": "...", "why": "...", "url": "...", "impactScore": 7 }],"corroboratedClaims": [{ "claim": "...", "sourceCount": 3, "sourceUrls": [], "confidenceLabel": "high" }],"singleSourceClaims": [{ "claim": "...", "sourceUrl": "...", "notedAs": "unverified" }],"keyActors": [{ "name": "...", "type": "organization", "role": "...", "mentionCount": 5 }],"overallSentiment": { "summary": "negative", "breakdown": { "positivePct": 10, "neutralPct": 30, "negativePct": 60 }, "explanation": "..." },"relatedQuestions": ["...", "...", "..."],"confidenceScore": 0.82,"confidenceReason": "...","articles": [{ "title": "...", "url": "...", "source": "cnbc.com", "publishedAt": "...", "summary": "...", "keywords": [], "entities": {}, "sentiment": "negative", "impactScore": 8, "quotes": [] }],"sourceCoverage": { "totalArticlesIncluded": 18, "uniqueSources": 9, "sources": [], "languageBreakdown": { "en": 18 } },"sourceHealth": { "allSourcesAnswered": true, "summary": "google-news ok (8) · rss ok (81) · reddit off · x-twitter off · website-content-crawler (http) ok 36/39", "discovery": [], "extraction": [], "warnings": [] },"degraded": false,"warnings": [],"markdownReport": "# ...","billing": { "transport": "apify-proxy", "spentUsd": 0.07, "capUsd": 5 },"costEstimateUsd": { "modelTokens": 0.02, "totalSpentSoFar": 0.07 },"tokensUsed": { "input": 13145, "output": 12240 },"timings": {}}
Articles mode:
{"userQuery": "...","outputMode": "articles","articleCount": 23,"articles": [{ "title": "...", "url": "...", "source": "apnews.com", "publishedAt": "...", "language": "en", "author": "...", "wordCount": 740, "snippet": "...", "content": "full text" }],"sourceCoverage": {},"billing": { "transport": "none" },"timings": {}}
Under the hood
- Plan. The model turns the question into 3 to 8 search queries, a source list balanced across regions, and the criteria for impact and anomalies. Articles mode skips the model and builds the queries from the question and tags.
- Discover. Google News (
data_xplorer/google-news-scraper-fast) per query, publisher RSS feeds (automation-lab/rss-feed-reader), optionally Reddit and X. Results are deduplicated and ranked: sources a crawler can read go first, paywalled publishers (Reuters, Bloomberg, WSJ, FT, NYT) go last and fill at most a fifth of the queue, so a run is never built on URLs that return nothing. - Extract.
apify/website-content-crawlerin raw HTTP mode pulls the readable text. NYT, Bloomberg, FT and Al Jazeera URLs go to dedicated extractors in parallel. If coverage comes back short, a top-up wave extracts the reserve candidates, and a headless browser is the last resort for JavaScript-rendered pages. - Analyse. The model reads every article: summary, keywords, entities, sentiment, impact score, anomaly flag, quotes. Non-English text is translated when asked.
- Synthesise. The model clusters themes, corroborates claims across sources, ranks headlines and key actors, and writes the markdown report.
- Deliver. One record to the dataset, optional POST to your webhook.
Reliability
Built on one rule: a missing or failing source must announce itself.
- Three discovery channels and two extraction stacks. Google News per query, publisher RSS feeds and a web-search fallback find the candidates; Reddit and X add signal when switched on. Website Content Crawler reads pages over plain HTTP first and in a headless browser second, with dedicated extractors for NYT, Bloomberg, FT and Al Jazeera.
- Every child call gets one honest retry on a transient failure and none on a permission error. Nothing is retried blindly.
sourceHealthin every record lists each channel and extractor with its status and counts (google-news ok (8) · rss ok (81) · reddit off · website-content-crawler (http) ok 36/39).warningsholds whatever did not answer, andallSourcesAnsweredis the one flag to alert on.- A brief is delivered even when the model stumbles. If the final report fails twice, the run writes a degraded brief assembled from the per-article analysis (headlines by impact, anomalies, key actors, sentiment, references), marks the record
degraded: trueand explains why, instead of failing. - Max-articles, spend cap and run timeout bound every run. The Actor itself peaks under 100 MB.
What it does not do: break paywalls, crawl a site you name (use Website Content Crawler for that), or guarantee Reddit and X, which depend on third-party scrapers.
Permissions
The Actor runs with limited permissions: it can only read its own input, write its own dataset and key-value store, and start other limited-permission Actors on your account. It never reads your other storages, never needs your API token, and cannot change anything in your account. That is why an agent or MCP client can call it without an approval step.
Troubleshooting
- The brief cites fewer sources than expected. Widen the time window, raise the max articles, or add Reddit and X. Paywalled publishers rarely return text; the run already avoids leaning on them.
- "Model JSON parse failed". The model's answer was cut off. The run retries once with a compact brief; if it still fails, lower max articles or pick a bigger model.
- The run stopped at the spending cap. Raise
maxClaudeCost. The cap only covers model tokens. - A free account always gets Haiku. That is on purpose: the proxy charges free accounts a higher token rate. Pick the model explicitly, pass an Anthropic key, or upgrade the plan to keep Sonnet.
- Reddit or X returned nothing. Both are off by default and depend on third-party scrapers. The brief still runs on news and RSS.
FAQ
Does it need an OpenAI, Anthropic or OpenRouter key? No. The model runs through Apify's OpenRouter proxy and is billed to your Apify account. You can pass an Anthropic key if you prefer to be billed by Anthropic.
Can I use it as a Google News scraper with AI summary? Yes. That is the default brief mode: Google News plus publisher RSS, every article read in full, one summary with citations.
Can I use it for media monitoring or brand monitoring? Yes. Put the brand in the question and the semantic tags, run it on a daily schedule, and send the report to Slack through the webhook field.
Which languages? The brief can be written in 13 languages; sources in other languages are translated during analysis.
Does it scrape paywalled articles? It tries dedicated extractors for a few publishers and search-crawler headers for sites that allow them. It does not break paywalls. Sources that return no text are ranked last and never block the run.
Can an AI agent call it? Yes, through the Apify MCP server or the API. One required field, limited permissions, one record back.
How is it different from Website Content Crawler? Website Content Crawler needs URLs. This Actor finds the URLs from a question, then uses Website Content Crawler to read them, then has the model write the brief.
Changelog
- 0.4.18 (October 2026). Reliability pass: every source and extractor reports its status in
sourceHealth, one honest retry per child call, degraded brief instead of a failed run when the model cannot write the report, custom model id field so new Claude releases need no update. - 0.4.15 (October 2026). Claude 5.5 models: Sonnet 5.5 default, Haiku 5.5 for free accounts, Opus 5.5 for the most thorough briefs. Better and cheaper than the 4.x generation they replace; 4.x stays selectable for saved tasks.
- 0.4 (October 2026). No API keys: the model runs through Apify's OpenRouter proxy. Limited permissions, so agents and MCP clients can call it. New articles-only mode with no model. Website Content Crawler replaces the old extractor. Sources a crawler can read are ranked first and paywalled publishers are capped, every second search query runs without a site filter for source diversity, dedicated and generic extraction run in parallel, a top-up wave fills short coverage, and the Reuters route was dropped after it answered every request with a 401. Brief mode respects the max-articles cap before analysis and asks the model for a bounded brief past 15 articles, so long runs no longer hit the token cap. Default memory lowered to 1 GB (the Actor peaks under 100 MB).
- 0.3. Pay-per-event pricing, source tiers, quote extraction, anomaly detection.
Support
Open an issue on the Actor's Issues tab or write to the developer through the Apify Store contact form. Feedback on sources you want added is welcome.