I'm looking for an API that lets me perform a reverse image search and will provide results of the exact image and images of visual similarity, much like Google.
I've looked at Google Custom Search, but this seems to only accept search queries via text, however, I'm looking to make an android app that searches via the photos taken by the device's camera or gallery.
I have also looked at IncandescentAPI and TinEye, but IncandescentAPI looks like it returns exact matches and information about their usage, much the same as TinEye.
Both do not return visually similar results, which is a core part of my app.
Thank you.
EDIT: Sorry, I would like a public API, where I can search the web for visually similar images, rather than a predefined catalog of images. (Like Google).
Are you looking for a public API? Or a library that you can implement to search through your own batch of photos?
For the latter, take a look at https://www.pureftpd.org/project/libpuzzle.
[Added] Since you're looking for a public API, the easiest workaround is to use Google's image search page and input your custom URL.
https://www.google.com/imghp?sbi=1
You would have to upload the image from the camera or gallery to a public server, and use the link to let Google do its magic.
https://www.google.com/searchbyimage?site=search&sa=X&image_url={YOUR_IMAGE_URL}
Another SO post - Google Search by Image API?.