Google Lens API | Reverse Image and Visual Product Search avatar

Google Lens API | Reverse Image and Visual Product Search

Pricing

from $0.01 / 1,000 dataset item storeds

Go to Apify Store
Google Lens API | Reverse Image and Visual Product Search

Google Lens API | Reverse Image and Visual Product Search

Google Lens API for reverse image search and visual product search. Give it any public image URL and get visually similar results, shoppable product matches with prices, or every page carrying that exact image, for image attribution and licensing checks. Pay per result, MCP ready for AI agents.

Pricing

from $0.01 / 1,000 dataset item storeds

Rating

0.0

(0)

Developer

John

John

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

11 hours ago

Last modified

Share

Google Lens API

The Google Lens API turns any image into structured data. Give it a public image URL and get back visually similar results, shoppable product listings with prices, or every page on the web carrying that exact image.

This is the working path to Google visual search, and it covers the three jobs people actually hire reverse image search for: find where this came from, find where else it is being used, and find where I can buy it.

Use cases

  • Image attribution and licensing. Run exact matches to find every page publishing a specific image, then work the list for missing credit or unlicensed reuse.
  • Counterfeit and brand monitoring. Feed a product photo and see who else is selling it, and at what price.
  • Visual product search. Turn a photo into shoppable listings with price, currency and stock where the retailer publishes them.
  • Content provenance. Establish where an image first appeared and how widely it has spread.
  • Catalogue enrichment. Match a supplier photo to live retail listings to fill gaps in your own product data.
  • Feeding an AI agent. Let an assistant look up an image through Google Lens mid-conversation instead of guessing at it.

Input parameters

ParameterTypeRequiredDefaultDescription
image_urlstringyesnonePublic http or https link to the image. Must be reachable without a login. Data URIs and local paths are rejected before any billable call.
search_typestringnovisual_matchesvisual_matches for similar images, products for shoppable listings, exact_matches for pages carrying the identical file.
querystringnononeWords to narrow results. Applies to visual matches and products; the source ignores it for exact matches.
max_resultsintegerno50Rows to return, 1 to 400. One lookup returns everything available, so this trims rather than pages.
countrystringnononeTwo letter country code, such as us or de.
languagestringnononeTwo letter language code. Coverage genuinely varies by language, so try without it first if results look thin.

Example output

{
"resultType": "match",
"searchType": "visual_matches",
"queryImage": "https://example.com/photo.png",
"position": 1,
"title": "Example product listing",
"source": "Wikimedia Commons",
"url": "https://commons.wikimedia.org/wiki/File:Example.jpg",
"thumbnail": "https://encrypted-tbn0.gstatic.com/images?q=tbn:example",
"image": "https://upload.wikimedia.org/wikipedia/commons/example.jpg",
"imageWidth": 1280,
"imageHeight": 720,
"date": "Apr 13, 2026",
"price": 49.99,
"currency": "$",
"inStock": true
}

price, currency and inStock populate on product matches. image is null on exact matches, where the source returns only a thumbnail plus the pixel dimensions. Failures arrive as one resultType: "error" row, and a lookup with no matches finishes cleanly at zero rows rather than erroring.

Three search types

TypeWhat it answersTypical volume per lookup
Visual matches"What else looks like this?"around 59 results
Products"Where can I buy this, and for how much?"around 19 results
Exact matches"Where else is this exact image published?"up to 400 results

Exact matches is the one to reach for when you are checking attribution, tracking licensing, or looking for unauthorised reuse of your own images.

What the Google Lens API returns

FieldDescription
titleTitle of the page or product listing
sourceSite the match was found on
urlLink to the page carrying the image
thumbnailSmall preview, rendered inline in the output
imageFull-resolution image URL
imageWidth / imageHeightPixel dimensions of the source image
datePublication date, where the source reports one
price / currencyProduct price, on product matches
inStockStock status, on product matches
rating / reviewCountProduct rating, where the listing carries one

How to get started

  1. Paste a public image URL into the Image URL field.
  2. Pick a search type. Visual matches is the general-purpose default.
  3. Set how many results you want and run it.

View on Apify Store

Prefer to start from working code? The example repo has a Python quick start plus MCP install walkthroughs for Claude, Cursor and ChatGPT.

Honest limitations

These are real gaps in the underlying data source, not bugs in this Actor. They are listed here so you can decide before you spend anything.

  • Exact matches return no full-resolution image URL. You get the page link, the source name, a thumbnail and the source image's pixel dimensions, but the image field is null on those rows. Visual and product matches do carry it.
  • Coverage varies by language. The same image searched with different language codes can return different numbers of matches. If results look thin, try without a language code first.
  • Product data is uneven. Price, stock and rating appear only where the underlying listing publishes them. Expect gaps rather than a complete product feed.
  • The image must be publicly reachable. Anything behind a login, a signed URL, or a local file path will not work.

Pricing

Pay per result, so a lookup that returns 8 matches costs less than one that returns 400. There is no per-run setup fee.

EventWhen it is charged
Visual match returnedOnce per visually similar result
Product match returnedOnce per shoppable listing
Exact match returnedOnce per page carrying the exact image

Exact matches carry the lowest unit price because one lookup returns far more of them. Current per-unit prices are on the Actor's Store card and in the Console before you run.

🔌 Use this API from Claude (MCP)

Add this Actor as a tool in Claude Code (free trial), Claude Cowork (free trial), or any other MCP client, via the hosted Apify MCP server. Use this Actor-specific URL:

https://mcp.apify.com/?tools=actors,docs,johnvc/google-lens-api

Setup walkthrough:

Apify MCP integration docs: https://docs.apify.com/platform/integrations/mcp

💸 Pay per run with crypto (x402)

The Google Lens API supports agentic payments via the x402 protocol. AI agents and MCP clients can pay for runs in USDC (on Base) with no Apify account or API token needed: point your agent at the Apify MCP server and it can discover, pay for, and run this Actor autonomously. Read the Apify x402 announcement for details.

🔌 Integrations: run visual search on a schedule

Tasks and Schedules first. Save an image lookup as a Task and attach a Schedule. A weekly exact-match sweep over your own product photography is a standing check for unlicensed reuse, and it needs no code.

n8n, Make and Zapier. Trigger the Actor from a workflow and route matches onward: new unattributed uses into a legal review queue, or competitor listings into a pricing sheet.

Storage. Write results into Supabase, Postgres or Google Sheets through the Apify integrations tab so each sweep adds to a history rather than replacing it.

MCP. Point an AI assistant at the Actor and let it look up an image mid-conversation. Server URL is in the MCP section above.

Webhooks. Fire an HTTP callback on run completion so your service can collect the dataset without polling.

Visual search spans two ecosystems, and covering both tells a story neither half tells alone:

Alternatives such as devcake/google-lens-scraper exist, but it sits at around 2 users with no published rating. This API is actively maintained, exposes all three search types behind one input, and documents its coverage gaps rather than leaving you to discover them.

FAQ

Yes, and it is the right tool for it. This is what a reverse image lookup on Google actually runs through today. Pick the visual matches type for the general "where does this image come from" question, or exact matches to find every page carrying the identical file.

How do I find out if someone is using my image without permission?

Use the exact matches type. It returns every page where the same image file appears, up to 400 results per lookup, with the page URL and source site for each. That is the list you would work through for an attribution or takedown check.

Why is the image field empty on my results?

You ran an exact matches lookup. That mode returns a thumbnail and the source image's dimensions but no full-resolution URL. Switch to visual matches if you need the full image link.

Can I search by uploading a file instead of a URL?

Not directly. The image has to be reachable at a public http or https URL. If your image is local, upload it to any public host first and pass that link.

Does it find products I can actually buy?

The products type returns shoppable listings with price, currency and stock where the retailer publishes them. Coverage is good for mainstream retail and thinner for niche or secondhand items.

Is this a Google Lens API or a web scraper?

You use it as an API: an image URL in, structured JSON out, with a documented schema and pay-per-result billing. It reads public Google Lens results, so it is not an official product and is not affiliated with, endorsed by, or connected to Google.

Can I use it as a bulk reverse image scraper?

Yes, within one image per run. Exact matches returns up to 400 rows from a single lookup, which is the cheapest per-row mode here. For many images, drive it from a Task plus a Schedule or from a workflow tool as described in the Integrations section.

How do I call this from an AI agent using MCP?

Point any Model Context Protocol client at the server URL in the MCP section above. The agent reads the input schema itself and can run an image lookup during a conversation.

How do I run this on a schedule?

Save the configuration as a Task and attach a Schedule. The Integrations section above covers the downstream options.

What other tools work well alongside this one?

See Related Tools above. Running this and the Yandex Reverse Image API over the same photo is the single highest-value pairing, because the two engines index different corners of the web and each surfaces matches the other misses.

What happens if the image has no matches?

The run finishes cleanly with zero rows and a status message explaining what to try next. You are not charged for results you did not receive.

Agent Skills

Ready-made skills for Claude Code (free trial) and other agents that drive this Actor. Install with npx skills add johnisanerd/<name>.

n8n integration

Available as an n8n community node, n8n-nodes-google-lens-api. In n8n: Settings, Community Nodes, install n8n-nodes-google-lens-api, then use it in any workflow (it also works as an AI Agent tool).

Ready-to-run examples on the Apify Store.


🌐 About Alpha OSINT

This Actor is part of Alpha OSINT, toolset of financial and operations data sources and APIs. For support or requests for this actor, please start a ticket directly on our support page.

Last Updated: 2026.08.06