Skip to main content
To search for images instead of web pages, send a standard request to the Custom Search JSON API and add searchType=image. The API returns image results with dimensions, thumbnail URLs, and hosting context — everything you need to build an image search experience. All the standard filtering parameters (q, num, start, safe, lr, gl, siteSearch) work alongside the image-specific parameters documented below.

Endpoint

Request Parameters

Core Parameters (Required)

string
required
Your Google API key. Every request must include this parameter.
string
required
Your Programmable Search Engine ID. Image search must be enabled in the search engine settings at programmablesearchengine.google.com.
string
required
The image search query. Describe the visual content you want — for example "golden gate bridge sunset" or "python logo transparent".
string
required
Must be set to image to receive image results instead of web results. This is the only accepted value.

Pagination Parameters

integer
default:"10"
Number of image results to return. Accepted values are 1 through 10.
integer
default:"1"
Index of the first result. Use in combination with num to page through results. Maximum value is 91.

Image Filter Parameters

string
Restricts results to images of a specific size. Accepted values:
  • huge — Very large images.
  • icon — Icon-sized images.
  • large — Large images.
  • medium — Medium-sized images.
  • small — Small images.
  • xlarge — Extra-large images.
  • xxlarge — Extra-extra-large images.
string
Restricts results to images of a specific type. Accepted values:
  • clipart — Clip art images.
  • face — Images that contain faces.
  • lineart — Line drawings.
  • stock — Stock photography.
  • photo — Photographs.
  • animated — Animated GIFs.
string
Filters images by their color model. Accepted values:
  • color — Full-color images.
  • gray — Grayscale images.
  • mono — Black-and-white images (1-bit).
  • trans — Images with a transparent background.
string
Filters images by their dominant color. Accepted values:black, blue, brown, gray, green, orange, pink, purple, red, teal, white, yellow.

Safety and Region Parameters

string
default:"off"
SafeSearch filter. Pass active to filter explicit images, or off to disable filtering.
string
Restricts results to images hosted on pages written in a specific language. Example: lang_en.
string
Biases results toward a specific country. Accepts a two-letter ISO 3166-1 alpha-2 country code such as us or jp.
Limits image results to a specific domain or site, for example siteSearch=unsplash.com.
string
Filters results by Creative Commons license type. Accepted values include cc_publicdomain, cc_attribute, cc_sharealike, cc_noncommercial, cc_nonderived, or combinations joined by |.

Example Request

The following request searches for large color photographs of mountain landscapes with SafeSearch enabled.
cURL

Example Response


Response Fields

Image results share the same top-level structure as web results (kind, searchInformation, queries, items). The key difference is the image sub-object present on every result item.
string
Plain-text title of the page that hosts the image.
Direct URL of the full-resolution image file.
Human-readable hostname of the page hosting the image, e.g. "www.example-photos.com".
string
A short text excerpt from the surrounding page content describing the image.
string
MIME type of the image file, e.g. "image/jpeg", "image/png", or "image/gif".
object
An object containing image-specific metadata.

Error Codes

Image search must be explicitly enabled on your Programmable Search Engine. Log in to programmablesearchengine.google.com, open your engine, navigate to Search features → Image search, and toggle it on. Requests with searchType=image against an engine without this setting return a 403 error.
Always link to image.contextLink rather than items[].link (the raw image URL) in your UI. Displaying the source page respects copyright attribution and provides a better user experience.