Skip to main content
This guide uses the Scrapers (Datasets) to return Google SERP positions 1-100 in one request. You control language, geo-targeting, pagination depth, and device type. This is guides overcome the challenge in getting 100 results (n=100) after parameter deprecation by google.

Prerequisites

Before you begin, ensure you have:
  • An active Bright Data account
  • Your API key (found in your dashboard under Users and API keys)
  • Dataset ID: gd_mfz5x93lmsjjjylob
Pricing: One successful API call = one billable request, regardless of page depth. Retries are included; no bandwidth fees apply. See SERP Pricing & Billing for details.

Quick start

Try these examples to fetch the top 100 results in one request. Replace ${API_KEY} with your actual API key.

Test in Postman

Pre-configured collection for Google SERP top 100 results

How to send a basic request

This example returns approximately 100 results (10 pages × ~10 results per page):

Which parameters to use

Page ranges: Use start_page and end_page to control depth:
  • 1..2 ≈ Top 20 results
  • 1..5 ≈ Top 50 results
  • 1..10 ≈ Top 100 results
Smaller ranges complete faster and return smaller payloads.

AI Overview extraction

The API automatically captures Google’s AI Overview when available for your search query.

What is AI Overview?

AI Overview is Google’s AI-generated summary that appears at the top of search results. It provides quick answers synthesized from multiple sources.

Response field

The AI Overview text is returned in the aio_text field:
AI Overview availability: The aio_text field will be null or empty if no AI Overview is shown for your search.

Controlling AI Overview visibility

Use the collapse_aio parameter to control whether the AI Overview section is expanded or collapsed in the returned SERP. Collapsing AI Overview prevents it from pushing organic results down the page, which produces more stable pixel-position metrics and consistent layout data comparable to historical baselines.

Example processing

Understanding the async workflow

Scrapers is asynchronous. Here’s how it works:
  1. Trigger your request → receive a snapshot_id
  2. Monitor progress using the snapshot_id
  3. Download results when complete

Which API endpoints to call

Learn more about the async workflow in Asynchronous Requests.

Complete workflow example

How to configure advanced options

Batch multiple queries

Process multiple search queries in one request:

Mobile search results

Add "brd_mobile": true to get mobile SERP data:
cURL

Get results from the Web tab (udm=14)

The Google udm parameter defines which search tab the SERP comes from. The Bright Data SERP Scraper maps the native Google udm value to its own request parameter, udm_web. To return results from the Web tab (udm=14 on Google), set udm_web to true in your request:
The udm_web parameter cannot be combined with the tbm parameter.
cURL

Include HTML snapshots

Capture raw HTML alongside parsed data for auditing or custom parsing:
When enabled, results include pagination[].page_html for each page.

How to localize requests

Target specific markets with language and country combinations:

Frequently asked questions

You can choose which parsed fields to return for all pages. To also include raw HTML for each page, add "include_paginated_html": true to your request. This returns pagination[].page_html alongside parsed fields.
Yes. Use the collapse_aio boolean parameter to control AI Overview visibility:
  • collapse_aio=true, AI Overview is collapsed, keeping organic results in stable positions
  • collapse_aio=false, AI Overview is expanded (default behavior)
Collapsing AIO is useful when consistent pixel-position metrics or layout comparisons against historical data are required.
We now use a browser worker for SERP scraping. This reduces duplicate results, improves session continuity across pagination, and enables richer outputs (such as AI Overview). All existing requests remain backward-compatible.
One successful API call = one billable request, even when it returns 100+ results across 10 pages. Retries are included automatically, and there are no additional bandwidth fees. See SERP Pricing & Billing for full details.
  • language: Controls the UI language Google uses (e.g., "en", "de", "es")
  • country: Controls the geographic location for results (e.g., "US", "DE", "MX")
These can be combined independently to target specific markets.
Time varies based on query complexity and page depth. Smaller page ranges (e.g., 1..2) complete faster than larger ranges (e.g., 1..10). Use the Progress API to monitor your request status.
Common usages for tbs to filter by date are:
  • Past hour:  tbs=qdr:h
  • Past 24 hours: tbs=qdr:d
  • Past week:  tbs=qdr:w
  • Past month:  tbs=qdr:m
  • Past year:  tbs=qdr:y
     
You can also set a custom range using tbs=cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY
Example:
…&tbs=cdr:1,cd_min:1/1/2024,cd_max:2/1/2024

Next steps

Pricing & Billing

Understand how requests are billed

Google query parameters

Explore all available parameters

Parsed JSON results

Learn about the response structure

Asynchronous requests

Deep dive into the async workflow