[Solved] Google reverse image search API

Is there an API for reverse search? if not how can I make reverse image search requests from an android app?

Solution #1:

i have implemented a “Reverse Search JSON REST API using Google Image Search via HTTP”.

it is actually very simple to do using “httpunit” framework that is even running javascript on the server. this is needed to execute the Google image search request


it worked very well. we Have integrated it into an App that

  • was just simply doing a picture,
  • shrink it,
  • upload it to public server,
  • use this URL
  • call REST API + get JSON response (see below)
  • display text and similar images

the server

You get from Google

  • the “tag / title” ,
  • similar images with all meta data (text snippet, html snippet, original URL, thumbnail URL, size, dimensions, …)

with these information you can display easily the detected tag, similar online images with its texts.

but: unfortunatly Google’s machine detection is very good and found my REST-API and closed it.

so for now – Google did not announced an API for this, even it is included in existing Google Apps – very very SAD

Respondent: Lorenz Hänggi

Solution #2:

You may find the following project useful. It’s essentially a scraper server which you send the url of an image to (using curl for instance) and it returns a json array with various useful tidbits.


Respondent: R88

Solution #3:

reverse image search api is deprecated:

new search api can do image search queries


Respondent: sherpya

Solution #4:

You can try this reverse image search API called Camfind

Below is an example of an Image Request input and Image Response output from the Camfind API

Image Request

alt text

Image Response

   "name": "crystal geyser bottle",
   "status": "completed"
Respondent: Chris Ismael

Solution #5:

There is a great API from Google called Google Vision API – web detection. Its a way better than custom search. Example Kotlin code to reverse search images using batch request

val feat = Feature.newBuilder().setType(Type.WEB_DETECTION).build()!!
val settings = ImageAnnotatorSettings.newBuilder().setCredentialsProvider(provider.get()).build()
val req = images.stream()
            .map { Image.newBuilder().setSource(ImageSource.newBuilder().setImageUri(it)).build() }
            .map { AnnotateImageRequest.newBuilder().addFeatures(feat).setImage(it).build() }
val res = ImageAnnotatorClient.create(settings)
            .use { c -> req.chunked(GOOGLE_BATCH_LIMIT).map { c.batchAnnotateImages(it).responsesList }.flatten() }
            .map { it.webDetection.fullMatchingImagesCount }

Respondent: shark

Solution #6:

Unfortunately Google doesn’t offer a reverse image search API. The only service I’ve found that offers one is TinEye (see https://api.tineye.com). I’ve heard they don’t have as many images in their database, but it seems to work well for most purposes. But it’s not free, and actually it’s expensive for an API. Currently they charge $0.04 for each search.

Respondent: orrd

The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .

Leave a Reply

Your email address will not be published.