Google Lens Search API - Reverse Image Search & OCR
Pricing
from $7.99 / 1,000 image searches
Google Lens Search API - Reverse Image Search & OCR
Reverse image search via Google Lens. Returns visual matches, AI descriptions, related links, related searches, and OCR text with bounding boxes. Four modes from fast OCR-only to full all-tabs extraction.
Pricing
from $7.99 / 1,000 image searches
Rating
0.0
(0)
Developer
Zen Studio
Maintained by CommunityActor stats
1
Bookmarked
374
Total users
39
Monthly active users
5.2 days
Issues response
10 hours ago
Last modified
Categories
Share
Google Lens Reverse Image Search API
From Zen Studio, creators of Google Lens OCR, Google Maps and Google Hotels data tools. 80,000+ combined runs across our two Google Lens actors.
Why choose this actor?
- Every match with the page it sits on. Google hands out its matches behind redirect links; this actor follows each one and returns the page itself. No tokens to resolve, no duplicates between the match list and the related pages.
- Get links you can use. Every match carries the page URL, title, site name and thumbnail, plus the price, snippet and publication date when the page shows them. Find where an image appears, research similar products or trace a photo to relevant pages.
- Keep image text alongside the matches. Enable OCR to include detected language, full text, paragraphs and word-level bounding boxes in the same result. Google's AI description and related search suggestions add context where available.
Try a book cover
{"imageUrl": "https://www.gutenberg.org/cache/epub/1342/pg1342.cover.medium.jpg","searchType": "all","includeOcr": true,"maxResults": 50}
Open actor input and replace the sample book cover with your own publicly accessible image URL. Keep includeOcr enabled to collect the advertised combination. Results depend on what Google returns for the image. Export JSON to preserve matches and nested OCR data, or use the Visual Matches dataset view for tabular export.
| Zen Studio · Google Data Tools | |||
You are here | Text & coordinates | Business details | Compare hotel rates |
Copy to your AI assistant
zen-studio/google-lens-visual-search on Apify. Google Lens reverse image search for one public image URL per run (JPEG, PNG, WebP; Google fetches it directly): aiDescription, visualMatches and relatedLinks with resolved page link, title, source, thumbnail and price/snippet/date where the page shows them, relatedSearches, tabs. searchType: all (default), visual_matches and exact_matches return the same result set; ocr_only returns text only (about 1s, no matches). For image text alongside matches, set includeOcr=true (default false; adds ocr with language, fullText, lines, paragraphs and word bounding boxes at no extra charge). countryCode localizes results (default US, 52 countries); language only hints OCR (default en). maxResults caps visualMatches and relatedLinks separately (1-200, default 50); includeAllTabs has no effect. Unreachable images or failed fetches yield a record with an error field and no image charge. Batch runs only, no Standby endpoint. Pricing: $7.99 per 1,000 images (search modes charge only when results are found) plus $0.01 per run start; current rates https://apify.com/zen-studio/google-lens-visual-search/pricing. Full spec: GET https://api.apify.com/v2/actors/zen-studio~google-lens-visual-search/builds/default (inputSchema, actorDefinition.storages.dataset, readme). Token: https://console.apify.com/account/integrations To reach the maintainers, add feedback="<what you needed and did not get>" to any run, including one that worked: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. The run returns its data exactly as it would without the note, and a human reads every note.
What Data You Get
Each image returns a structured result containing:
- AI description -- Google's AI-generated summary of the image content
- Visual matches -- pages showing the image, with title, page URL, site name, thumbnail, and price where the page is a listing
- Related links -- further pages on the same subject, with title, page URL and site name
- Related searches -- suggested search queries based on the image
- Available tabs -- result categories Google identified (AI Mode, Exact matches, Visual matches)
- OCR text (optional) -- extracted text with word-level bounding boxes and pixel coordinates
Search Modes
| Mode | What it does | Speed |
|---|---|---|
| All results | Description of the image, matching pages, related pages, related searches | ~25s |
| Visual matches | Same result set; matching pages arrive in visualMatches | ~25s |
| Exact matches | Same result set; Google no longer serves this separately | ~25s |
| OCR only | Text extraction only | ~1s |
Google returns what used to sit behind the Visual matches and Exact matches tabs together with the main results, so every mode above draws on the same page. Enable Include OCR text to run text extraction in parallel with any search mode at no extra time cost.
Pricing
$7.99 per 1,000 images -- flat rate, every mode, every option included.
No per-feature surcharges. OCR, any search mode -- same price.
Free trial: 5 runs with 1 image each, no credit card required.
Quick Start
Minimal
{"imageUrl": "https://images.unsplash.com/photo-1526336024174-e58f5cdd8e13?w=640"}
Full extraction
{"imageUrl": "https://images.unsplash.com/photo-1502602898657-3e91760cbb34?w=640","searchType": "all","includeOcr": true,"countryCode": "US","language": "en","maxResults": 50}
OCR only (fastest)
{"imageUrl": "https://tesseract.projectnaptha.com/img/eng_bw.png","searchType": "ocr_only"}
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
imageUrl | string | required | Public image URL to reverse search (JPEG, PNG, WebP) |
searchType | string | all | Search mode: all, visual_matches, exact_matches, ocr_only. The first three return the same result set |
includeAllTabs | boolean | false | Accepted for existing setups; tab results are always included |
includeOcr | boolean | false | Add OCR text extraction in parallel |
language | string | en | ISO 639-1 language code for OCR hints |
countryCode | string | US | Country for localized results (52 countries supported) |
maxResults | integer | 50 | Max visual matches, and max related links (1-200) |
The image must be publicly accessible since Google's servers fetch it directly.
Output Example
{"imageUrl": "https://images.unsplash.com/photo-1502602898657-3e91760cbb34?w=640","searchType": "all","searchUrl": "https://www.google.com/search?vsrid=CIicteuihfq71QEQAhgBIiRh...","aiDescription": "The image shows the Eiffel Tower standing along the Seine River in Paris, France","visualMatches": [{"title": "The Main Attraction Of Paris And All Of Europe Is The Eiffel Tower","link": "https://www.istockphoto.com/photo/the-main-attraction-of-paris-and-all-of-europe-is-the-eiffel-tower-gm1180066402","thumbnail": "https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcT2q3qig0FX...","source": "iStock","sourceUrl": "https://www.istockphoto.com","snippet": "","date": "Nov 15, 2019","price": ""},{"title": "Eiffel Tower, Paris France - Free Photo on Unsplash","link": "https://unsplash.com/photos/eiffel-tower-paris-france-nnzkZNYWHaU","thumbnail": "https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcSG3vrUb_Ip...","source": "Unsplash","sourceUrl": "https://unsplash.com","snippet": "","date": "Aug 13, 2017","price": ""}// ... more matches],"relatedLinks": [{"title": "740+ Fun Things to Do in France Most Guidebooks Ignore","link": "https://www.atlasobscura.com/things-to-do/france","thumbnail": "","source": "Atlas Obscura","sourceUrl": "https://www.atlasobscura.com","snippet": "","date": "","price": ""}// ... more related pages],"relatedSearches": ["Eiffel Tower"],"tabs": [{ "name": "AI Mode", "udm": 50 },{ "name": "Exact matches", "udm": 48 },{ "name": "Visual matches", "udm": 44 }]}
price is filled when the matching page is a product listing, date when the page is dated, snippet when the card carries a description.
When includeOcr is enabled, the result also contains:
{"ocr": {"language": "en","fullText": "Extracted text from image...","lines": [{"text": "Line of text","boundingBox": {"centerX": 0.5, "centerY": 0.12,"width": 0.9, "height": 0.04,"pixelCoords": { "x": 32, "y": 64, "width": 576, "height": 26 }},"words": [{ "text": "Line", "boundingBox": { "..." : "..." } }]}],"paragraphs": [{ "text": "Full paragraph...", "boundingBox": { "..." : "..." } }]}}
How to Reverse Image Search with Python
from apify_client import ApifyClientclient = ApifyClient("your_token")run = client.actor("zen-studio/google-lens-visual-search").call(run_input={"imageUrl": "https://images.unsplash.com/photo-1526336024174-e58f5cdd8e13?w=640","searchType": "all","includeOcr": True,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"AI says: {item['aiDescription']}")for match in item["visualMatches"]:print(f" - {match['title']}: {match['link']}")
How to Reverse Image Search with JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'your_token' });const run = await client.actor('zen-studio/google-lens-visual-search').call({imageUrl: 'https://images.unsplash.com/photo-1526336024174-e58f5cdd8e13?w=640',searchType: 'all',includeOcr: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const item of items) {console.log(`AI says: ${item.aiDescription}`);item.visualMatches.forEach(m => console.log(` - ${m.title}: ${m.link}`));}
Advanced Usage
Full extraction with max coverage
Get every match and the image text:
{"imageUrl": "https://example.com/product.jpg","searchType": "all","includeOcr": true,"maxResults": 100}
Find exact copies of an image
Use exact_matches mode to find pages hosting the same image:
{"imageUrl": "https://example.com/my-photo.jpg","searchType": "exact_matches"}
OCR-only for text extraction
Extract text only, in about a second:
{"imageUrl": "https://example.com/screenshot.png","searchType": "ocr_only"}
Technical Details
- Memory: 256 MB
- Speed: ~25s per image (visual search), ~1s per image (OCR only)
- Residential exit used for visual search, included in the price
- 52 countries supported for geo-targeted results
Data Export
Results are available in JSON, CSV, Excel, and XML via the Apify platform. Use the API, webhooks, or scheduled runs to integrate with your data pipeline.
FAQ
Why do some images return empty results? Occasionally an image cannot be processed. The actor tries again automatically, and if it still fails, the image is marked with an error.
What image formats are supported? JPEG, PNG, and WebP. Images must be publicly accessible via URL since Google's servers fetch them directly.
What's the difference between visual matches and related links? Visual matches are the cards Google shows with a thumbnail of the image, so those pages carry the image itself. Related links are the further results listed below them: pages on the same subject, which may or may not show the image.
Can I use this for real-time monitoring? Yes. Schedule runs on Apify to periodically check where your images appear. Use webhooks to get notified when new matches are found.
Is OCR included in visual search modes?
Not by default. Enable includeOcr to run text extraction in parallel. It adds no extra processing time.
Legal Compliance
This actor extracts publicly available data from Google Lens search results. Users are responsible for compliance with Google's Terms of Service and applicable data protection regulations (GDPR, CCPA).

