Skip to main content

The Search URL

Bright Data uses advanced parsing and access logic to provide you reliable response of search results, as fast as possible. We require that your search prefix will not carry any arguments in the URL before the q= argument. Relaying arguments before the q argument may result in delays in response and lower success rate. Example for correct URL witgl argument appended for search results in the US:
Example for incorrect URL, with gl argument preceding q argument.

How to search for a term comprised of multiple words?

When you issue the query, add a + charachter in between the words in your search term. So if you want to search for “pizza in paris” the search string shouild be: pizza+in+paris

Query parameters

Google now serves all search results exclusively through google.com and as such, any SERP API request sent to a different Google TLD (e.g., google.co.uk, google.ca) will automatically be routed through google.com.Localization is no longer determined by the TLD and should instead be configured solely using the gl (country) and hl (language) query parameters below:

gl

Two-letter country code used to define the country of search
gl

hl

Two-letter language code used to define the page languages
hl

tbm

Define search type. For regular search there is no need to use the tbm parameter while other types have a unique tbm value.

Example:

tbm=nws - news
tbm=vid - videos
tbm=lcl - Google Places (local search results)
For Image search, see the Images section.

udm

Example:

udm=1 - Google Places (local search results)
udm=28 - shopping
udm=39 - short videos

ibp

Use the ibp parameter for Jobs search type.

Example:

ibp=htl;jobs - Jobs

safe

Use the safe flag with values active or off to enable or disable safe search.

Example:

safe=active - Safe search is ON safe=off - Safe search is off

nfpr

Use the nfpr flag with values 1 to enable exact query search and disable auto correct to run search with similar term.

Example:

nfpr=1 - Exact match is “ON:?”

start

Define the result offset - results to start from the selected value. Used for managing pagination.

Examples:

start=0 (default) - first page of results
start=10 - second page of results
start=20 - third page of results, etc.

num

Deprecated by Google on September 11, 2025. The num parameter no longer sets how many Google results are returned.
  • Google now returns about 10 results per page. The result set size can vary.
  • Use the start parameter to paginate through the result set.
  • To get the top 100 results in one request, use the Get Top 100 Google Results feature.

uule

Stands for the encoded location you want to use for your search and will be used to change geo-location. A CSV with all available uule values can be downloaded here.The value of column “Canonical Name” from the CSV can be used as a raw string to the API

Example:

&uule=New+York,New+York,United+States

Using geographic coordinates for location BETA

You can provide a set of latitude , longtitude and radius as uule parameters, and Bright Data will compose a the closest possible uule encoded location for you.The format is uule=lat,lon,radius

Example - searching pizze with Eiffel Tower coordinates: Lat=48.8584, lon=2.2945 and radius=200:

brd_mobile

Define what device type to be represented in user-agent.
Default or brd_mobile=0 will provide random desktop user-agent while brd_mobile=1 will provide random mobile user-agent.
For specific mobile platform provide one of the following values:
brd_mobile=ios - iPhone user-agent (alias brd_mobile=iphone)
brd_mobile=ipad - iPad user-agent (alias brd_mobile=ios_tablet)
brd_mobile=android - Android phone
brd_mobile=android_tablet - Android tablet

brd_browser

Define what browser to be represented in user-agent.
Can be combined with brd_mobile to get according mobile browser.
Default will provide random browser.
For specific browser provide one of the following values:
brd_browser=chrome - Google Chrome
brd_browser=safari - Safari
brd_browser=firefox - Mozilla Firefox (not compatible with brd_mobile=1)

hotel_occupancy

Number of guests to book a room for (up to 4).
See brd_occupancy parameter of Hotels which provides more flexibility.

Examples:

hotel_occupancy=1 - for 1 guest
hotel_occupancy=2 (default) - for 2 guests

hotel_dates

Check-in date and check-out date, separated by comma.
Format: YYYY-MM-DD,YYYY-MM-DD

Examples:

hotel_dates=2022-05-01,2022-05-03 - find rooms available from 1st until 3rd of May, 2022

brd_ai_overview

Setting brd_ai_overview=2 will increase the likelihood of receiving Google’s Generative AI Overviews in your SERP responses, typically appearing in ~15-20%+ of results.
  • Expect an extra ~5-10 seconds of latency in SERP API’s response time with this query paramater, as it launches a browser to capture the entire AI Overview content.
  • To better trigger an AI Overview, your SERP keywords must be relevant to topics that Google considers suitable for generative responses.

Parsed AI Overviews Example

Headers

For the full list of SERP API request headers (session pinning, output format, rate-limit info), see SERP API features. The most useful header for Google Web search is x-unblock-data-format: parsed_light, which returns a parsed JSON limited to the top 10 organic results with approximately 50% lower latency than full JSON parsing.

Maps

Query parameters

gl

Two-letter country code used to define the country of search
gl

hl

Two-letter language code used to define the page languages
hl

geo params

Parameters defining GPS coordinates of a search location. It should be constucted the following way: @ + latitude + , + longitude + , + zoom.

Example:

@47.30227,1.67458,14.00z
The zoom parameter is optional but recommended for higher precision. It ranges from 3z, map completely zoomed out - to 21z, map completely zoomed in
Pagination parameters deprecated on December, 15th 2025.
To get all google maps information use our Scrapers.  Our scrapers library includes a google maps scraper which covers the full data retrieved from a google maps search. Direct scraper link (requires login to Bright Data) Goole Maps Scraper API

start [deprecated]

Define the result offset - results to start from the selected value. Used for managing pagination.

Examples:

start=0 (default) - first page of results
start=10 - second page of results
start=20 - third page of results, etc.

Deprecated by Google on September 11, 2025. The num parameter no longer sets how many Google results are returned.
  • Google now returns about 10 results per page. The result set size can vary.
  • Use the start parameter to paginate through the result set.
  • To get the top 100 results in one request, use the Get Top 100 Google Results feature.

fid

Get the results of a Google Maps Place by fid.Use GET request on http://www.google.com/maps/place/data=!3m1!4b1!4m2!3m1!1s with the fid value at the end.

brd_accommodation_type

Accomodation type: Hotels or Vacation Rentals.

Examples:

brd_accommodation_type=hotels (default) - search for Hotels
brd_accommodation_type=vacation_rentals - search for Vacation Rentals

brd_json

Bright Data custom parameter allowing to return parsed JSON instead of raw HTML

Examples:

brd_json=1 - return results in JSON
brd_json=html - return JSON with “html” field containing raw HTML

Headers

For the full list of SERP API request headers, see SERP API features. For Google Maps, set x-unblock-data-format: parsed_light to receive parsed JSON results with reduced latency:
Required Parameters
brd_json=1: Returns parsed JSON results (Trends supports parsed results only).
brd_trends=timeseries,geo_map: Retrieves widget data with best success rates.
We support only the “Trending now” tab within Google Trends. Other tabs (e.g. “Explore”, “Home”) are not supported as they require login access for full functionality.

Query parameters

To display specific widget data within your Google Trends results, use one of the following widget parameters:

timeseries

geo_map

For multiple widgets: Separate them with a comma. e.g. timeseries,geo_map

geo

Location of interest, two-letter country code

hl

Preferred language, two-letter language code

date

Time range to search.
Available values are:
now 1-H - Past hour
now 4-H - Past 4 hours
now 1-d - Past day
now 7-d - Past 7 days
today 1-m - Past 30 days
today 3-m - Past 90 days
today 12-m (default) - Past 12 months
today 5-y - Past 5 years
2020-07-01 2020-12-31 - custom date range

cat

Category to search within. By default, search within all categories.
You can find list of all categories here.

gprop

Google property to filter on. Defaults to web search.
Possible values are: images, news, froogle (for Google Shopping), youtube

Headers

For the full list of SERP API request headers, see SERP API features. Google Trends responses are always parsed JSON when brd_json=1 is set, so the x-unblock-data-format header is not needed for this endpoint. Use x-brd-session: <session-id> to pin requests to the same peer when running consecutive Trends queries.

Reviews

Query parameters

fid

Feature id what you want to fetch reviews to. fid parameter can be found in knowledge.fid field of google search response.

For example:

https://www.google.com/search?q=hilton%20new%20york%20midtown

hl

Preferred language, two-letter language code

sort

The way reviews are sorted.
Possible values are:
sort=qualityScore (default) - most relevant first
sort=newestFirst - newest first
sort=ratingHigh - highest rating first
sort=ratingLow - lowest rating first

filter

Filter keyword. Will respond with reviews that contain specified keyword only.

For Example:

filter=awesome - search for reviews containing ‘awesome’ word

start

Define the result offset - results to start from the selected value. Used for managing pagination.

Examples:

start=0 (default) - first page of results
start=10 - second page of results
start=20 - third page of results, etc.

num

Deprecated by Google on September 11, 2025. The num parameter no longer sets how many Google results are returned.
  • Google now returns about 10 results per page. The result set size can vary.
  • Use the start parameter to paginate through the result set.
  • To get the top 100 results in one request, use the Get Top 100 Google Results feature.

Headers

For the full list of SERP API request headers, see SERP API features. For Google Reviews, set x-unblock-data-format: parsed_light to receive parsed JSON results. Combine with x-brd-session: <session-id> to pin paginated review fetches (start) to the same peer.

Images

Google image search uses udm=2 (replaces deprecated tbm=isch since March 2026). Below are the parameters specific to image search.

Query parameters

gl

Two-letter country code used to define the country of search

hl

Two-letter language code used to define the page languages

udm

Use udm=2 to enter Google Image search.

safe

You can control the images’ search with 3 modes:
  1. off - This will display all images, even inapproproate ones.
  2. on or active - This mode will filter out from the results in appropriate results.
  3. images - This mode will show a blurred version of the inappropriate images.
Use safe=[mode] to get the required results.This is examples for blured images filter. 
We cannot publish inappropriate search terms in our documentation - so our default search term here will remain pizza . To see the actual impact, you need to modify the search term.

tbm [deprecated]

tbm=isch is deprecated since March 2026 and now redirects to udm=2. Use udm=2 instead.

tbs

Usage: tbs=isz:[l|m|i] to set preferred image size filter (large, medium, small).

Headers

For the full list of SERP API request headers, see SERP API features. For Google Image search, set x-unblock-data-format: parsed_light to receive parsed JSON results:

Lens

Query parameters

url

URL of image you want to search

hl

Preferred language, two-letter language code

upload

Upload an image named cat.jpg located in a current directory (not supported on async zones)

brd_lens

The brd_lens parameter in your request fetches specific Google Lens tab results by specifying a tab value (e.g. products, homework, visual_matches, exact_matches). brd_lens

Headers

For the full list of SERP API request headers, see SERP API features. For Google Lens, set x-unblock-data-format: parsed_light to receive parsed JSON results. When uploading an image as a file (POST to /v3/upload), x-brd-session: <session-id> is required to keep the upload and result fetch on the same peer.

Hotels

Query parameters

gl

Two-letter country code used to define the country of search

hl

Two-letter language code used to define the page language

brd_dates

Check-in date and check-out date, separated by comma.

Format:

YYYY-MM-DD,YYYY-MM-DD

Example:

2022-01-20,2022-02-05

brd_occupancy

Number of guests to book a room for (maximum 6 guests).

Examples:

brd_occupancy=1 - look for a room for 1 person
brd_occupancy=2 (default) - for 2 persons
brd_occupancy=3 - for 3 persons, etc.
Also supports a comma-separated list of integers where:
  • first value is a number of adult guests
  • subsequent values are ages of children

Format:

brd_occupancy=<number of adults>,<child 1 age>,<child 2 age>,...,<child N age>

Examples:

brd_occupancy=1,5,7,12 - for 1 adult and 3 children (5, 7 and 12 years old)
brd_occupancy=2,1,3 - for 2 adults and 2 children (1 and 3 years old)

brd_free_cancellation

Show only offers with free cancellation.

Examples:

brd_free_cancellation=true - with free cancellation
brd_free_cancellation=false (default) - show any offers

brd_accommodation_type

Accomodation type: Hotels or Vacation Rentals.

Examples:

brd_accommodation_type=hotels (default) - search for Hotels
brd_accommodation_type=vacation_rentals - search for Vacation Rentals

brd_currency

Currency to show prices at (3-letter code).

Examples:

brd_currency=USD - United States Dollars
brd_currency=EUR - Euro
brd_currency=INR - Indian Rupees

brd_mobile

Define what device type to be represented in user-agentDefault or brd_mobile=0 will provide random desktop user-agent while brd_mobile=1 will provide random mobile user-agent.
For specific mobile platform provide one of the following values:
brd_mobile=ios - iPhone user-agent (alias brd_mobile=iphone)
brd_mobile=ipad - iPad user-agent (alias brd_mobile=ios_tablet)
brd_mobile=android - Android phone
brd_mobile=android_tablet - Android tablet

brd_json

Bright Data custom parameter allowing to return parsed JSON instead of raw HTML

Examples:

brd_json=1 - return results in JSON
brd_json=html - return JSON with “html” field containing raw HTML

Headers

For the full list of SERP API request headers, see SERP API features. For Google Hotels, set x-unblock-data-format: parsed_light to receive parsed JSON results. Combine with x-brd-session: <session-id> to keep brd_dates and brd_occupancy queries pinned to a stable peer.

Flights

gl

Two-letter country code used to define the country of search

hl

Two-letter language code used to define the page language

tfs

String representing flight search parameters

curr

Defines the currency of returned prices