JustSERPDocs
Google

Google Images

Google's Images tab for a query: a hundred pictures with their source page, the suggestion chips above the grid and a `pagination.next`.

GET
/v1/google/images

Google's Images tab for a query: a hundred pictures with their source page, the suggestion chips above the grid and a pagination.next. Answers the document: search_metadata, search_parameters, search_information, images, suggestions, related_searches (the tab usually has none) and pagination. The picture's own address (original, with its width and height) is not answered: Google's page holds the grid and each item's source page but not that address, which comes in a request the page makes when an item is opened. page above 1 is a 400 (a plain load gets the first hundred images and no stable second batch). Desktop only.

Authorization

headerX-API-Key<token>

Your API key.

Query Parameters

cancel_token?string

A name you make up for this request (a UUID is fine), so you can later GET /v1/cancel with it. Only you know it, so only you can cancel. Use a new one for every request, retries included: a cancelled token stays cancelled for a few minutes.

Length1 <= length <= 128
q*string

What to search for.

Length1 <= length
location?string

A canonical place name, e.g. "Austin,Texas,United States" (becomes Google's uule). Not with uule.

uule?string

Google's own location value (w+CAIQ...). Not with location.

gl?string

Country of the search, two letters.

Default"us"
hl?string

Interface language, e.g. en, pt-br.

Default"en"
device?"desktop"

Only desktop: mobile and tablet are a 400.

Default"desktop"
Value in"desktop"
lr?string

Language of the documents, lang_fr or several lang_it|lang_de.

cr?string

Country of the documents, countryFR or several countryFR|countryDE.

nfpr?string

1 leaves out results for an auto-corrected spelling.

Default"0"
Value in"0""1"
filter?string

0 turns off Google's duplicate-content and host-crowding filters.

Default"1"
Value in"0""1"
safe?string

Adult-content filtering.

Default"blur"
Value in"active""blur""off"
time_period?string

Only pictures from this period.

Value in"last_hour""last_day""last_week""last_month""last_year"
size?string

large (isz:l), medium, icon, or larger_than_400x300, larger_than_640x480, larger_than_800x600, larger_than_1024x768, larger_than_2mp ... larger_than_70mp. Outside the list is a 400.

color?string

Colour filter.

Value in"color""black_and_white""transparent""red""orange""yellow""green""teal""blue""purple""pink""white""gray""black""brown"
image_type?string

Kind of picture.

Value in"clipart""line_drawing""gif""face""photo"
usage_rights?string

Licence filter.

Value in"creative_commons_licenses""commercial_or_other_licenses"
aspect_ratio?string

Shape of the picture.

Value in"square""tall""wide""panoramic"
tbs?string

Google's tbs as the caller writes it; not with the filter parameters.

page?integer

Only 1: above 1 is a 400.

Range1 <= value <= 1
Default1

Response Body

The results page, as the document. When the page could not be parsed, the usual envelope.

application/json
  1. response

The Images document. A block is present only when the page has it.

search_metadata?
search_parameters?

The request as sent, with the defaults that were used.

search_information?
suggestions?array<>

The chips above the grid.

images?array<>

A page holds 100.

related_searches?array<>

The tab usually has none.

pagination?
[key: string]?any
Example Request
curl -X GET 'https://api.justserp.com/v1/google/images?q=golden+gate+bridge'
Example Response
{  "search_metadata": {    "id": "string",    "status": "string",    "created_at": "string",    "request_url": "string",    "html_url": "string"  },  "search_parameters": {},  "search_information": {    "query_displayed": "string"  },  "suggestions": [    {      "title": "string",      "link": "string"    }  ],  "images": [    {      "position": 0,      "title": "string",      "source": {        "name": "string",        "link": "string"      },      "thumbnail": "string"    }  ],  "related_searches": [    {      "query": "string",      "link": "string"    }  ],  "pagination": {    "current": 0,    "next": "string"  }}