# Google News Scraper – News Monitoring & Article Data Extractor (`epicscrapers/google-news-scraper`) Actor

Extract title, URL, source, publish date, and thumbnail image etc. Perfect for news monitoring, research, and media tracking workflows.

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

## Pricing

from $1.00 / 1,000 results

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

Gets featured articles from Google News with title, link, source, publication date and image.

### What does Google News Scraper do?

**Google News Scraper** is a powerful tool that queries the Google News RSS API to collect news article metadata—headlines, article URLs, publisher/source, publication timestamps, and preview image URLs. It can optionally fetch full article pages to decode final links and extract images.

This Actor is perfect for:
- **News aggregation** - Collect articles from multiple sources on specific topics
- **Media monitoring** - Track mentions of your brand, competitors, or industry keywords
- **Market research** - Analyze news trends and sentiment over time
- **Content curation** - Gather articles for newsletters or content platforms
- **Academic research** - Collect news data for analysis and studies

Unlike manually browsing Google News (which limits you to ~100 results per search), this Actor can retrieve significantly more results by automatically iterating through date ranges day by day.

### Why use Google News Scraper?

- **Bypass result limits** - Get more than the standard 100 results per search
- **Advanced search operators** - Use `intitle`, `inurl`, `site`, exact match, exclusions, and boolean operators
- **Date range filtering** - Search specific time windows or open-ended ranges (last hour, day, week, year)
- **Topic-based search** - Scrape predefined topics or use hashed topic IDs for specific sections
- **Multilingual support** - Search in 50+ languages and regions
- **Cost-effective** - Uses RSS API instead of browser automation for faster, cheaper runs
- **Flexible output** - Get simple RSS links or enriched data with decoded URLs and images

### How to use Google News Scraper

#### 1. Query-based search

Enter a search query as you would in Google News. You can use advanced operators:

| Operator | Example | Description |
|----------|---------|-------------|
| `intitle:` | `intitle:"AI"` | Find articles with keyword in title |
| `site:` | `site:bbc.com` | Search within specific site |
| `""` | `"climate change"` | Exact phrase match |
| `-` | `apple -fruit` | Exclude term |
| `AND` / `OR` | `AI AND (ethics OR regulation)` | Boolean operators |

**Example queries:**
- `intitle:"AI" AND site:forbes.com` - AI articles from Forbes
- `site:reuters.com "stock market" -crypto` - Stock market news excluding crypto
- `"Samsung Galaxy S25" AND (review OR comparison)` - Reviews or comparisons

#### 2. Topic-based search

Select predefined topics or use hashed topic IDs:

**Predefined topics:**
- WORLD 🌎, NATION 🚩, BUSINESS 🪙, TECHNOLOGY 💻, ENTERTAINMENT 🎸, SPORTS 🏒, SCIENCE 🧪, HEALTH 🧑‍⚕️

**Hashed topics:**
Copy topic IDs from Google News URLs for custom topics. Example:
````

CAAqJggKIiBDQkFTRWdvSUwyMHZNRGRqTVhZU0FtVnVHZ0pWVXlnQVAB/sections/CAQiQ0NCQVNMQW9JTDIwdk1EZGpNWFlTQW1WdUdnSlZVeUlOQ0FRYUNRb0hMMjB2TUcxcmVpb0pFZ2N2YlM4d2JXdDZLQUEqKggAKiYICiIgQ0JBU0Vnb0lMMjB2TURkak1YWVNBbVZ1R2dKVlV5Z0FQAVAB

````
This targets "Technology > Artificial Intelligence" section.

#### 3. Configure date range

**Option A: Fixed dates**
- `Date from`: 2024-01-01
- `Date to`: 2024-01-31

**Option B: Open-ended range**
- `1h` - Last hour
- `24h` - Last 24 hours
- `7d` - Last week
- `30d` - Last month
- `1y` - Last year

#### 4. Set language and region

Choose from 50+ options like:
- `US:en` - United States (English)
- `GB:en` - United Kingdom (English)
- `DE:de` - Germany (German)
- `FR:fr` - France (French)
- `JP:ja` - Japan (Japanese)

#### 5. Choose output detail level

**Fetch article details: ON**
- Decodes RSS links to actual article URLs
- Extracts preview images from article pages
- Slower but more informative

**Fetch article details: OFF**
- Returns RSS feed links only
- Much faster and cheaper
- No images, encoded URLs

### Input

| Field | Type | Required | Default | Description |
|-------|------|----------|---------|-------------|
| `query` | string | No | - | Search query with optional advanced operators |
| `topics` | array | No | [] | Predefined topics (WORLD, NATION, BUSINESS, etc.) |
| `topicsHashed` | array | No | [] | Hashed topic IDs from Google News URLs |
| `language` | string | Yes | US:en | Language and region pair |
| `maxItems` | integer | No | - | Maximum number of items to scrape |
| `fetchArticleDetails` | boolean | No | true | Decode RSS links and fetch images |
| `dateFrom` | string | No | - | Start date (YYYY-MM-DD) |
| `dateTo` | string | No | - | End date (YYYY-MM-DD) |
| `openEndedDateRange` | string | No | - | Open-ended range (e.g., 1h, 7d, 1y) |
| `proxyConfiguration` | object | No | `{useApifyProxy: true}` | Proxy settings |

#### Example Input (JSON)

```json
{
  "query": "intitle:\"artificial intelligence\" AND site:techcrunch.com",
  "language": "US:en",
  "maxItems": 50,
  "fetchArticleDetails": true,
  "openEndedDateRange": "7d",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
````

### Output

The Actor stores results in a dataset. You can download data in JSON, HTML, CSV, or Excel formats.

#### Output Schema

```json
{
  "title": "Article headline",
  "link": "Direct article URL (decoded if fetchArticleDetails=true)",
  "guid": "Unique article identifier",
  "source": "Publisher name (e.g., 'BBC News')",
  "sourceUrl": "Publisher website URL",
  "publishedAt": "2024-01-15T14:30:00.000Z",
  "loadedUrl": "Final URL after redirects",
  "rssLink": "Original RSS feed link",
  "image": "Preview image URL (if available)"
}
```

#### Example Output

```json
[
  {
    "title": "Web Scraping Optimization: Tips for Faster, Smarter Scrapers",
    "link": "https://hackernoon.com/web-scraping-optimization-tips-for-faster-smarter-scrapers",
    "guid": "CBMiiAFBVV95cUxQUXh5WVZ2RkNpNG9ndjF6V3hMRHBRTGRSVnNkelpwZDY2TWJzejBSMGZrRC1rSm5DZ1BxanpoeFFGdDRjWGpZR0tOUG9FY0kyeWFXOE9MSzBobTg1ajRiZzVhSWhtbm5nSVNJVWExSDBSaEFjUUJkT1JRRDJHSDBrMU9jU2ZZN3RN",
    "source": "hackernoon.com",
    "sourceUrl": "https://hackernoon.com",
    "publishedAt": "2024-11-15T08:00:00.000Z",
    "loadedUrl": "https://hackernoon.com/web-scraping-optimization-tips-for-faster-smarter-scrapers",
    "rssLink": "https://news.google.com/rss/articles/CBMiiAFBVV95cUxQUXh5WVZ2RkNpNG9ndjF6V3hMRHBRTGRSVnNkelpwZDY2TWJzejBSMGZrRC1rSm5DZ1BxanpoeFFGdDRjWGpZR0tOUG9FY0kyeWFXOE9MSzBobTg1ajRiZzVhSWhtbm5nSVNJVWExSDBSaEFjUUJkT1JRRDJHSDBrMU9jU2ZZN3RN?oc=5",
    "image": "https://hackernoon.imgix.net/images/0FC9YtxD4fbD3T7mPipOt4HSxY42-7y034nb.png"
  }
]
```

### Data table

| Field | Type | Description |
|-------|------|-------------|
| `title` | string | Article headline |
| `link` | string | Direct article URL |
| `guid` | string | Unique article identifier from RSS |
| `source` | string | News publisher name |
| `sourceUrl` | string | Publisher's website URL |
| `publishedAt` | string (ISO 8601) | Publication timestamp |
| `loadedUrl` | string | Final URL after following redirects |
| `rssLink` | string | Original Google News RSS link |
| `image` | string | Preview image URL (if fetched) |

### Pricing

This Actor is priced at **$20/month** with a **7-day free trial** (10,080 minutes).

**Cost estimation:**

| Scenario | Articles | With Article Details | Est. Cost |
|----------|----------|---------------------|-----------|
| Quick search | 100 | No | ~$0.01 |
| Medium search | 500 | Yes | ~$0.05-0.10 |
| Large search | 2000 | Yes | ~$0.20-0.40 |

*Note: Costs include Apify platform usage (compute units, proxy). Actual costs vary based on proxy type and run duration.*

**Tips to reduce costs:**

1. Set `fetchArticleDetails` to `false` if you only need RSS links (~10x faster)
2. Use `maxItems` to limit results
3. Use shorter date ranges for focused searches
4. Use the FREE plan's monthly credits for small runs

### Advanced Tips

#### Combining search methods

You can combine `query`, `topics`, and `topicsHashed` in a single run. The Actor will search each independently and merge results.

#### Finding hashed topic IDs

1. Go to [Google News](https://news.google.com)
2. Navigate to a topic or section
3. Copy the ID from the URL after `/topics/`
4. For sections, include the `/sections/` part too

#### Handling large result sets

If you need thousands of articles:

1. Set `maxItems` to your desired count
2. The Actor automatically iterates day-by-day when maxItems > 100
3. Use broader date ranges for historical data
4. Consider running multiple Actors with different queries in parallel

#### Language/region tricks

Get different perspectives on the same topic:

- Search US news in German: `language: DE:de` + US topic hash
- Search international news about Japan in English: `language: US:en` + Japan topic hash

### FAQ and Support

**Is scraping Google News legal?**
This Actor uses the public Google News RSS API, which is designed for syndication. However, you should:

- Respect robots.txt and terms of service
- Not overwhelm the service with excessive requests
- Use extracted data in compliance with copyright laws
- Consider data privacy regulations (GDPR, CCPA) when storing/processing data

**Why are some images missing?**
Images are extracted from article pages using Open Graph and Twitter Card metadata. Not all websites provide this data. The image URL comes directly from the publisher's site, not Google News.

**Can I get full article text?**
This Actor extracts metadata only. For full article text, use the extracted `link` field with a dedicated article scraper like [Smart Article Extractor](https://apify.com/lukaskrivka/article-extractor-smart).

**What if I get blocked?**
The Actor uses Apify Proxy by default. If you experience issues:

1. Check your proxy settings
2. Reduce concurrency (built-in default is conservative)
3. Use shorter date ranges
4. Enable `fetchArticleDetails` only when needed

**Need help?**

- Report issues via the [Issues tab](https://console.apify.com/actors/YOUR-ACTOR-ID/issues)
- Join [Apify Discord](https://discord.com/invite/jyEM2PRvMU) for community support
- Contact [Apify Support](https://support.apify.com) for platform issues

### Resources

- [Apify SDK for JavaScript documentation](https://docs.apify.com/sdk/js)
- [Crawlee documentation](https://crawlee.dev/)
- [Google Search Operators Guide](https://www.googleguide.com/advanced_operators_reference.html)
- [Apify Proxy documentation](https://docs.apify.com/platform/proxy)

# Actor input Schema

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

Enter search query as you would write it to Google News search bar. You can also use advanced search operators in your queries, such as 'intitle', 'inurl', 'site', exclude operator '-', exact match with double-quotes, 'AND', 'OR' and more. Example queries with advanced operators: 'intitle:samsung AND inurl:forbes', '"samsung galaxy s25" -ultra'. You may already know some of the operators from Google search or Apify's Google Search Scraper. For more information, see Google Guide on Search Operators.

## `topics` (type: `array`):

Select topics you want to search for using 'https://news.google.com/topics/' search. Note that your search query will not be combined with the selected topics but will be used as a standalone search. If you want to search for news only in the selected topics, leave the 'Search query' field empty.

## `topicsHashed` (type: `array`):

Specify topics you want to search for using hashed topic URLs. This field is useful when you want to search for topics that are not available in the 'Topics' field. You can find hashed topic URLs in the URL of the topic page on 'https://news.google.com/topics/{TOPIC\_HASH}'. The Actor also supports hashed sections URLs in the format 'https://news.google.com/topics/{TOPIC\_HASH}/sections/{SECTION\_HASH}'. For example, if you'd like to scrape the news from 'Technology' topic, section 'Artificial intelligence', you can use the following value (extracted from the section's URL): 'CAAqJggKIiBDQkFTRWdvSUwyMHZNRGRqTVhZU0FtVnVHZ0pWVXlnQVAB/sections/CAQiQ0NCQVNMQW9JTDIwdk1EZGpNWFlTQW1WdUdnSlZVeUlOQ0FRYUNRb0hMMjB2TUcxcmVpb0pFZ2N2YlM4d2JXdDZLQUEqKggAKiYICiIgQ0JBU0Vnb0lMMjB2TURkak1YWVNBbVZ1R2dKVlV5Z0FQAVAB'. Note that your search query will not be combined with the topics but will be used as a standalone search. If you want to search for news only in the specified topics, leave the 'Search query' field empty.

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

Select your language and region pair.

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

Set the maximum number of items you want to scrape. If you leave this field unset, the actor will extract all news available for your search criteria. If you set this field to value less than or equal to 100, date filter won't be used with your search query. Otherwise, the scraper will search news per individual days.

## `fetchArticleDetails` (type: `boolean`):

Check this option if you want to decode RSS links into actual article links and also fetch images from the article's page metadata. Please note that this option will increase the runtime of the actor because additional requests to article pages will be made. If you don't need decoded links and article images, you can leave this option unchecked and your run will be significantly faster and cheaper.

## `dateFrom` (type: `string`):

Set the starting date. Only the news published on this or newer date will be scraped. If `Open-ended date range` field is set, `Date from` and `Date to` fields will be ignored.

## `dateTo` (type: `string`):

Set the finish date. Only the news published on this date or before will be scraped. If `Open-ended date range` field is set, `Date from` and `Date to` fields will be ignored.

## `openEndedDateRange` (type: `string`):

Set the open-ended date range such as '1h' to scrape news published in the last hour, '2d' for the last two days, or '1y' for the last year. You can use any combination of numbers and letters 'h', 'd', and 'y' to specify the time range. If you set this field, the `Date from` and `Date to` fields will be ignored.

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

Use either automatic Apify proxies or your own.

## Actor input object example

```json
{
  "query": "AI breakthrough",
  "topics": [],
  "topicsHashed": [],
  "language": "US:en",
  "maxItems": 50,
  "fetchArticleDetails": false,
  "openEndedDateRange": "60d",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (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 = {
    "topicsHashed": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("epicscrapers/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 = { "topicsHashed": [] }

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google News Scraper – News Monitoring & Article Data Extractor",
        "description": "Extract title, URL, source, publish date, and thumbnail image etc. Perfect for news monitoring, research, and media tracking workflows.",
        "version": "1.0",
        "x-build-id": "wN4eWxbgtfL73dy9g"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/epicscrapers~google-news-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-epicscrapers-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/epicscrapers~google-news-scraper/runs": {
            "post": {
                "operationId": "runs-sync-epicscrapers-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/epicscrapers~google-news-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-epicscrapers-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": [
                    "language"
                ],
                "properties": {
                    "query": {
                        "title": "Search query",
                        "type": "string",
                        "description": "Enter search query as you would write it to Google News search bar. You can also use advanced search operators in your queries, such as 'intitle', 'inurl', 'site', exclude operator '-', exact match with double-quotes, 'AND', 'OR' and more. Example queries with advanced operators: 'intitle:samsung AND inurl:forbes', '\"samsung galaxy s25\" -ultra'. You may already know some of the operators from Google search or Apify's Google Search Scraper. For more information, see Google Guide on Search Operators.",
                        "default": "AI breakthrough"
                    },
                    "topics": {
                        "title": "Topics",
                        "type": "array",
                        "description": "Select topics you want to search for using 'https://news.google.com/topics/' search. Note that your search query will not be combined with the selected topics but will be used as a standalone search. If you want to search for news only in the selected topics, leave the 'Search query' field empty.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "WORLD",
                                "NATION",
                                "BUSINESS",
                                "TECHNOLOGY",
                                "ENTERTAINMENT",
                                "SPORTS",
                                "SCIENCE",
                                "HEALTH"
                            ],
                            "enumTitles": [
                                "WORLD 🌎",
                                "NATION 👥",
                                "BUSINESS 📈",
                                "TECHNOLOGY 💻",
                                "ENTERTAINMENT 🎸",
                                "SPORTS ⚽",
                                "SCIENCE 🧪",
                                "HEALTH 🩺"
                            ]
                        },
                        "default": []
                    },
                    "topicsHashed": {
                        "title": "Topics (hashed)",
                        "type": "array",
                        "description": "Specify topics you want to search for using hashed topic URLs. This field is useful when you want to search for topics that are not available in the 'Topics' field. You can find hashed topic URLs in the URL of the topic page on 'https://news.google.com/topics/{TOPIC_HASH}'. The Actor also supports hashed sections URLs in the format 'https://news.google.com/topics/{TOPIC_HASH}/sections/{SECTION_HASH}'. For example, if you'd like to scrape the news from 'Technology' topic, section 'Artificial intelligence', you can use the following value (extracted from the section's URL): 'CAAqJggKIiBDQkFTRWdvSUwyMHZNRGRqTVhZU0FtVnVHZ0pWVXlnQVAB/sections/CAQiQ0NCQVNMQW9JTDIwdk1EZGpNWFlTQW1WdUdnSlZVeUlOQ0FRYUNRb0hMMjB2TUcxcmVpb0pFZ2N2YlM4d2JXdDZLQUEqKggAKiYICiIgQ0JBU0Vnb0lMMjB2TURkak1YWVNBbVZ1R2dKVlV5Z0FQAVAB'. Note that your search query will not be combined with the topics but will be used as a standalone search. If you want to search for news only in the specified topics, leave the 'Search query' field empty.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "language": {
                        "title": "Language and region",
                        "enum": [
                            "US:en",
                            "SK:sk",
                            "AU:en",
                            "BW:en",
                            "CA:en",
                            "ET:en",
                            "GH:en",
                            "IN:en",
                            "ID:en",
                            "IE:en",
                            "IL:en",
                            "KE:en",
                            "LV:en",
                            "MY:en",
                            "NA:en",
                            "NZ:en",
                            "NG:en",
                            "PK:en",
                            "PH:en",
                            "SG:en",
                            "ZA:en",
                            "TZ:en",
                            "UG:en",
                            "GB:en",
                            "ZW:en",
                            "ID:id",
                            "CZ:cs",
                            "DE:de",
                            "AT:de",
                            "CH:de",
                            "AR:es-419",
                            "CL:es-419",
                            "CO:es-419",
                            "CU:es-419",
                            "ES:es",
                            "US:es-419",
                            "MX:es-419",
                            "PE:es-419",
                            "VE:es-419",
                            "BE:fr",
                            "CA:fr",
                            "FR:fr",
                            "MA:fr",
                            "SN:fr",
                            "CH:fr",
                            "IT:it",
                            "LV:lv",
                            "LT:lt",
                            "HU:hu",
                            "BE:nl",
                            "NL:nl",
                            "NO:no",
                            "PL:pl",
                            "BR:pt-419",
                            "PT:pt-150",
                            "RO:ro",
                            "SI:sl",
                            "SE:sv",
                            "VN:vi",
                            "TR:tr",
                            "GR:el",
                            "BG:bg",
                            "RU:ru",
                            "UA:ru",
                            "RS:sr",
                            "UA:uk",
                            "IL:he",
                            "AE:ar",
                            "SA:ar",
                            "LB:ar",
                            "EG:ar",
                            "IN:mr",
                            "IN:hi",
                            "BD:bn",
                            "IN:bn",
                            "IN:ta",
                            "IN:te",
                            "IN:ml",
                            "TH:th",
                            "CN:zh-Hans",
                            "TW:zh-Hant",
                            "HK:zh-Hant",
                            "JP:ja",
                            "KR:ko"
                        ],
                        "type": "string",
                        "description": "Select your language and region pair.",
                        "default": "US:en"
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Set the maximum number of items you want to scrape. If you leave this field unset, the actor will extract all news available for your search criteria. If you set this field to value less than or equal to 100, date filter won't be used with your search query. Otherwise, the scraper will search news per individual days."
                    },
                    "fetchArticleDetails": {
                        "title": "Fetch article details",
                        "type": "boolean",
                        "description": "Check this option if you want to decode RSS links into actual article links and also fetch images from the article's page metadata. Please note that this option will increase the runtime of the actor because additional requests to article pages will be made. If you don't need decoded links and article images, you can leave this option unchecked and your run will be significantly faster and cheaper.",
                        "default": false
                    },
                    "dateFrom": {
                        "title": "Date from (YYYY-MM-DD)",
                        "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}$",
                        "type": "string",
                        "description": "Set the starting date. Only the news published on this or newer date will be scraped. If `Open-ended date range` field is set, `Date from` and `Date to` fields will be ignored."
                    },
                    "dateTo": {
                        "title": "Date to (YYYY-MM-DD)",
                        "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}$",
                        "type": "string",
                        "description": "Set the finish date. Only the news published on this date or before will be scraped. If `Open-ended date range` field is set, `Date from` and `Date to` fields will be ignored."
                    },
                    "openEndedDateRange": {
                        "title": "Open-ended date range",
                        "pattern": "^$|^\\d+[hdy]$",
                        "type": "string",
                        "description": "Set the open-ended date range such as '1h' to scrape news published in the last hour, '2d' for the last two days, or '1y' for the last year. You can use any combination of numbers and letters 'h', 'd', and 'y' to specify the time range. If you set this field, the `Date from` and `Date to` fields will be ignored.",
                        "default": "60d"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Use either automatic Apify proxies or your own.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
