WebScrapingAPI Docs
Search Engine APIsGoogle Search APIGoogle Search Engines

Google Reverse Image API

Scrape Google Reverse Image search results and return structured exact-match and related-image data.

Scrape Google Reverse Image search results and receive structured image search data.

To enable this engine, set engine=google_reverse_image.

The Google Reverse Image API is designed to scrape Google Reverse Image search and return a JSON object with the available results. Apart from api_key and engine, the request can be customized with the parameters below.

Scrape Google Reverse Image Page

Scrape Google Reverse Image Page

Google Reverse Image API Integration Examples

We will use the following URL as an example request:

https://serpapi.webscrapingapi.com/v2?engine=google_reverse_image&api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fencrypted-tbn1.gstatic.com%2Fimages%3Fq%3Dtbn%3AANd9GcRjlJi4t9H9nOiAAv_nRGq8arI_Ed9ILW1lY9lKWa63q8AL_UwI

Ready to Use Google Reverse Image API Scraping Scripts

curl --request GET \
  --url "https://serpapi.webscrapingapi.com/v2?engine=google_reverse_image&api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fencrypted-tbn1.gstatic.com%2Fimages%3Fq%3Dtbn%3AANd9GcRjlJi4t9H9nOiAAv_nRGq8arI_Ed9ILW1lY9lKWa63q8AL_UwI"
const response = await fetch("https://serpapi.webscrapingapi.com/v2?engine=google_reverse_image&api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fencrypted-tbn1.gstatic.com%2Fimages%3Fq%3Dtbn%3AANd9GcRjlJi4t9H9nOiAAv_nRGq8arI_Ed9ILW1lY9lKWa63q8AL_UwI", {
  method: "GET"
});

const data = await response.text();
console.log(data);
import http.client

connection = http.client.HTTPSConnection("serpapi.webscrapingapi.com")
connection.request("GET", "/v2?engine=google_reverse_image&api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fencrypted-tbn1.gstatic.com%2Fimages%3Fq%3Dtbn%3AANd9GcRjlJi4t9H9nOiAAv_nRGq8arI_Ed9ILW1lY9lKWa63q8AL_UwI")

response = connection.getresponse()
data = response.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://serpapi.webscrapingapi.com/v2?engine=google_reverse_image&api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fencrypted-tbn1.gstatic.com%2Fimages%3Fq%3Dtbn%3AANd9GcRjlJi4t9H9nOiAAv_nRGq8arI_Ed9ILW1lY9lKWa63q8AL_UwI",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

echo $error ? "cURL Error #: " . $error : $response;
package main

import (
	"fmt"
	"io"
	"log"
	"net/http"
)

func main() {
	requestURL := "https://serpapi.webscrapingapi.com/v2?engine=google_reverse_image&api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fencrypted-tbn1.gstatic.com%2Fimages%3Fq%3Dtbn%3AANd9GcRjlJi4t9H9nOiAAv_nRGq8arI_Ed9ILW1lY9lKWa63q8AL_UwI"

	response, err := http.Get(requestURL)
	if err != nil {
		log.Fatal(err)
	}
	defer response.Body.Close()

	body, err := io.ReadAll(response.Body)
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println(string(body))
}
HttpResponse<String> response = Unirest
    .get("https://serpapi.webscrapingapi.com/v2?engine=google_reverse_image&api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fencrypted-tbn1.gstatic.com%2Fimages%3Fq%3Dtbn%3AANd9GcRjlJi4t9H9nOiAAv_nRGq8arI_Ed9ILW1lY9lKWa63q8AL_UwI")
    .asString();

System.out.println(response.getBody());
var client = new RestClient("https://serpapi.webscrapingapi.com/v2?engine=google_reverse_image&api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fencrypted-tbn1.gstatic.com%2Fimages%3Fq%3Dtbn%3AANd9GcRjlJi4t9H9nOiAAv_nRGq8arI_Ed9ILW1lY9lKWa63q8AL_UwI");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);

Console.WriteLine(response.Content);
require "uri"
require "net/http"
require "openssl"

url = URI("https://serpapi.webscrapingapi.com/v2?engine=google_reverse_image&api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fencrypted-tbn1.gstatic.com%2Fimages%3Fq%3Dtbn%3AANd9GcRjlJi4t9H9nOiAAv_nRGq8arI_Ed9ILW1lY9lKWa63q8AL_UwI")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
response = http.request(request)

puts response.read_body

Google Reverse Image API Parameters

Query Parameter

ParameterTypeRequiredDescription
urlstringURL of the image you want to use for the reverse image search.
datastringExact-match lookup string from the image_sources field.
lensstringGoogle Lens tab to fetch, such as products, homework, visual_matches, or exact_matches.

Localization Parameters

ParameterTypeRequiredDescription
hlstringInterface language for the Google Reverse Image search.

Response example

{
  "general": {
    "search_engine": "google_reverse_image",
    "language": "en-US",
    "mode": "search"
  },
  "images": [
    {
      "title": "Visually similar image result",
      "source": "example.com",
      "thumbnail": "https://example.com/image.jpg"
    }
  ],
  "exact_matches": [
    {
      "title": "Matching image page",
      "link": "https://example.com/page"
    }
  ]
}

On this page