# Google News — Batch Search (`hunt_api/google-news`) Actor

Google News headline search: title, publisher URL, source, timestamp, snippet and position. Export structured results or connect through the Apify API.

- **URL**: https://apify.com/hunt\_api/google-news.md
- **Developed by:** [HuntAPI](https://apify.com/hunt_api) (community)
- **Categories:** News
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.81 / 1,000 successful search-pages

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/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

### Google News — Batch Search: what does it do?

Google News headline search: title, publisher URL, source, timestamp, snippet and position.

Get **structured results** in your Apify dataset, ready to use in spreadsheets, reports or another application. Run it from the input form or connect it to an automated workflow through the Apify API. **You do not need a supplier account or supplier API key.**

### ✨ What can you use it for?

- 🔎 **Research:** collect the available data for your chosen queries, identifiers or URLs.
- 📈 **Monitoring:** schedule runs in Apify to collect fresh observations over time.
- 🔌 **Automation:** retrieve results through the API and connect them to your existing tools.
- 📥 **Export:** download the dataset in JSON, CSV or other formats offered by Apify.

### 📊 What data can you get?

| Data | What you receive |
| --- | --- |
| 🏷️ **Title** | `title` · returned when available |
| 🔗 **URL** | `url` · returned when available |
| 📋 **Source** | `source` · returned when available |
| 📅 **Date** | `date` · returned when available |
| 📄 **Snippet** | `snippet` · returned when available |
| 📊 **Search position** | `position` · returned when available |

Optional fields depend on the individual result and may be empty. Each dataset row contains a **results array** for one search page, with the query and page number.

### 🚀 How to use Google News — Batch Search

1. Enter your query, identifier or URL in the **Input** form.
2. Choose the available location, language and result limits relevant to your request.
3. Click **Start** and wait for the run to finish.
4. Open **Dataset** to inspect your results or download them.

The run defaults are configured for you. Fresh-data runs require an eligible paid Apify plan.

#### Example input

```json
{
  "queries": [
    "artificial intelligence"
  ],
  "max_pages": 1,
  "max_results": 10,
  "queue_priority": "standard",
  "location": "United States",
  "language": "en"
}
```

You can submit multiple queries in the same run. Each query requests the supported search page. Location and language help you retrieve the relevant regional results.

### 💰 How much does it cost?

**Usage only: $0 fixed monthly charge and no Actor-start fee.** The Pricing tab shows the current rates for your Apify plan. Only successfully delivered output events are charged; empty output, errors and duplicates are not successful outputs.

| Charged event | Unit | From / 1,000 events |
| --- | --- | --- |
| successful-search-page | search-page | $6.8131 |

**One search page is one charged event.** Jobs, products or other records nested inside that page are not charged again. This release has no separately charged platform usage.

### 📦 Results and automation

Results appear in the default dataset. Use Apify’s export controls or retrieve the dataset through its API. For automation, start a run with your Apify token, wait for completion, then read the returned dataset ID.

The **run report** in key-value storage explains incomplete requests and errors. Queue-based requests may take time to finish. If the report supplies a `resume_run_id`, rerun the original input with that value to retrieve pending work without creating duplicate supplier tasks.

### ❓ Frequently asked questions

#### Do I need an external API key?

No. Supplier access is provided by this Actor. You only need your Apify account, and your Apify token if you run it through the API.

#### Does it return every possible field?

Google News headline search: title, publisher URL, source, timestamp, snippet and position. Full article text is not included.

#### Why did I receive fewer results than requested?

A result limit is a maximum, not a guarantee. Availability varies by query, location and website. Read the run report for incomplete work or errors. Only delivered successful output events are charged.

### 💬 Support

Open an issue on this Actor with the **run ID**, the operation you selected, and the result you expected. Include a redacted example input when useful. Never share passwords or API keys. This Actor is not affiliated with the websites it retrieves data from.

# Actor input Schema

## `resume_run_id` (type: `string`):

Resume run id.

## `max_pages` (type: `integer`):

Max pages. Stops at this limit.

## `max_results` (type: `integer`):

Max results. Stops at this limit.

## `concurrency` (type: `integer`):

Concurrency.

## `timeout_secs` (type: `integer`):

Timeout secs.

## `max_spend_usd` (type: `number`):

Max spend usd. Stops at this limit.

## `max_provider_units` (type: `integer`):

Max provider units. Stops at this limit.

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

Queries.

## `location` (type: `string`):

Location.

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

Language.

## `queue_priority` (type: `string`):

Queue priority.

## Actor input object example

```json
{
  "max_pages": 1,
  "max_results": 100,
  "concurrency": 2,
  "timeout_secs": 110,
  "max_spend_usd": 0.1,
  "max_provider_units": 100,
  "location": "United States",
  "language": "en",
  "queue_priority": "standard"
}
```

# Actor output Schema

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

No description

## `report` (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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("hunt_api/google-news").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("hunt_api/google-news").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 '{}' |
apify call hunt_api/google-news --silent --output-dataset

```

## MCP server setup

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

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/1ehpGoAWGOmOtE0L6/builds/ReLwKGVylZ2to9NpA/openapi.json
