# Google Search Scraper

Scrape Google SERP data by keyword, region, language, site, and file type. Use it as a no-code template or SERP API via Octoparse API/MCP.

- Template page: [https://www.octoparse.com/template/google-search-scraper](https://www.octoparse.com/template/google-search-scraper)
- Categories: Search Engine, Lead Generation
- Status: `PUBLISHED`
- Run mode: `CLOUD`

## Pricing

Current price: **$0.6/1,000 lines**. Billing is based on output rows; an Octoparse subscription may be required.

## What is an Octoparse template?

An Octoparse template is a ready-to-use scraping workflow with predefined inputs and structured outputs. Use the exact parameter keys below; do not invent parameters.

## Overview

This ready-to-use template collects structured data from search-results pages.

## Output

The current workflow extracts 36 fields, including `AIO_content`, `AIO_source_title`, `AIO_source_title_URL`, `AIO_source_title_description`, `Average_Rating`, `Current_Page`, `Current_time`, `Descriptipn`, `Detail_URL`, `Displayed_URL`, `Has_Next_Page`, `Paid_product_price`, `Paid_product_provider`, `Paid_product_title`, `Paid_title_URL`, `People_also_ask_answer`, `People_also_ask_date`, `People_also_ask_question`, `People_also_ask_title`, `People_also_ask_url`, `Position`, `Rating_Count`, `Related_Queries_Title`, `Related_Queries_URL`, `Result_type`, `Site_Link_Title1`, `Site_Link_Title2`, `Site_Link_Title3`, `Site_Link_Title4`, `Site_Link_URL1`, `Site_Link_URL2`, `Site_Link_URL3`, `Site_Link_URL4`, `Title`, `View_Count`, `input_params`.

## Use Cases

- Use structured results for research, comparison, and monitoring.
- Collect rows without building the extraction workflow from scratch.
- Combine results with other templates for downstream enrichment.
- Review a representative result before starting a large batch.

## Why Octoparse

- **No coding required:** complete All these words, This exact word or phrase, Any of these words and start the template in cloud mode.
- **Flexible export:** review and export results as CSV, Excel, or JSON.

## Input

### All these words

Required. Type the important words: tri-colour rat terrier Constraints: minItems=1; maxItems=100000; items.minLength=0; items.maxLength=10000.

### This exact word or phrase

Optional. Put exact words in quotes: "rat terrier" Constraints: minLength=0; maxLength=10000.

### Any of these words

Optional. Type OR between all the words you want: miniature OR standard Constraints: minLength=0; maxLength=10000.

### None of these words

Optional. Put a minus sign just before words that you don't want: -rodent, -"Jack Russell" Constraints: minLength=0; maxLength=10000.

### Search Language (optional)

Optional. Find pages in the language that you select. Constraints: minLength=0; maxLength=1000.

### Interface Language (optional)

Optional. Google supports more than 80 languages. The default interface language is English. For details, please check template Description - Input tab. Constraints: minLength=0; maxLength=1000.

### Region (optional)

Optional. Find pages published in a particular region. Constraints: minLength=0; maxLength=1000.

### Numbers ranging from (optional)

Optional. Put two full stops between the numbers and add a unit of measurement: 10..35 kg, £300..£500, 2010..2011 Constraints: minLength=0; maxLength=1000.

### Site or domain (optional)

Optional. Search one site (like wikipedia.org ) or limit your results to a domain like .edu, .org or .gov Constraints: minLength=0; maxLength=10000.

### Terms appearing (optional)

Optional. Search for terms in the whole page, page title or web address, or links to the page you're looking for. Constraints: minLength=0; maxLength=1000.

### File type (optional)

Optional. Find pages in the format that you prefer. Constraints: minLength=0; maxLength=1000.

### Usage rights (optional)

Optional. 使用权限 Constraints: minLength=0; maxLength=1000.

### Pagination times (optional)

Optional. "Pagination times" controls how many pages the scraper will go through (range: 1–30). It’s optional and defaults to 30 if left blank. Constraints: minimum=0, maximum=30.

### Last update (optional)

Optional. This optional parameter lets you filter results based on when the page was last updated. You can enter standard values like anytime, past 24 hours, past week, past month, or past year. You can also use custom shorthand formats such as d2 for the past 2 days, w2 for 2 weeks, m4 for 4 months, or y5 for 5 years. Constraints: minLength=0; maxLength=1000.

### Start Date

Optional. Search only for results from the specified date up to now (this parameter cannot be used together with Last update). Example: 2025-05-25 Constraints: minLength=0; maxLength=1000.

### End Date

Optional. Search only for results up to the specified date (this parameter cannot be used together with Last update). Example: 2025-05-29 Constraints: minLength=0; maxLength=1000.

## How to Use

# Google Search Scraper

Collects public Google Search result pages for entered queries and filters. Run it as a no-code template in Octoparse, or call it as a SERP API through the [Octoparse API](https://www.octoparse.com/open-api) or [MCP server](https://www.octoparse.com/mcp). Returns structured rows for SEO research, competitor monitoring, content research, and market analysis. No Google API key is required.

## Pricing

$0.60 per 1,000 output lines. Usage depends on the number of result rows produced. This is template-level usage; see [Octoparse plan pricing](https://www.octoparse.com/pricing) for account-level plans when calling through the API.

## Inputs

Fields map to Google advanced search operators ([Google dorks](https://www.octoparse.com/blog/google-dorks)).

- **All these words:** Main query. Use one query per line for multiple keywords.
- **This exact word or phrase:** Exact phrase in quotation marks.
- **Any of these words:** Alternatives with `OR`.
- **None of these words:** Exclude terms with a leading minus sign.
- **Numbers ranging from:** Numeric range with two periods and a unit when needed.
- **Search Language:** Language of pages to find.
- **Interface Language:** Language of Google’s interface.
- **Region:** Region for the search.
- **Pagination times:** Result pages to process. Public page states 1–30 and default 30.
- **Last update:** Filter by available update period.
- **Site or domain:** Restrict results to a site or domain.
- **Terms appearing:** Where terms appear, such as whole page, title, URL, or links.
- **File type:** PDF, DOC, PPT, XLS, RTF, or SWF.
- **Usage rights:** Available usage-rights filter.

## Output

- Query/content: `input_params`, `Title`, `Descriptipn`, `HTML`.
- URLs: `Detail_URL`, `Source_URL`, `Displayed_URL`.
- Position/pagination: `Current_Page`, `Has_Next_Page`, `Position`.
- Sitelinks: `Site_Link_Title1`–`Site_Link_Title4`, `Site_Link_URL1`–`Site_Link_URL4`.
- Ratings when present: `Average_Rating`, `Rating_Count`.

## How to use

1. [Create a free Octoparse account](https://www.octoparse.com/console/trial) or sign in.
2. Open [Google Search Scraper](https://www.octoparse.com/console/template/google-search-scraper) and select Try it!
3. Enter the main query in **All these words** and add advanced filters as needed.
4. Set **Search Language**, **Interface Language**, **Region**, and **Pagination times** when relevant.
5. Start the task in a supported Octoparse run mode.
6. Export structured rows as CSV, Excel, or JSON.

## Common uses

- **Rank tracking:** Compare `Position`, `Current_Page`, `Title`, and `Detail_URL` across repeated runs.
- **Competitor monitoring:** Use `Displayed_URL`, `Source_URL`, `Position`, and `Site_Link_URL1`–`Site_Link_URL4` to see which pages appear.
- **Content research:** Review result titles and descriptions for a topic.
- **Site and file discovery:** Combine **Site or domain**, **File type**, **Terms appearing**, and **Last update**.
- **Regional research:** Repeat queries with selected **Region** and **Search Language**.

## Limitations

- Collects public result-page data only. Does not provide Google Search Console performance data.
- Does not extract AI Overview panels, AI Mode answers, Google Ads Transparency Center listings, People Also Ask boxes, or Google’s Related Searches suggestions; use dedicated templates for those needs.
- Results vary by query, language, region, device, time, personalization, and available SERP modules.
- **Pagination times** is limited to 1–30 according to the public page; deeper coverage may not be available for every query.
- High request volume or repeated queries may trigger CAPTCHA or other interruptions; runs may slow down or require a retry.

## Tips

- Keep query, language, region, and **Pagination times** consistent when comparing runs.
- Start with a small query batch and review the first export before increasing page depth.
- Use `Detail_URL` and `Source_URL` to distinguish result destination from displayed or source domain.
- Deduplicate exports by query, URL, page, and position together, not title alone.
- Space out requests, limit pages per keyword, use cloud mode for IP rotation, and avoid repeating the same queries in a short timeframe. Built-in rate limiting and retry logic are included.

## Limitations

Results depend on what the source site exposes at run time. Fields may be empty when a source page does not provide a value. The template enforces the input limits shown above.

## Tips

Use specific, valid inputs and review a representative result before starting a large batch. Remove duplicate inputs when repeated records are not needed.

## FAQ

### What do I need to enter?

Use the exact inputs and limits listed above.

### What data does this template return?

See Output Schema below; availability can vary by source record.

### How is usage billed?

See the Pricing section above for current pricing and billing details.

## Related Templates

- [Google Search Scraper (Free)](https://www.octoparse.com/template/google-advanced-search)
- [Google Search Scraper (by time range)](https://www.octoparse.com/template/google-search-scraper-by-time-range)
- [Google Search Email Finder](https://www.octoparse.com/template/google-search-contact-scraper)
- [Google Search Email Finder (Premium)](https://www.octoparse.com/template/google-search-email-finder-premium)

## Input Schema

```json
{
  "title": "Google Search Scraper input",
  "description": "Input parameters configured for the current published template version.",
  "type": "object",
  "schemaVersion": 1,
  "additionalProperties": false,
  "properties": {
    "all_these_words": {
      "title": "All these words",
      "description": "Type the important words: tri-colour rat terrier",
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 0,
        "maxLength": 10000
      },
      "minItems": 1,
      "maxItems": 100000,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "this_exact_word_or_phrase": {
      "title": "This exact word or phrase",
      "description": "Put exact words in quotes: \"rat terrier\"",
      "type": "string",
      "minLength": 0,
      "maxLength": 10000,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "any_of_these_words": {
      "title": "Any of these words",
      "description": "Type OR between all the words you want: miniature OR standard",
      "type": "string",
      "minLength": 0,
      "maxLength": 10000,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "none_of_these_words": {
      "title": "None of these words",
      "description": "Put a minus sign just before words that you don't want: -rodent, -\"Jack Russell\"",
      "type": "string",
      "minLength": 0,
      "maxLength": 10000,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "search_Language": {
      "title": "Search Language (optional)",
      "description": "Find pages in the language that you select.",
      "type": "string",
      "minLength": 0,
      "maxLength": 1000,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "interface_Language": {
      "title": "Interface Language (optional)",
      "description": "Google supports more than 80 languages. The default interface language is English. For details, please check template Description - Input tab.",
      "type": "string",
      "minLength": 0,
      "maxLength": 1000,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "region": {
      "title": "Region (optional)",
      "description": "Find pages published in a particular region.",
      "type": "string",
      "minLength": 0,
      "maxLength": 1000,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "numbers_ranging_from": {
      "title": "Numbers ranging from (optional)",
      "description": "Put two full stops between the numbers and add a unit of measurement: 10..35 kg, £300..£500, 2010..2011\n",
      "type": "string",
      "minLength": 0,
      "maxLength": 1000,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "site_or_domain": {
      "title": "Site or domain (optional)",
      "description": "Search one site (like wikipedia.org ) or limit your results to a domain like .edu, .org or .gov",
      "type": "string",
      "minLength": 0,
      "maxLength": 10000,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "terms_appearing": {
      "title": "Terms appearing (optional)",
      "description": "Search for terms in the whole page, page title or web address, or links to the page you're looking for.",
      "type": "string",
      "minLength": 0,
      "maxLength": 1000,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "file_type": {
      "title": "File type (optional)",
      "description": "Find pages in the format that you prefer.\n",
      "type": "string",
      "minLength": 0,
      "maxLength": 1000,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "usage_rights": {
      "title": "Usage rights (optional)",
      "description": "使用权限",
      "type": "string",
      "minLength": 0,
      "maxLength": 1000,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "pagination_times": {
      "title": "Pagination times (optional)",
      "description": "\"Pagination times\" controls how many pages the scraper will go through (range: 1–30). It’s optional and defaults to 30 if left blank.",
      "type": "integer",
      "minimum": 0,
      "maximum": 30,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "last_update": {
      "title": "Last update (optional)",
      "description": "This optional parameter lets you filter results based on when the page was last updated. You can enter standard values like anytime, past 24 hours, past week, past month, or past year. You can also use custom shorthand formats such as d2 for the past 2 days, w2 for 2 weeks, m4 for 4 months, or y5 for 5 years.",
      "type": "string",
      "minLength": 0,
      "maxLength": 1000,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "start_Date": {
      "title": "Start Date",
      "description": "Search only for results from the specified date up to now (this parameter cannot be used together with Last update). Example: 2025-05-25",
      "type": "string",
      "minLength": 0,
      "maxLength": 1000,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "end_Date": {
      "title": "End Date",
      "description": "Search only for results up to the specified date (this parameter cannot be used together with Last update). Example: 2025-05-29",
      "type": "string",
      "minLength": 0,
      "maxLength": 1000,
      "x-octoparse": {
        "apiEnabled": true
      }
    }
  },
  "required": [
    "all_these_words"
  ]
}
```

## Input JSON Example

No verified real input/output examples are currently available.


## Output Schema

```json
{
  "schemaVersion": 1,
  "type": "object",
  "properties": {
    "AIO_content": {
      "type": "string",
      "description": ""
    },
    "AIO_source_title": {
      "type": "string",
      "description": ""
    },
    "AIO_source_title_URL": {
      "type": "string",
      "description": ""
    },
    "AIO_source_title_description": {
      "type": "string",
      "description": ""
    },
    "Average_Rating": {
      "type": "string",
      "description": ""
    },
    "Current_Page": {
      "type": "string",
      "description": ""
    },
    "Current_time": {
      "type": "string",
      "description": ""
    },
    "Descriptipn": {
      "type": "string",
      "description": ""
    },
    "Detail_URL": {
      "type": "string",
      "description": ""
    },
    "Displayed_URL": {
      "type": "string",
      "description": ""
    },
    "Has_Next_Page": {
      "type": "string",
      "description": ""
    },
    "Paid_product_price": {
      "type": "string",
      "description": ""
    },
    "Paid_product_provider": {
      "type": "string",
      "description": ""
    },
    "Paid_product_title": {
      "type": "string",
      "description": ""
    },
    "Paid_title_URL": {
      "type": "string",
      "description": ""
    },
    "People_also_ask_answer": {
      "type": "string",
      "description": ""
    },
    "People_also_ask_date": {
      "type": "string",
      "description": ""
    },
    "People_also_ask_question": {
      "type": "string",
      "description": ""
    },
    "People_also_ask_title": {
      "type": "string",
      "description": ""
    },
    "People_also_ask_url": {
      "type": "string",
      "description": ""
    },
    "Position": {
      "type": "string",
      "description": ""
    },
    "Rating_Count": {
      "type": "string",
      "description": ""
    },
    "Related_Queries_Title": {
      "type": "string",
      "description": ""
    },
    "Related_Queries_URL": {
      "type": "string",
      "description": ""
    },
    "Result_type": {
      "type": "string",
      "description": ""
    },
    "Site_Link_Title1": {
      "type": "string",
      "description": ""
    },
    "Site_Link_Title2": {
      "type": "string",
      "description": ""
    },
    "Site_Link_Title3": {
      "type": "string",
      "description": ""
    },
    "Site_Link_Title4": {
      "type": "string",
      "description": ""
    },
    "Site_Link_URL1": {
      "type": "string",
      "description": ""
    },
    "Site_Link_URL2": {
      "type": "string",
      "description": ""
    },
    "Site_Link_URL3": {
      "type": "string",
      "description": ""
    },
    "Site_Link_URL4": {
      "type": "string",
      "description": ""
    },
    "Title": {
      "type": "string",
      "description": ""
    },
    "View_Count": {
      "type": "string",
      "description": ""
    },
    "input_params": {
      "type": "string",
      "description": ""
    }
  },
  "title": "Google Search Scraper output",
  "description": "Initial output fields derived from the current published implementation. Field descriptions are maintained by Data Center; production field names and types should be refreshed from recent successful runs.",
  "additionalProperties": false
}
```

## Output Example

No verified real input/output examples are currently available.

## API

`POST https://openapi.octoparse.com/api/agentTools/executeTask`

This is the OpenAPI Agent Tools `executeTask` endpoint. Authenticate with a Bearer token.

Request body:

`templateName` is the template slug; `parameters` is a JSON object string whose keys match Input Schema; `taskName`, `idempotencyKey`, and `maxCollectedRows` are optional.

Obtain a token:

```http
POST https://openapi.octoparse.com/token
Content-Type: application/json

{
  "username": "YOUR_USERNAME",
  "password": "YOUR_PASSWORD",
  "grant_type": "password"
}
```

Use `data.access_token` as `Authorization: Bearer <token>`. After starting, poll `getTaskStatus` and export with `exportData`.

No verified real input/output examples are currently available.

## MCP Setup

Connect an MCP-compatible AI client to `https://mcp.octoparse.com` using browser OAuth or an Octoparse API key. Find `google-search-scraper`, inspect its inputs, create a cloud task with the exact Input Schema keys, and export JSON results.

## Machine-readable Resources

- [Template contract](https://www.octoparse.com/templates/google-search-scraper.json)
- [Manifest](https://www.octoparse.com/templates/google-search-scraper-manifest.json)
