# Google News Search & Autocomplete Scraper (`googleapi/google-news-autocomplete-scraper`) Actor

Collect Google News RSS story details or Google Suggest phrases, with optional bounded Google News RSS results nested under autocomplete suggestions. Google News RSS states feed use is limited to personal, non-commercial feed readers; review the live notice before use.

- **URL**: https://apify.com/googleapi/google-news-autocomplete-scraper.md
- **Developed by:** [Google API](https://apify.com/googleapi) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

Search public Google News RSS results or collect phrase suggestions from Google Suggest. Choose a mode:

- **News:** return story headlines and metadata from the Google News RSS feed.
- **Autocomplete:** return suggested phrases. You can optionally search Google News for a bounded number of suggestions and attach matching stories.

The Actor collects RSS story metadata; it does not fetch publisher pages or full publisher articles. The links and summaries in the feed should be treated as feed content, not as the underlying publisher article.

> **Google News RSS use notice:** News mode reads the Google News RSS feed, whose response includes a notice limiting the feed to personal, non-commercial feed readers. This Actor does not grant broader use rights. Check the notice and applicable terms before using RSS results. This note applies to News mode; autocomplete uses a separate Google Suggest endpoint.

### How to use

1. Choose `news` or `autocomplete` in `mode`.
2. Enter a query or a list of queries.
3. Set the result limit and language/region.
4. In autocomplete mode, optionally enable bounded Google News searches for returned suggestions.
5. Run the Actor and inspect the dataset.

Example: News results

```json
{
  "mode": "news",
  "query": "OpenAI",
  "maxItems": 10,
  "language": "en-US",
  "country": "US"
}
```

Example: suggestions with optional news stories

```json
{
  "mode": "autocomplete",
  "queries": ["OpenAI", "Google News"],
  "includeNewsResults": true,
  "maxNewsFollowUpRequests": 3,
  "maxNewsResultsPerSuggestion": 5,
  "maxItems": 10
}
```

### Input

| Input | Description | Default |
|---|---|---:|
| `mode` | `news` for Google News RSS or `autocomplete` for Google Suggest. | `news` |
| `query` / `queries` | One query or a list of queries. If omitted, the Actor uses `OpenAI`. | `OpenAI` |
| `keywords` / `searchQuery` | Compatibility aliases for search terms. | — |
| `includeNewsResults` | In autocomplete mode, search News for selected suggestions and nest story records. | `false` |
| `maxNewsFollowUpRequests` | Maximum suggestions to search in News across the run (0–10). | 3 |
| `maxNewsResultsPerSuggestion` | Maximum stories per suggestion (1–10). | 5 |
| `searchUrl` | Optional Google News RSS or Google Suggest URL with a query. Applies to one query. | — |
| `page` / `maxPages` | Both are fixed at 1; these sources do not offer supported page navigation. | 1 / 1 |
| `maxItems` | Maximum dataset rows across the run (1–100). | 10 |
| `language` / `country` | Language and region for results. Country accepts a two-letter code or `ALL`. | `en-US` / `US` |
| `proxyConfiguration` | Optional Apify Proxy configuration. | — |

The Input tab also includes response-size and request-header settings. News follow-up is available only in autocomplete mode.

### Output

#### News mode

Each dataset row represents an RSS story. Depending on the feed, it can include:

- Headline, RSS item identifier, and article link as supplied by the feed.
- Publisher name and publisher link.
- Summary and the full RSS description as text or cleaned markup when available.
- Publication date text and normalized date fields only when the source provides enough precision.
- Additional headlines and publisher names when a feed item groups related coverage.
- Headline and description text metrics, including extracted terms. These are derived from the text and are not Google-provided tags.

Example:

```json
{
  "title": "Example headline",
  "articleId": "story-123",
  "articleUrl": "https://news.google.com/rss/articles/example",
  "publisher": "Example News",
  "publisherUrl": "https://example.com/",
  "publishedAt": "Tue, 01 Jan 2030 00:00:00 GMT",
  "publishedAtUtc": "2030-01-01T00:00:00.000Z",
  "description": "A short summary from the RSS feed.",
  "headlineTerms": ["example", "headline"]
}
```

#### Autocomplete mode

Each row contains a suggestion phrase and any type or subtype labels Google Suggest supplies. If `includeNewsResults` is enabled, a `newsResults` array contains the matching RSS story fields described above. Suggestions alone are not emitted as news articles.

The Output tab shows the available result fields. Run summary information is available with the run output in Apify.

### Limits and responsible use

Google may vary suggestions, story metadata, dates, and available fields by query and region. Results do not include full publisher articles, and article destinations are not visited. Use content according to the applicable source notice and terms. This Actor is not affiliated with Google.

# Actor input Schema

## `query` (type: `string`):

One public news or autocomplete query. If no query field is supplied, the runtime uses OpenAI as its single-query default.

## `queries` (type: `array`):

Multiple public news or autocomplete queries.

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

Compatibility alias for the queries array.

## `searchQuery` (type: `string`):

Compatibility alias for one public query.

## `mode` (type: `string`):

Use news for Google News RSS (whose live notice limits feed use to personal, non-commercial feed readers) or autocomplete for the separate Google Suggest endpoint.

## `includeNewsResults` (type: `boolean`):

Autocomplete mode only. When enabled, search the same-target Google News RSS endpoint for returned suggestions and nest its source-backed rich story records. Disabled by default; publisher destinations are never fetched.

## `maxNewsFollowUpRequests` (type: `integer`):

Maximum number of unique autocomplete suggestions to search on Google News RSS across the run. Each search uses the configured timeout, byte limit, and retry limit; total HTTP attempts are bounded by this value multiplied by (maxRetries plus one).

## `maxNewsResultsPerSuggestion` (type: `integer`):

Maximum number of parsed Google News RSS stories nested under each enriched autocomplete suggestion.

## `searchUrl` (type: `string`):

Optional public Google News RSS search or Google Suggest complete/search URL containing a non-empty q parameter; applies to one query.

## `page` (type: `integer`):

Google News RSS and Google Suggest each return a single response without a supported page cursor; only page 1 is available.

## `maxPages` (type: `integer`):

These public endpoints do not expose reliable page navigation; the Actor requests one page per query.

## `maxItems` (type: `integer`):

Global maximum normal records emitted across all queries.

## `language` (type: `string`):

Google language or language-region code, such as en-US.

## `country` (type: `string`):

Two-letter Google country code, or ALL.

## `timeoutSecs` (type: `integer`):

Bounded timeout for a public endpoint request.

## `timeoutMs` (type: `integer`):

Compatibility alias for timeoutSecs; takes precedence when supplied. New inputs should use timeoutSecs.

## `requestDelayMs` (type: `integer`):

Polite delay in milliseconds between public queries.

## `maxRetries` (type: `integer`):

Retries for transient public request failures.

## `maxResponseBytes` (type: `integer`):

Bound the public response body read by the Actor.

## `userAgent` (type: `string`):

Optional transparent HTTP user-agent string.

## `acceptLanguage` (type: `string`):

Optional HTTP language preference.

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

Optional Apify Proxy configuration for public endpoint requests. Residential proxies are recommended when permitted; this does not bypass CAPTCHAs or access controls.

## Actor input object example

```json
{
  "mode": "news",
  "includeNewsResults": false,
  "maxNewsFollowUpRequests": 3,
  "maxNewsResultsPerSuggestion": 5,
  "page": 1,
  "maxPages": 1,
  "maxItems": 10,
  "language": "en-US",
  "country": "US",
  "timeoutSecs": 30,
  "requestDelayMs": 200,
  "maxRetries": 1,
  "maxResponseBytes": 2000000
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

## `summary` (type: `string`):

No description

## `runHealth` (type: `string`):

No description

# 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 = {
    "mode": "news",
    "page": 1,
    "maxPages": 1,
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("googleapi/google-news-autocomplete-scraper").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 = {
    "mode": "news",
    "page": 1,
    "maxPages": 1,
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("googleapi/google-news-autocomplete-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "mode": "news",
  "page": 1,
  "maxPages": 1,
  "maxItems": 10
}' |
apify call googleapi/google-news-autocomplete-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,googleapi/google-news-autocomplete-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/kay6AExdfljpCcyPg/builds/DcO8GwiX1OakPrSwi/openapi.json
