# Google Search Scraper (`burbn/google-search-scraper`) Actor

Fastest real-time Google Search scraper! Extract organic results, AI Overviews (SGE), community answers, and snippets. Supports city-level localization, time filters, and mobile/desktop emulation. Perfect for SEO tracking and SERP analysis.

- **URL**: https://apify.com/burbn/google-search-scraper.md
- **Developed by:** [Kevin](https://apify.com/burbn) (community)
- **Categories:** SEO tools, Automation, Developer tools
- **Stats:** 3 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.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 Search Scraper

**Scrape real-time Google Search results! Extract organic results, AI overviews, snippets, and more from Google Search. Get titles, URLs, snippets, sources, dates, and ranking positions for any search query. Filter by country, language, and number of results. Perfect for SEO research, SERP analysis, competitor monitoring, and market intelligence!**

### 📋 Table of Contents

- [✨ Key Features](#-key-features)
- [📊 Input Parameters](#-input-parameters)
- [📤 Output Data Structure](#-output-data-structure)
- [💡 Usage Examples](#-usage-examples)
- [🎯 Use Cases](#-use-cases)
- [❓ Frequently Asked Questions](#-frequently-asked-questions)
- [💬 Support](#-support)
- [🏷️ Tags](#️-tags)

---

### ✨ Key Features

| Feature | Description |
|---------|-------------|
| 🔍 **Organic Results** | Extract title, URL, snippet, and position for every search result |
| 🌐 **Source Info** | Get the source website name and displayed link for each result |
| 📅 **Date Extraction** | Capture publication dates when available |
| 🤖 **AI Overviews** | Extract Google's AI-generated summaries with reference links |
| 💬 **Community Answers** | Get answer counts and top answers from Reddit, Quora, StackExchange |
| 🌍 **Country Filtering** | Localize results to any country with ISO country codes |
| 🗣️ **Language Support** | Search in any language using ISO language codes |
| 📍 **City-Level Location** | Specify city-level location for precise local results |
| ⏱️ **Time Filtering** | Filter results by time period (hour, day, week, month, year) |
| 📱 **Device Emulation** | Get desktop or mobile search results |
| 🔢 **Custom Result Count** | Request 1-100 results per search |
| 📄 **Pagination** | Navigate through search result pages |
| 🎬 **Video Thumbnails** | Get base64 encoded thumbnails for video results |
| 🚫 **Auto-Correct Control** | Disable Google's spelling auto-correction |

---

### 📊 Input Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| **q** | String | ✅ Yes | - | Google search query (same as what you'd type in Google) |
| **start** | Integer | ❌ No | 0 | Starting position (0 for page 1, 10 for page 2, 20 for page 3, etc.) |
| **num** | Integer | ❌ No | 10 | Number of results to return (1-100). Every 10 results = 1 credit |
| **gl** | String | ❌ No | us | Two-letter ISO country code (us, gb, de, in, etc.) |
| **hl** | String | ❌ No | en | Two-letter ISO language code (en, de, es, fr, etc.) |
| **location** | String | ❌ No | - | City-level location (e.g., "London, England, United Kingdom") |
| **lr** | String | ❌ No | - | Language restrict filter (e.g., "lang_fr" or "lang_fr\|lang_de") |
| **tbs** | String | ❌ No | - | Time-based filter: qdr:h (hour), qdr:d (day), qdr:w (week), qdr:m (month), qdr:y (year) |
| **nfpr** | Enum | ❌ No | 0 | Disable auto-correction: 0 = enabled, 1 = disabled |
| **device** | Enum | ❌ No | desktop | Device type: desktop or mobile |
| **fetchAiOverviews** | Boolean | ❌ No | false | Include Google's AI-generated overview in results |
| **returnVideoThumbnail** | Boolean | ❌ No | false | Return base64 encoded video thumbnails |

#### Search Query Examples

````

✅ "how to build a website"
✅ "best programming languages 2025"
✅ "climate change effects"
✅ "site:github.com machine learning"
✅ "intitle:tutorial python web scraping"
✅ ""exact phrase" search example"

````

#### Supported Countries

Use ISO 3166-1 alpha-2 country codes:
- `us` - United States
- `gb` - United Kingdom
- `de` - Germany
- `in` - India
- `ca` - Canada
- `au` - Australia
- `fr` - France
- `es` - Spain
- `jp` - Japan
- `br` - Brazil
- And 200+ more...

---

### 📤 Output Data Structure

Each extracted search result contains comprehensive information organized into categories:

#### Core Result Data

| Field | Type | Description |
|-------|------|-------------|
| `position` | Number | Position in search results |
| `rank` | Number | Rank/ranking of the result |
| `title` | String | Title of the search result |
| `url` | String | Full URL of the result page |
| `displayedLink` | String | Displayed/shortened link as shown by Google |
| `snippet` | String | Description snippet shown in search results |
| `source` | String | Source website name |
| `date` | String | Publication date (when available) |

#### Community/Q&A Data

| Field | Type | Description |
|-------|------|-------------|
| `answersCount` | String | Number of answers (Reddit, Quora, etc.) |
| `topAnswer` | String | Preview of the top/best answer |

#### AI Overview Data (First Result Only)

| Field | Type | Description |
|-------|------|-------------|
| `aiOverviewText` | String | Full AI-generated overview text |
| `aiReferenceLinks` | String | Reference links used by AI overview |
| `aiReferenceLinksArray` | Array | Structured array of reference links with title, URL, source, date |

#### Search Metadata

| Field | Type | Description |
|-------|------|-------------|
| `searchQuery` | String | The original search query used |
| `searchCountry` | String | Country code used for the search |
| `searchLanguage` | String | Language code used for the search |

---

### 💡 Usage Examples

#### Example 1: Basic Search

Search for a topic with default settings:

```json
{
  "q": "how to build a website",
  "gl": "us",
  "hl": "en"
}
````

#### Example 2: More Results

Get 50 results for a broader search:

```json
{
  "q": "best programming languages 2025",
  "num": 50,
  "gl": "us",
  "hl": "en"
}
```

#### Example 3: Page 2 Results

Get the second page of results:

```json
{
  "q": "machine learning tutorials",
  "start": 10,
  "num": 10,
  "gl": "us",
  "hl": "en"
}
```

#### Example 4: Localized Search

Search in German for Germany-specific results:

```json
{
  "q": "beste Restaurants Berlin",
  "gl": "de",
  "hl": "de"
}
```

#### Example 5: Exact Search (No Auto-Correct)

Search for an exact term without Google correcting it:

```json
{
  "q": "progrmming lanuages",
  "nfpr": "1",
  "gl": "us",
  "hl": "en"
}
```

#### Example 6: With AI Overview

Search with Google's AI-generated overview:

```json
{
  "q": "climate change effects 2025",
  "fetchAiOverviews": true,
  "num": 20,
  "gl": "us"
}
```

#### Example 7: Time-Filtered Search

Get only results from the past week:

```json
{
  "q": "breaking news technology",
  "tbs": "qdr:w",
  "gl": "us",
  "hl": "en"
}
```

#### Example 8: City-Level Local Search

Search with precise city-level location:

```json
{
  "q": "best restaurants near me",
  "location": "London, England, United Kingdom",
  "gl": "gb",
  "hl": "en"
}
```

#### Example 9: Mobile Search Results

Get mobile-specific search results:

```json
{
  "q": "app development frameworks",
  "device": "mobile",
  "gl": "us",
  "hl": "en"
}
```

#### Example 10: Language-Restricted Search

Get results only in French and German:

```json
{
  "q": "artificial intelligence",
  "lr": "lang_fr|lang_de",
  "gl": "us",
  "hl": "en"
}
```

***

### 🎯 Use Cases

#### 🔍 SEO Research & Analysis

- **SERP Tracking** - Monitor search engine result pages for target keywords
- **Keyword Research** - Discover what ranks for specific search queries
- **Competitor Analysis** - Track competitor rankings across search terms
- **Content Gap Analysis** - Find topics your competitors rank for but you don't

#### 📊 Market Intelligence

- **Trend Analysis** - Track search results for emerging trends and topics
- **Brand Monitoring** - Monitor brand mentions across search results
- **Industry Reports** - Gather comprehensive data for industry research
- **Product Research** - Analyze search results for product-related queries

#### 📈 Content Marketing

- **Content Ideas** - Find popular content topics and formats
- **Source Discovery** - Identify authoritative sources in your niche
- **Snippet Optimization** - Analyze successful snippets for optimization
- **AI Overview Analysis** - Understand what triggers AI overviews

#### 🏢 Business Intelligence

- **Lead Generation** - Find businesses ranking for industry keywords
- **Directory Building** - Create curated link lists for any topic
- **Resource Compilation** - Gather relevant resources and references
- **Citation Building** - Find citation sources and reference materials

#### 🤖 Automation & Integration

- **Automated Reports** - Schedule regular SERP reports
- **Data Pipelines** - Feed search data into analytics platforms
- **Monitoring Alerts** - Set up ranking change notifications
- **API Integration** - Use with Apify API for custom workflows

***

### ❓ Frequently Asked Questions

#### General Questions

**Q: What is Google Search Scraper?**\
A: A powerful Apify actor that extracts real-time Google Search results including organic listings, AI overviews, snippets, source information, community answers, and ranking positions for any search query.

**Q: How many results can I get per search?**\
A: You can request up to 100 results per search using the `num` parameter. For more results, use pagination with the `start` parameter.

**Q: Is this scraper free to use?**\
A: The actor runs on the Apify platform. You'll need an Apify account and will be charged based on platform usage (compute units).

**Q: What data format does it output?**\
A: Data is exported in JSON, CSV, Excel, HTML, or XML format through Apify's dataset storage.

#### Search Questions

**Q: Can I use Google search operators?**\
A: Yes! You can use operators like `site:`, `intitle:`, exact phrase with quotes, exclusion with `-`, and more.

**Q: Can I search in different countries?**\
A: Yes, use the `gl` parameter with any ISO country code (e.g., "de" for Germany, "jp" for Japan, "br" for Brazil).

**Q: Can I search in different languages?**\
A: Yes, use the `hl` parameter with the ISO language code (e.g., "en" for English, "de" for German, "es" for Spanish).

**Q: How do I get more than 10 results?**\
A: Set the `num` parameter to your desired count (up to 100), or use pagination by incrementing the `start` parameter by 10 for each page.

#### Data Questions

**Q: What is the AI Overview?**\
A: Google's AI overview is an AI-generated summary that appears at the top of some search results. When available, our scraper extracts the full text and reference links.

**Q: Do I get community answers?**\
A: Yes! For results from platforms like Reddit, Quora, and StackExchange, we extract the answer count and top answer preview.

**Q: What's the difference between position and rank?**\
A: Both represent the ordering of results. Position is the sequential number, while rank is the ranking value from the search engine.

#### Technical Questions

**Q: How long does it take to run?**\
A: Typically 3-10 seconds per search query.

**Q: What if no results are found?**\
A: The scraper will return a record indicating no results were found for your search query.

**Q: Can I schedule regular runs?**\
A: Yes, use Apify's scheduler feature to run the actor at specific intervals (hourly, daily, weekly).

#### Export & Integration

**Q: What file formats are supported?**\
A: JSON, CSV, Excel (XLSX), HTML, XML, and RSS feed formats.

**Q: Can I integrate this with other tools?**\
A: Yes, use Apify's API or webhooks to integrate with your tools, dashboards, and workflows.

**Q: How do I download the extracted data?**\
A: Data is automatically saved to Apify dataset. You can download it from the platform or access via API.

***

### 💬 Support

#### Need Help?

- 📧 **Issues** - Report bugs through Apify platform
- 💡 **Feature Requests** - Submit enhancement suggestions
- 🤝 **Community** - Join Apify community for discussions

#### Troubleshooting

| Issue | Solution |
|-------|----------|
| "No results found" | Try broader search terms or different search query |
| Rate limit errors | The actor automatically handles this with retry logic |
| Invalid country code | Use ISO 3166-1 alpha-2 codes (us, gb, de, etc.) |
| Empty dataset | Check if your search query is valid |
| No AI overview | Not all queries trigger AI overviews — this is normal |

***

### 🏷️ Tags

`google search scraper`, `google scraper`, `search engine scraper`, `SERP scraper`, `google search api`, `search results scraper`, `SEO tool`, `SERP analysis`, `keyword research`, `google organic results`, `AI overview scraper`, `google snippet extractor`, `search ranking tracker`, `competitor analysis`, `market research`, `brand monitoring`, `content research`, `web search api`, `search data extractor`, `google search results`, `search engine data`, `SEO research`, `search analytics`, `google SERP data`, `organic search data`, `search position tracker`, `google AI overview`, `community answers scraper`, `reddit answers`, `quora answers`, `stackoverflow answers`

***

### 📊 Dataset Views

The actor provides 5 organized table views for easy data analysis:

1. **🔍 Search Overview** - Quick summary with position, title, URL, snippet, source, and date
2. **📊 Detailed Results** - Comprehensive data with rank, displayed link, answers, and community content
3. **🔗 URLs & Links** - Clean URL data with position, title, URL, displayed link, and source
4. **💬 Community Results** - Focus on Q\&A results from Reddit, Quora, StackExchange with answers
5. **🤖 AI Overview** - Google's AI-generated overview text and reference links

***

### 🚀 Get Started Now

**Ready to scrape Google Search results?**

1. 🔎 Enter your **search query** (e.g., "best programming languages 2026")
2. ⚙️ Configure **options** (country, language, result count, AI overview)
3. ▶️ Click **Start** to run the actor
4. 📥 Download your search data in JSON, CSV, Excel, or HTML format
5. Click ["Try for free"](https://apify.com?fpr=free-credits) to test the actor

**⭐ If this actor helps your workflow, please give it a star!**

***

**Made with ❤️ for Apify Platform** | **Built with ❤️ by Kevin**

**🔥 Start scraping Google Search results today!** | [View All Actors](https://apify.com/burbn)

# Actor input Schema

## `q` (type: `string`):

Enter your Google search query. This is the same text you would type into the Google search bar (e.g., 'best programming languages 2025' or 'how to build a website').

## `start` (type: `integer`):

The starting position of the results (0-indexed). Use 0 for the first page, 10 for the second page, 20 for the third, etc.

## `num` (type: `integer`):

Number of search results to return per request (1-100). Note: Every 10 results consumes 1 request credit.

## `gl` (type: `string`):

Two-letter ISO 3166-1 alpha-2 country code to localize search results (e.g., 'us' for United States, 'gb' for UK, 'de' for Germany, 'in' for India). This affects which country-specific results appear.

## `hl` (type: `string`):

Two-letter ISO 639-1 language code for the search interface and results (e.g., 'en' for English, 'de' for German, 'es' for Spanish, 'fr' for French).

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

Specify the origin location for search results at city level (e.g., 'London, England, United Kingdom' or 'New York, New York, United States'). This gives more precise local results than country code alone.

## `lr` (type: `string`):

Restrict results to pages written in specific languages. Use format 'lang\_xx' with pipe separator for multiple (e.g., 'lang\_fr' for French only, or 'lang\_fr|lang\_de' for French and German).

## `tbs` (type: `string`):

Advanced search parameters for time-based filtering. Examples: 'qdr:h' (past hour), 'qdr:d' (past day), 'qdr:w' (past week), 'qdr:m' (past month), 'qdr:y' (past year).

## `nfpr` (type: `string`):

Set to '1' to disable Google's automatic spelling correction and search exactly for the query as entered.

## `device` (type: `string`):

Choose which device type to emulate for the search. Mobile results may differ from desktop results.

## `fetchAiOverviews` (type: `boolean`):

Enable to include Google's AI-generated overview/summary in the search results when available.

## `returnVideoThumbnail` (type: `boolean`):

Enable to return base64 encoded image source for video result thumbnails.

## Actor input object example

```json
{
  "q": "best programming languages 2026",
  "start": 0,
  "num": 10,
  "gl": "us",
  "hl": "en",
  "nfpr": "0",
  "device": "desktop",
  "fetchAiOverviews": false,
  "returnVideoThumbnail": false
}
```

# Actor output Schema

## `searchOverview` (type: `string`):

Open the dataset view with a quick summary of all search results including position, title, URL, snippet, source, and date.

## `detailedResults` (type: `string`):

Open the dataset view with comprehensive result data including rank, displayed link, answers count, and community top answers.

## `urlsOnly` (type: `string`):

Open the dataset view with clean URL data including position, title, URL, displayed link, and source website.

## `communityResults` (type: `string`):

Open the dataset view focusing on community Q\&A results from Reddit, Stack Exchange, Quora, etc. with answer counts and top answers.

## `aiOverview` (type: `string`):

Open the dataset view with Google's AI-generated overview text and reference links when available.

# 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 = {
    "q": "best programming languages 2026",
    "gl": "us",
    "hl": "en"
};

// Run the Actor and wait for it to finish
const run = await client.actor("burbn/google-search-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 = {
    "q": "best programming languages 2026",
    "gl": "us",
    "hl": "en",
}

# Run the Actor and wait for it to finish
run = client.actor("burbn/google-search-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 '{
  "q": "best programming languages 2026",
  "gl": "us",
  "hl": "en"
}' |
apify call burbn/google-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Google Search Scraper",
        "description": "Fastest real-time Google Search scraper! Extract organic results, AI Overviews (SGE), community answers, and snippets. Supports city-level localization, time filters, and mobile/desktop emulation. Perfect for SEO tracking and SERP analysis.",
        "version": "1.0",
        "x-build-id": "Zvy70ZlKdffTAqopC"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/burbn~google-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-burbn-google-search-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/burbn~google-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-burbn-google-search-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/burbn~google-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-burbn-google-search-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": [
                    "q"
                ],
                "properties": {
                    "q": {
                        "title": "🔎 Search Query",
                        "minLength": 1,
                        "maxLength": 500,
                        "type": "string",
                        "description": "Enter your Google search query. This is the same text you would type into the Google search bar (e.g., 'best programming languages 2025' or 'how to build a website')."
                    },
                    "start": {
                        "title": "📄 Start Position",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "integer",
                        "description": "The starting position of the results (0-indexed). Use 0 for the first page, 10 for the second page, 20 for the third, etc.",
                        "default": 0
                    },
                    "num": {
                        "title": "🔢 Number of Results",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Number of search results to return per request (1-100). Note: Every 10 results consumes 1 request credit.",
                        "default": 10
                    },
                    "gl": {
                        "title": "🌍 Country Code",
                        "minLength": 2,
                        "maxLength": 2,
                        "type": "string",
                        "description": "Two-letter ISO 3166-1 alpha-2 country code to localize search results (e.g., 'us' for United States, 'gb' for UK, 'de' for Germany, 'in' for India). This affects which country-specific results appear.",
                        "default": "us"
                    },
                    "hl": {
                        "title": "🗣️ Interface Language",
                        "minLength": 2,
                        "maxLength": 5,
                        "type": "string",
                        "description": "Two-letter ISO 639-1 language code for the search interface and results (e.g., 'en' for English, 'de' for German, 'es' for Spanish, 'fr' for French).",
                        "default": "en"
                    },
                    "location": {
                        "title": "📍 Location (City Level)",
                        "type": "string",
                        "description": "Specify the origin location for search results at city level (e.g., 'London, England, United Kingdom' or 'New York, New York, United States'). This gives more precise local results than country code alone."
                    },
                    "lr": {
                        "title": "🌐 Language Restrict",
                        "type": "string",
                        "description": "Restrict results to pages written in specific languages. Use format 'lang_xx' with pipe separator for multiple (e.g., 'lang_fr' for French only, or 'lang_fr|lang_de' for French and German)."
                    },
                    "tbs": {
                        "title": "⏱️ Time-Based Search (Advanced)",
                        "type": "string",
                        "description": "Advanced search parameters for time-based filtering. Examples: 'qdr:h' (past hour), 'qdr:d' (past day), 'qdr:w' (past week), 'qdr:m' (past month), 'qdr:y' (past year)."
                    },
                    "nfpr": {
                        "title": "🚫 Disable Auto-Correction",
                        "enum": [
                            "0",
                            "1"
                        ],
                        "type": "string",
                        "description": "Set to '1' to disable Google's automatic spelling correction and search exactly for the query as entered.",
                        "default": "0"
                    },
                    "device": {
                        "title": "📱 Device Type",
                        "enum": [
                            "desktop",
                            "mobile"
                        ],
                        "type": "string",
                        "description": "Choose which device type to emulate for the search. Mobile results may differ from desktop results.",
                        "default": "desktop"
                    },
                    "fetchAiOverviews": {
                        "title": "🤖 Fetch AI Overviews",
                        "type": "boolean",
                        "description": "Enable to include Google's AI-generated overview/summary in the search results when available.",
                        "default": false
                    },
                    "returnVideoThumbnail": {
                        "title": "🎬 Return Video Thumbnails",
                        "type": "boolean",
                        "description": "Enable to return base64 encoded image source for video result thumbnails.",
                        "default": false
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
