Google Lens Reverse Image Search API with Prices avatar

Google Lens Reverse Image Search API with Prices

Pricing

$5.00 / 1,000 image searches

Go to Apify Store
Google Lens Reverse Image Search API with Prices

Google Lens Reverse Image Search API with Prices

Search Google Lens with image URLs and get each image's visual matches: page title, link, website and preview, plus price, currency and stock where Google shows them. Find sellers, compare prices, see where an image appears. You pay per image searched, with no start fee; failed searches are free.

Pricing

$5.00 / 1,000 image searches

Rating

0.0

(0)

Developer

Vanja V

Vanja V

Maintained by Community

Actor stats

0

Bookmarked

14

Total users

6

Monthly active users

3 days ago

Last modified

Features

Limited permissions

Share

Give it image links and get Google Lens's visual matches for each one: the matching page's title, link, website and preview, plus the price, currency and stock where Google shows them.

$5 per 1,000 images searched. No start fee, and searches that fail cost nothing.

Output rows: preview, page title, website, price, stock and rank for each match

Six of the 11 priced matches for one photo of a Nintendo Switch Pro Controller, with "Only matches with a price" on.

What it's for

  • Find sellers and compare prices from a product photo. Turn on Only matches with a price and pick a country to see which shops list the item and at what price.
  • Find other listings of a product. Matches for a product photo usually include Amazon, eBay, Walmart and smaller shops selling the same item.
  • Find where an image appears online. Lens returns pages that show your image together with visually similar ones. Open the page to tell copies from look-alikes; the actor doesn't separate them.
  • Name what's in a picture. imageLabel holds Google's name for the product, artwork or landmark, such as "Nintendo Switch Pro Controller", "The Starry Night" or "Matterhorn".
  • Give an AI agent reverse image search, through Apify's MCP server or the API (examples below).

What people use it for

  • Reverse image search API for products. Send product photos in a batch and get the matching shop pages with price, currency and stock.
  • Find a product from a picture. Name the item through imageLabel and see where it is sold.
  • Find where to buy from a photo. Set the country and read the shops and prices Google shows there.
  • Find similar products by image. Matches for a product photo include look-alikes as well as the same item.
  • Bulk reverse image search. List many image links in one run. Every row keeps its sourceImage, so you can tell the searches apart.
  • Google Lens data in Python or JavaScript. Run it from code and read the matches as JSON, CSV or Excel.

Example: reverse image search for a product photo

Input:

{
"images": ["https://api.apify.com/v2/key-value-stores/uN1Gioxdj8TWWlPDJ/records/p01.jpg"],
"country": "us"
}

This photo of a Nintendo Switch Pro Controller returned 59 matches, 8 of them with a price. Two of the rows:

[
{
"sourceImage": "https://api.apify.com/v2/key-value-stores/uN1Gioxdj8TWWlPDJ/records/p01.jpg",
"imageLabel": "Nintendo Switch Pro Controller",
"position": 3,
"title": "Genuine Official Nintendo Switch Pro Controller Wireless HAC ...",
"url": "https://www.ebay.com/itm/226062921359",
"domain": "ebay.com",
"thumbnail": "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcRR2EOAtQ1U76n1LiB-wYgkMRSHAjW8Hz7z33Olh3yGeq2DhN0O",
"price": null,
"currency": null,
"inStock": true,
"error": null
},
{
"sourceImage": "https://api.apify.com/v2/key-value-stores/uN1Gioxdj8TWWlPDJ/records/p01.jpg",
"imageLabel": "Nintendo Switch Pro Controller",
"position": 4,
"title": "Nintendo Switch Pro Controller, Motion Controls, HD Rumble ...",
"url": "https://www.walmart.com/ip/Nintendo-Switch-Pro-Controller/6167318001",
"domain": "walmart.com",
"thumbnail": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSJyWGmOoBf-CB8Y0Z_apBd0bnUdptsqM7fIVM8Ndj5PFHCgVkF",
"price": 45,
"currency": "$",
"inStock": true,
"error": null
}
]

What you get: Google Lens matches with prices as CSV, JSON or Excel

One dataset row per match:

FieldWhat it holds
sourceImageThe image link you gave, so rows from several images stay apart
imageLabelGoogle's name for what's in the image; null when it gives none
positionRank among the matches, 1 being the closest. Filters keep the original ranks, so gaps are normal
titleThe matching page's title, often shortened by Google
urlLink to the matching page
domainThe page's website, without www.
thumbnailGoogle's small preview of the matching image
price, currencyThe price and currency symbol ($, £, €) where Google shows one, mostly on shop listings
inStockWhether the listing shows the item in stock; null when Google shows no stock status
errorWhy an image couldn't be searched; null on match rows

An image that couldn't be searched, such as a broken link or a file that isn't an image, gets one row with error filled in and costs nothing. An image with no matches gets no rows; the run's status message lists it.

The SUMMARY record in the run's key-value store lists every image with its outcome (matched, no matches, failed or not searched), its match count and whether it was charged.

Download the rows as CSV, Excel or JSON from the Output tab, or read them through the API.

FieldDefaultWhat it does
Image URLs (images)requiredPublic links to JPEG, PNG, WebP, GIF or BMP images, up to 20 MB each. Each image is one search; duplicates are searched once.
Country (country)usTwo-letter code of the country Google searches from. It changes which shops and prices you see.
Language (language)enLanguage of Google's interface, such as de or pt-BR.
Only matches with a price (onlyWithPrice)offKeep only the matches that have a price.
Max matches per image (maxResultsPerImage)all, about 60Keep only the closest matches.

Links must open without logging in. To search a photo from your computer, put it anywhere that gives you a public link and paste that link.

Pricing

$5.00 per 1,000 images searched, which is $0.005 per image. Apify's platform usage is included, and there's no start fee or charge per row.

ImagesCost
1$0.005
100$0.50
1,000$5.00
10,000$50.00
  • An image is charged once its search succeeds, including when Lens finds no matches.
  • Links that can't be downloaded or aren't images, and searches that fail, cost nothing.
  • Only matches with a price and Max matches per image filter the rows after the search, so they don't change the price.
  • To cap what a run can cost, set a maximum cost when you start it (maxTotalChargeUsd in the API). The actor searches only as many images as fit under the cap and lists the rest in SUMMARY as not searched, free of charge.
  • On Apify's free plan, a run searches at most 10 images. The run ends normally with those results, and the status message says it hit the free-plan limit, which the actor's developer set. Paid Apify plans have no limit beyond the maximum cost you set.

Use it through the API: a Google Lens API alternative

Run it and get the rows back in one call:

curl -X POST "https://api.apify.com/v2/acts/wheaten_steelpan~google-lens-reverse-image-search/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"images": ["https://api.apify.com/v2/key-value-stores/uN1Gioxdj8TWWlPDJ/records/p01.jpg"], "onlyWithPrice": true}'

That call waits at most 5 minutes, enough for about 50 images. For longer lists, the Apify clients start the run and wait for it to finish.

JavaScript (npm install apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('wheaten_steelpan/google-lens-reverse-image-search').call({
images: ['https://api.apify.com/v2/key-value-stores/uN1Gioxdj8TWWlPDJ/records/p01.jpg'],
country: 'gb',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python (pip install apify-client):

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("wheaten_steelpan/google-lens-reverse-image-search").call(run_input={
"images": ["https://api.apify.com/v2/key-value-stores/uN1Gioxdj8TWWlPDJ/records/p01.jpg"],
"onlyWithPrice": True,
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["price"], row["currency"], row["domain"], row["url"])

Use it from an AI agent (MCP)

Add Apify's MCP server with this actor as its tool, for example in Claude Desktop, Cursor or VS Code:

{
"mcpServers": {
"google-lens": {
"url": "https://mcp.apify.com?tools=wheaten_steelpan/google-lens-reverse-image-search"
}
}
}

Clients that support OAuth sign you in to Apify on first use. Other clients can send your token in a header: "headers": { "Authorization": "Bearer <APIFY_TOKEN>" }. The agent gets a tool that takes image links and returns the matches as rows.

Speed and limits

  • A search takes about 9 seconds, and the actor runs three at a time.
  • Lens returns about 60 matches per image, closest first.
  • Prices appear only where Google shows them, mostly on shop listings. In our tests, 8 to 11 of about 60 matches for a product photo had a price, and none for a landscape.
  • Currencies are symbols as Google shows them, with no conversion.
  • Results change between runs: two searches of the same photo a day apart shared 44 of 59 links.
  • The actor returns Lens's visual matches. It has no exact-matches-only mode, no text extraction (OCR) and no AI Mode answers.
  • Don't use it to identify people from photos of them.

FAQ

Is there an official Google Lens API? No. Google offers no public Lens API. Google's official image API is Cloud Vision Web Detection. In our tests it returned pages and similar images but no products or prices, so it answers a different question from Lens. This actor returns Lens's visual matches, with prices where Google shows them.

How do I find where to buy something from a photo? Give the actor a public link to the photo, turn on Only matches with a price and pick the country you want to buy in. Each row is a shop page with its price, currency and stock status.

How do I run a reverse image search in bulk? Put all the image links in the images field. Each image is one search, and every row carries sourceImage. A search takes about 9 seconds and three run at a time. Set a maximum cost on the run to cap spend.

Can I upload a photo from my computer? Not directly. Put the photo anywhere that gives you a public link and paste that link.

Does it find only the exact same image? No. It returns Lens's visual matches, which mix copies of the image with look-alikes. Open the page to check. There is no exact-matches-only mode.

Do I need a Google account or an API key? No. The input is image links, plus an optional country and language.

How much does it cost? $5.00 per 1,000 images searched, so 100 images cost $0.50. Failed searches are free.

Can I use it from Python or JavaScript? Yes. The API section above has curl, JavaScript and Python examples.

Notes

  • Google offers no public Lens API. This actor returns Lens's visual matches as data and isn't affiliated with Google.
  • Each image is downloaded, checked and copied into the run's own storage. The search reads that copy through a signed link, and the copy is deleted when the search is done.
  • Found a problem or need a field? Open an issue in the Issues tab.