Image Search

The google_search source is designed to retrieve Google Search results (SERPs). This sub-page specifically presents data related to Google Image Search. To explore other result types, read here: Web Search, News Search.

To scrape Google Image search, include the context:udm parameter with value set to 2 or context:tbm parameter with the value set to isch.

Explore output data dictionary for each Image SERP feature, offering a brief description, screenshot, parsed JSON code snippet, and a table defining each parsed field. Navigate through the details using the right-side navigation or scrolling down the page.

Request samples

In the examples below, we make a request to obtain Image search result pages for the search term adidas on the google.nl domain.

udm

curl 'https://realtime.oxylabs.io/v1/queries' \
--user 'USERNAME:PASSWORD' \
-H 'Content-Type: application/json' \
-d '{
        "source": "google_search",
        "domain": "nl",
        "query": "adidas",
        "parse": true,
        "context": [
            {
                "key": "udm",
                "value": "2"
            }
        ]
    }'

tbm

curl 'https://realtime.oxylabs.io/v1/queries' \
--user 'USERNAME:PASSWORD' \
-H 'Content-Type: application/json' \
-d '{
        "source": "google_search",
        "domain": "nl",
        "query": "adidas",
        "parse": true,
        "context": [
            {
                "key": "tbm",
                "value": "isch"
            }
        ]
    }'

We use synchronous Realtime integration method in our examples. If you would like to use Proxy Endpoint or asynchronous Push-Pull integration, refer to the integration methods section.

Request parameter values

Generic

Basic setup and customization options for scraping Google Image search results.

Parameter
Description
Default Value

source

Sets the scraper.

google_search

query

UTF-encoded keyword.

-

context: udm

To get Image search results, set value to 2. Find other accepted values here.

-

context: tbm

To get Image search results, set value to isch. Other accepted values: app, blg, bks, dsc, nws, pts, plcs, rcp, lcl.

-

render

Enables JavaScript rendering when set to html. More info.

-

parse

Returns parsed data when set to true. Explore output data dictionary.

false

callback_url

URL to your callback endpoint. More info.

-

user_agent_type

Device type and browser. The full list can be found here.

desktop

- mandatory parameter

- udm and tbm context parameters cannot be used together in a single scraping request; please select one of them. Using both simultaneously may lead to conflicts or unexpected behavior.

Google Advanced Search Operators

When scraping, you might find it useful to combine Google advanced search operators with your query. It enables you to customize the scope of the search, ensuring that the results are more relevant and focused. Explore these special commands here and here. See an example below.

{
    "source": "google_search",
    "query": "iphone 15 launch inurl:apple",
}

Localization

Adapt search results to specific geographical locations, domains, and languages.

Parameter
Description
Default Value

geo_location

The geographical location that the result should be adapted for. Using this parameter correctly is extremely important to get the right data. For more information, read about our suggested geo_location parameter structures here.

-

domain

Domain localization for Google. The full list of available domains can be found here.

com

locale

Accept-Language header value which changes your Google search page web interface language. More info.

-

Pagination

Controls for managing the pagination and retrieval of search results.

Parameter
Description
Default Value

start_page

Starting page number.

1

pages

Number of pages to retrieve.

1

Filtering

Options to filter and refine search results based on various criteria.

Parameter
Description
Default Value

context:safe_search

Safe search. Set to true to enable it.

false

context: tbs

tbs parameter. This parameter is like a container for more obscure google parameters, like limiting/sorting results by date as well as other filters some of which depend on the tbm parameter (e.g. tbs=app_os:1 is only available with tbm value app). More info here.

-

Other

Additional advanced settings and controls for specialized requirements.

Parameter
Description
Default Value

context: fpstate

Setting the fpstate value to aig will make Google load more apps. This parameter is only useful if used together with the render parameter.

-

context: nfpr

true will turn off spelling auto-correction

false

Context parameters

All context parameters should be added to the context array as objects with key and value pairs, e.g.:

...
"context": [
    {
        "key": "filter",
        "value": "0"
    }
]
...

Structured data

SERP Scraper API is capable of extracting either an HTML or JSON object that contains Google search results, offering structured data on various elements of the results page.

google_search images structured output
{
    "results": [
        {
            "content": {
                "url": "https://www.google.com/search?q=adidas&tbm=isch&gbv=1&uule=w+CAIQICINdW5pdGVkIHN0YXRlcw&gl=us&hl=en",
                "results": {
                    "organic": [
                        {
                            "pos": 1,
                            "link": "/url?q=https://www.adidas.com/us/superstar-shoes/EG4958.html&sa=U&ved=2ahUKEwiP4pv98dH3AhUY8rsIHTP1C64QqoUBegQIAxAB&usg=AOvVaw1qdoyk_FXXss1qGlPCyT1k",
                            "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQaV6fadzwfHzBcTbF0i3Uat_MLSvoJ6702u7iONGGz2jwdItge9zQTi6gjhg&s",
                            "title": "Men's Superstar Cloud White...",
                            "domain": "www.adidas.com",
                            "pos_overall": 1
                        },
                        ...
                        {
                            "pos": 20,
                            "link": "/url?q=https://www.adidas.com/us/men-shoes&sa=U&ved=2ahUKEwiP4pv98dH3AhUY8rsIHTP1C64QqoUBegQIBRAB&usg=AOvVaw37cvHwAEOJFq55hDO1iXtw",
                            "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTiprl_ce5WWZHyY3fFm2iXpOkhiy3EoOMv7UnuRoZ3zvYcpOS1MCKlzIFuSes&s",
                            "title": "Men's Shoes & Sneakers |...",
                            "domain": "www.adidas.com",
                            "pos_overall": 20
                        }
                    ],
                    "search_information": {
                        "query": "adidas",
                        "showing_results_for": "adidas"
                    },
                    "suggested_searches": [
                        "logo",
                        "shoes",
                        "wallpaper",
                        "superstar",
                        "yeezy",
                        "stan smith",
                        "ultra boost",
                        "nmd",
                        "eqt",
                        "tubular"
                    ]
                },
                "parse_status_code": 12000
            },
            "created_at": "2022-05-09 07:26:14",
            "updated_at": "2022-05-09 07:26:18",
            "page": 1,
            "url": "https://www.google.com/search?q=adidas&tbm=isch&gbv=1&uule=w+CAIQICINdW5pdGVkIHN0YXRlcw&gl=us&hl=en",
            "job_id": "6929330677540195329",
            "status_code": 200,
            "parser_type": "v2"
        }
    ]
}

We only parse image search results for desktop searches.

Output data dictionary

HTML example

JSON structure

The Google Image Search structured output includes fields like URL, page, results, and others. The table below presents a detailed list of each SERP feature we parse, along with its description and data type. The table also includes some metadata.

The number of items and fields for a specific result type may vary depending on the search query.

Key (results.images)
Description
Type

url

The URL of the Google search page.

string

results

A dictionary containing the results of the search.

array

results.organic

A list of unpaid results with their respective details.

array

resaults.search_information

A list of details for the submitted search query.

object

results.suggested_searches

A list of suggested searches displayed right below the original search query.

array

parse_status_code

The status code of the parsing job. You can see the parser status codes described here.

integer

created_at

The timestamp when the scraping job was created.

timestamp

updated_at

The timestamp when the scraping job was finished.

timestamp

page

Page number relative to the Google SERP pagination.

integer

job_id

The ID of the job associated with the scraping job.

string

status_code

The status code of the scraping job. You can see the scraper status codes described here.

integer

In the following sections, parsed JSON code snippets are shortened where more than one item for the result type is available.

Organic

The Image Search organic section shows unpaid listings in Google's Image Search results, organized by relevance through Google's algorithm. These results are presented to users seeking visual content and are displayed in a dedicated section distinct from other search result types.

...
"organic": [
    {
        "pos": 1,
        "link": "/url?q=https://www.amazon.com/Ravensburger-Glitter-Unicorn-Together-Perfectly/dp/B08X4HRQQL&sa=U&ved=2ahUKEwi6suTk3_ODAxWNqZUCHToXDMkQqoUBegQICBAB&usg=AOvVaw0sGY22JL_Z1oVPkKfuOY-T",
        "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcROtE0idmQWj_8Mt5JJoiLUFyJRSU7VANreAOFSijiLH9HsB4H3IWw8j_SxtA&s",
        "title": "Amazon.com: Ravensburger...",
        "domain": "www.amazon.com",
        "pos_overall": 1
    },
...
]
...
Key (results.organic)
Description
Type

pos

A unique indicator denoting the image position in the list.

string

link

The URL to the site where the image is placed.

array

image

The URL of the image.

array

title

The title of the article where the image is placed.

object

domain

The domain of the site containing the image result.

array

pos_overall

A unique indicator denoting the image position in the list.

integer

Search information

search information is a section that provides details about the search query. It includes information such as the original search term and, if applicable, any auto-corrections made by Google.

...
"search_information": {
    "query": "unicorn",
    "showing_results_for": "unicorn"
},
...
Key (results.search_information)
Description
Type

query

The original search term.

string

showing_results_for

The search term the search results are shown for. query and showing_results_for may differ if Google auto-corrected the provided search term.

array

Suggested searches

The suggested_searches (array) in Google Image Search provides a list of suggested search terms related to the original query. Users can explore these additional search options to refine or expand their image search.

...
"suggested_searches": [
    "cute",
    "rainbow",
    "drawing",
    "glitter",
    "wallpaper",
    "galaxy",
    "kawaii",
    "easy",
    "clipart",
    "transparent"
]
...

Last updated