# Google News Scraper (`knowten/google-news-scraper`) Actor

Scrape Google News efficiently without a browser.

- **URL**: https://apify.com/knowten/google-news-scraper.md
- **Developed by:** [Knowten](https://apify.com/knowten) (community)
- **Categories:** News, Social media, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 per news records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## 📰 Google News Scraper - The Ultimate News Extraction Tool

Effortlessly scrape the latest news articles from Google News with this powerful, scalable, and highly affordable Actor! 🚀

Whether you need to monitor competitors, track industry trends, or aggregate global news, this scraper is your all-in-one solution. Stop worrying about technical hurdles and start extracting clean, structured data in minutes.

### 💎 Why Choose Our Google News Scraper?

- **Unbeatable Value**: Extract massive amounts of data without breaking the bank. At just **$2.5 USD per 1,000 articles**, it is by far the most cost-effective solution on the market.
- **Deep Extract Technology**: We go beyond the surface! Our "Deep Extract" feature fetches the **full descriptions** directly from the publisher's page and decodes the real URLs, giving you the complete picture instead of just tiny snippets.
- **Extract Massive Datasets**: Collect thousands of articles effortlessly. Our engine bypasses standard search limits so you can pull exactly the volume of data you need.

### ✨ Key Features

- 🔍 **Multi-Keyword Power**: Search multiple keywords in a single run.
- 📰 **Topic Tracking**: Scrape predefined categories (Business, Tech, Sports, etc.) seamlessly.
- 🌍 **Global Coverage**: Scrape news from virtually any country and language combination.
- ⏱️ **Timeframe Control**: Filter results by 1 hour, 1 day, 7 days, 1 year, or all time.
- 🖼️ **High-Quality Media**: Automatically fetch high-resolution images for each article.

### 💡 Use Cases

- **📊 Market Research & Competitor Analysis**: Track mentions of your competitors and identify market shifts.
- **🧠 Brand Monitoring & PR**: Know immediately when your brand, clients, or executives are mentioned in the news.
- **🗞️ News Aggregation**: Build custom news feeds for your portals, newsletters, or dashboards.
- **📈 Data Science & NLP**: Train models for sentiment analysis, topic detection, and financial predictions.

### 🛠️ How It Works

1. Set your search parameters (keywords, topics, language, and timeframe).
2. The Actor fetches and processes the data from Google News using our Deep Extract engine.
3. Results are saved directly to your Apify dataset, ready to download in JSON, CSV, Excel, or via API.

### 📝 Input Parameters

| Parameter | Description |
| --------- | ----------- |
| `maxArticles` | Maximum number of results to collect per source. |
| `keywords` | Your search terms (e.g., "artificial intelligence", "finance"). |
| `topics` | Predefined topics (e.g., "BUSINESS", "TECHNOLOGY"). |
| `region_language` | Country and language code (e.g., "US:en" for USA English). |
| `timeframe` | The time window (e.g., "1d" for past day, "1y" for past year). |
| `extractDeep` | Enable Deep Extract to fetch vast amounts of data and deep descriptions! |

### 📊 Output Example

The results will be wrapped into a dataset which you can always find in the Storage tab. You can download your data in JSON, JSONL, Excel, HTML table, CSV, or XML.

```json
[
  {
    "title": "Tech Giants Race to Dominate AI Market",
    "url": "https://www.reuters.com/technology/ai-market-race...",
    "source": "Reuters",
    "publishedAt": "2026-06-23T10:00:00+00:00",
    "publishedTimestamp": 1740273600000,
    "image": "https://www.reuters.com/images/og-image.jpg",
    "description": "Major tech companies are investing billions in new AI infrastructure to secure their position in the rapidly expanding artificial intelligence sector, according to new market reports...",
    "metadata": {
      "scrapeTimestamp": "2026-06-23T12:45:00.000Z",
      "keyword": "artificial intelligence"
    }
  }
]
````

Get started with Google News Scraper today and turn the world's news into your actionable data! 🚀📰

# Actor input Schema

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

Keywords to search for (e.g. 'bitcoin')

## `topic` (type: `string`):

Select a topic to search for.

## `timeframe` (type: `string`):

Select the time range for search results.

## `region_language` (type: `string`):

Select the country and language for the news results.

## `maxArticles` (type: `integer`):

Maximum number of articles to extract per topic/keyword.

## `extractDeep` (type: `boolean`):

Splits the timeframe into multiple parallel daily requests to bypass the 100 article limit. Best used with timeframes like 1m or 1y.

## `decodeUrls` (type: `boolean`):

If true, decoding of base64 URLs happens inside the Actor.

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

Select proxies to be used by your scraper.

## Actor input object example

```json
{
  "keywords": [],
  "topic": "",
  "timeframe": "1y",
  "region_language": "US:en",
  "maxArticles": 20,
  "extractDeep": false,
  "decodeUrls": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

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

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google News Scraper",
        "description": "Scrape Google News efficiently without a browser.",
        "version": "1.0",
        "x-build-id": "x0TTvvv7WdgpTvehG"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/knowten~google-news-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-knowten-google-news-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/knowten~google-news-scraper/runs": {
            "post": {
                "operationId": "runs-sync-knowten-google-news-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/knowten~google-news-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-knowten-google-news-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "region_language"
                ],
                "properties": {
                    "keywords": {
                        "title": "Keywords",
                        "type": "array",
                        "description": "Keywords to search for (e.g. 'bitcoin')",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "topic": {
                        "title": "Topic",
                        "enum": [
                            "",
                            "WORLD",
                            "NATION",
                            "BUSINESS",
                            "TECHNOLOGY",
                            "ENTERTAINMENT",
                            "SPORTS",
                            "SCIENCE",
                            "HEALTH"
                        ],
                        "type": "string",
                        "description": "Select a topic to search for.",
                        "default": ""
                    },
                    "timeframe": {
                        "title": "Timeframe",
                        "enum": [
                            "",
                            "1h",
                            "1d",
                            "7d",
                            "1m",
                            "1y"
                        ],
                        "type": "string",
                        "description": "Select the time range for search results.",
                        "default": "1y"
                    },
                    "region_language": {
                        "title": "Region and Language",
                        "enum": [
                            "AR:es-419",
                            "AU:en",
                            "AT:de",
                            "BE:fr",
                            "BE:nl",
                            "BO:es-419",
                            "BR:pt-419",
                            "CA:en",
                            "CA:fr",
                            "CL:es-419",
                            "CO:es-419",
                            "CR:es-419",
                            "CU:es-419",
                            "CZ:cs",
                            "DO:es-419",
                            "EC:es-419",
                            "EG:ar",
                            "SV:es-419",
                            "FR:fr",
                            "DE:de",
                            "GR:el",
                            "GT:es-419",
                            "HN:es-419",
                            "HK:zh-Hant",
                            "HU:hu",
                            "IN:en",
                            "IN:hi",
                            "ID:id",
                            "IE:en",
                            "IL:he",
                            "IT:it",
                            "JP:ja",
                            "LV:lv",
                            "LB:ar",
                            "LT:lt",
                            "MY:en",
                            "MX:es-419",
                            "NL:nl",
                            "NZ:en",
                            "NI:es-419",
                            "NG:en",
                            "NO:no",
                            "PA:es-419",
                            "PY:es-419",
                            "PE:es-419",
                            "PH:en",
                            "PL:pl",
                            "PT:pt-150",
                            "PR:es-419",
                            "RO:ro",
                            "RU:ru",
                            "SA:ar",
                            "SN:fr",
                            "RS:sr",
                            "SG:en",
                            "SK:sk",
                            "ZA:en",
                            "KR:ko",
                            "ES:es",
                            "SE:sv",
                            "CH:de",
                            "CH:fr",
                            "TW:zh-Hant",
                            "TH:th",
                            "TR:tr",
                            "UA:uk",
                            "AE:ar",
                            "GB:en",
                            "US:en",
                            "US:es-419",
                            "UY:es-419",
                            "VE:es-419",
                            "VN:vi"
                        ],
                        "type": "string",
                        "description": "Select the country and language for the news results.",
                        "default": "US:en"
                    },
                    "maxArticles": {
                        "title": "Max Articles per source",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of articles to extract per topic/keyword.",
                        "default": 20
                    },
                    "extractDeep": {
                        "title": "Deep Extraction (Time-Chunking)",
                        "type": "boolean",
                        "description": "Splits the timeframe into multiple parallel daily requests to bypass the 100 article limit. Best used with timeframes like 1m or 1y.",
                        "default": false
                    },
                    "decodeUrls": {
                        "title": "Decode URLs",
                        "type": "boolean",
                        "description": "If true, decoding of base64 URLs happens inside the Actor.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Select proxies to be used by your scraper."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
