# RSS & Google News Scraper — AI Summary + Sentiment (`viralanalyzer/rss-news-intelligence`) Actor

Monitor any RSS/Atom feed and Google News in real time. Get AI summaries, sentiment analysis, keyword alerts, and source analytics. Track brand mentions, competitors, and breaking news for PR, media monitoring, and market research. Multi-language, clean JSON.

- **URL**: https://apify.com/viralanalyzer/rss-news-intelligence.md
- **Developed by:** [viralanalyzer](https://apify.com/viralanalyzer) (community)
- **Categories:** News, AI
- **Stats:** 34 total users, 8 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $10.50 / 1,000 article processeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## RSS & News Intelligence 📰 Real-Time News Monitoring with AI — $0.02/ Articles

> Monitor RSS feeds, Atom feeds, and Google News in real time. AI-powered article analysis, keyword tracking, and competitive media intelligence. Get alerts when your brand or competitors appear in the news.

### ✨ Features

| Feature | Description |
|---------|-------------|
| 📡 **RSS/Atom Reader** | Parse any RSS or Atom feed automatically |
| 📰 **Google News Search** | Search news by keyword, topic, or company name |
| 🤖 **AI Article Analysis** | Summarize articles, extract sentiment, classify topics |
| 🔍 **Keyword Monitoring** | Track specific terms across multiple sources |
| 🏷️ **Auto-Categorization** | Classify articles by industry, topic, or relevance |
| 📊 **Trend Detection** | Identify trending topics and media coverage spikes |
| 🌐 **Multi-Language** | Monitor news in Portuguese, English, Spanish, and more |
| ⏰ **Real-Time Alerts** | Schedule runs to catch breaking news fast |

### 🚀 What You Get

- **Full article data** — title, description, content, author, date, source
- **AI summaries** — concise 2-3 sentence summary of each article
- **Sentiment analysis** — positive/negative/neutral classification per article
- **Keyword matches** — highlighted mentions of tracked terms
- **Source analytics** — which media outlets cover your topics most
- **Clean structured data** — ready for dashboards, reports, or integrations

### 📋 Input Example

```json
{
    "feedUrls": [
        "https://feeds.bbci.co.uk/news/rss.xml"
    ],
    "googleNewsQueries": ["artificial intelligence", "bitcoin"],
    "googleNewsLanguage": "en",
    "googleNewsRegion": "US",
    "maxArticlesPerFeed": 50,
    "maxArticlesPerQuery": 20,
    "keywords": [],
    "dateFilter": "LAST_7D",
    "enableSentiment": true,
    "enableAiBriefing": false
}
```

### 📊 Output Example

Each article is a flat record:

```json
{
    "type": "article",
    "title": "Major special education support shake-up risks political backlash",
    "author": "BBC News",
    "source": "BBC News",
    "sourceType": "rss_feed",
    "categories": "Education",
    "pubDate": "Thu, 19 Feb 2026 01:32:15 GMT",
    "pubDateISO": "2026-02-19T01:32:15.000Z",
    "link": "https://www.bbc.co.uk/news/articles/...",
    "description": "The government is considering major changes...",
    "imageUrl": "https://ichef.bbci.co.uk/news/...",
    "sentiment": "negative",
    "sentimentScore": -0.33,
    "wordCount": 42,
    "hasImage": true,
    "scrapedAt": "2026-02-19T05:22:00.000Z"
}
```

### 💡 Use Cases

- **Media Monitoring** — Track brand mentions across news sources
- **Competitive Intelligence** — Monitor competitor press and announcements
- **Industry Research** — Stay on top of sector trends and breaking news
- **PR & Communications** — Measure media coverage and sentiment
- **Content Strategy** — Find trending topics for content creation
- **Risk Management** — Detect negative coverage early and respond fast

### 💰 Pricing

This actor uses **Pay Per Event (PPE)** pricing:

| Metric | Cost |
|--------|------|
| `article-processed` | $0.02 per article |

**Example**: Scraping 1,000 articles costs $20.00.

### ❓ FAQ

**Q: What sources can it monitor?**
A: Any RSS or Atom feed URL plus Google News searches by keyword, language, and region.

**Q: Does it analyze sentiment?**
A: Yes — when `enableSentiment` is true each article gets a positive/negative/neutral label and score.

**Q: How do I track specific terms?**
A: Add them to `keywords`; matching mentions are highlighted per article.

**Q: Can I limit how far back it looks?**
A: Use `dateFilter` (e.g. `LAST_7D`) to restrict results to a recent window.

**Q: Am I charged for runs with no articles?**
A: No. Billing is per `article-processed`; a run that returns zero articles is not charged for results.

### ⚖️ Legal

This actor accesses publicly available RSS/Atom feeds and Google News results. It respects robots.txt and feed access policies. Use responsibly and in compliance with applicable laws.

***

## 🇧🇷 Português

### Inteligência RSS & Notícias 📰 Monitoramento de Notícias em Tempo Real com IA — $2/100 Artigos

> Monitore feeds RSS, Atom e Google Notícias em tempo real. Análise de artigos com IA, rastreamento de palavras-chave e inteligência de mídia competitiva.

### ✨ Funcionalidades

| Recurso | Descrição |
|---------|-----------|
| 📡 **Leitor RSS/Atom** | Parse automático de qualquer feed RSS ou Atom |
| 📰 **Busca Google Notícias** | Busque notícias por palavra-chave, tópico ou empresa |
| 🤖 **Análise IA de Artigos** | Resuma artigos, extraia sentimento, classifique tópicos |
| 🔍 **Monitoramento de Keywords** | Rastreie termos específicos em múltiplas fontes |
| 🏷️ **Auto-Categorização** | Classifique artigos por indústria, tema ou relevância |
| 📊 **Detecção de Tendências** | Identifique tópicos em alta e picos de cobertura |
| 🌐 **Multi-Idioma** | Monitore notícias em Português, Inglês, Espanhol e mais |
| ⏰ **Alertas em Tempo Real** | Agende execuções para captar breaking news rápido |

### 🚀 O Que Você Recebe

- **Dados completos** — título, descrição, conteúdo, autor, data, fonte
- **Resumos IA** — resumo conciso de 2-3 sentenças por artigo
- **Análise de sentimento** — classificação positivo/negativo/neutro
- **Matches de keywords** — menções destacadas dos termos rastreados
- **Analytics de fontes** — quais veículos cobrem mais seus temas
- **Dados estruturados** — prontos para dashboards, relatórios ou integrações

### 💡 Casos de Uso

- **Monitoramento de Mídia** — Rastreie menções da marca em fontes de notícias
- **Inteligência Competitiva** — Monitore press e anúncios de concorrentes
- **Pesquisa de Indústria** — Fique por dentro de tendências e breaking news
- **PR & Comunicação** — Meça cobertura de mídia e sentimento
- **Estratégia de Conteúdo** — Encontre tópicos em alta para criação de conteúdo
- **Gestão de Risco** — Detecte cobertura negativa cedo e responda rápido

### ❓ Perguntas Frequentes

**P: Quais fontes ele monitora?**
R: Qualquer URL de feed RSS ou Atom, além de buscas no Google Notícias por palavra-chave, idioma e região.

**P: Ele analisa sentimento?**
R: Sim. Com `enableSentiment` ativado, cada artigo recebe rótulo positivo/negativo/neutro e score.

**P: Como rastreio termos específicos?**
R: Adicione-os em `keywords`; as menções correspondentes são destacadas por artigo.

**P: Posso limitar o período?**
R: Use `dateFilter` (ex: `LAST_7D`) para restringir a uma janela recente.

**P: Sou cobrado por execuções sem artigos?**
R: Não. A cobrança é por `article-processed`; execução com zero artigos não é cobrada por resultados.

### 🔗 Related Actors

Combine with other actors from the [Viral Analyzer](https://apify.com/viralanalyzer) suite:

- [Competitor Intelligence Hub](https://apify.com/viralanalyzer/competitor-intelligence-hub) — Full competitive analysis with PR monitoring
- [Brand Visibility Tracker](https://apify.com/viralanalyzer/brand-visibility-tracker) — Track brand mentions and sentiment
- [Google Trends Scraper](https://apify.com/viralanalyzer/google-trends-scraper) — Discover trending topics to align news monitoring
- [Social Media Content Generator](https://apify.com/viralanalyzer/social-media-content-generator) — Turn news insights into social posts
- [Website Change Monitor](https://apify.com/viralanalyzer/website-change-monitor) — Track changes on competitor or industry websites

### ⚖️ Legal

Acessa feeds RSS/Atom e resultados do Google Notícias publicamente disponíveis. Respeita robots.txt e políticas de acesso. Use com responsabilidade.

***

### 📝 Changelog / Histórico de Versões

#### v1.0

- Initial release: RSS/Atom reader + Google News search / Lançamento inicial: leitor RSS/Atom + busca no Google Notícias
- Per-article sentiment analysis and keyword tracking / Análise de sentimento por artigo e rastreamento de palavras-chave
- Optional AI summaries and trend detection / Resumos com IA opcionais e detecção de tendências

# Actor input Schema

## `feedUrls` (type: `array`):

List of RSS or Atom feed URLs to monitor. Supports any valid RSS 2.0, RSS 1.0, or Atom feed.

## `googleNewsQueries` (type: `array`):

Keywords or phrases to search in Google News. Each query generates a separate Google News RSS feed.

## `googleNewsLanguage` (type: `string`):

Language for Google News results (ISO 639-1 code).

## `googleNewsRegion` (type: `string`):

Country/region for Google News results (ISO 3166-1 alpha-2).

## `keywords` (type: `array`):

Only include articles matching at least one of these keywords (case-insensitive). Leave empty to include all articles.

## `maxArticlesPerFeed` (type: `integer`):

Maximum number of articles to collect from each RSS/Atom feed.

## `maxArticlesPerQuery` (type: `integer`):

Maximum number of articles from each Google News search query.

## `dateFilter` (type: `string`):

Only include articles published within this time window.

## `enableSentiment` (type: `boolean`):

Run basic sentiment analysis on each article (positive/negative/neutral). No API key required — uses built-in heuristic with 50+ sentiment words in EN, PT, ES.

## `enableAiBriefing` (type: `boolean`):

Generate an AI-powered news briefing summarizing all collected articles. Requires a Gemini API key.

## `geminiApiKey` (type: `string`):

Google Gemini API key for AI briefing generation. Get one free at https://aistudio.google.com/app/apikey

## `proxyConfiguration` (type: `object`):

Optional proxy for fetching feeds. Usually not needed since RSS feeds are public.

## Actor input object example

```json
{
  "feedUrls": [
    "https://rss.nytimes.com/services/xml/rss/nyt/Technology.xml",
    "https://feeds.bbci.co.uk/news/technology/rss.xml",
    "https://techcrunch.com/feed/"
  ],
  "googleNewsQueries": [
    "Tesla",
    "cryptocurrency regulation",
    "startup funding"
  ],
  "googleNewsLanguage": "en",
  "googleNewsRegion": "US",
  "keywords": [
    "AI",
    "startup",
    "funding",
    "IPO"
  ],
  "maxArticlesPerFeed": 50,
  "maxArticlesPerQuery": 20,
  "dateFilter": "ANY",
  "enableSentiment": true,
  "enableAiBriefing": false
}
```

# Actor output Schema

## `results` (type: `string`):

Dataset containing all scraped results. Each item follows the dataset schema.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "feedUrls": [
        "https://rss.nytimes.com/services/xml/rss/nyt/World.xml",
        "https://feeds.bbci.co.uk/news/rss.xml"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("viralanalyzer/rss-news-intelligence").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "feedUrls": [
        "https://rss.nytimes.com/services/xml/rss/nyt/World.xml",
        "https://feeds.bbci.co.uk/news/rss.xml",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("viralanalyzer/rss-news-intelligence").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "feedUrls": [
    "https://rss.nytimes.com/services/xml/rss/nyt/World.xml",
    "https://feeds.bbci.co.uk/news/rss.xml"
  ]
}' |
apify call viralanalyzer/rss-news-intelligence --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=viralanalyzer/rss-news-intelligence",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/DHyTB85r6JnYTYPC6/builds/0O62aQHLGzpbTifBA/openapi.json
