Lens API

Google Lens Scraper API for Visual Search, Product Matching, and Reverse Image Lookup

Submit a public image URL and retrieve visually similar results, matching products, source pages, prices, thumbnails, and related searches through one structured API endpoint.

1,000 free credits
No credit card required

Use the same API key and credit balance across every ScrapeBadger API.

GET /v1/google/lens/search
{
  "image_url": "https://images.example.com/chair.jpg",
  "lens_results": [
    {
      "position": 1,
      "title": "Example wooden lounge chair",
      "link": "https://shop.example.com/chair",
      "source": "Example Store",
      "thumbnail": "https://images.example.com/result.jpg",
      "price": {
        "value": 349.99,
        "currency": "USD",
        "extracted": "$349.99"
      },
      "in_stock": true
    }
  ]
}
Endpoints

Explore the Google Lens Scraper API Endpoint

Search by image, refine the search with text, and receive Google's visual match grid as structured JSON.

  1. Provide a public image URL
  2. Refine with text if needed
  3. Receive structured visual results
GET/v1/google/lens/search20 credits

Google Lens Visual Search

Search Google Lens using a public image URL. Results can include visually related pages and products with source links, thumbnails, tags, prices, stock status, ratings, reviews, and related searches.

Parameters
urlrequiredPublicly accessible URL of the image to search.
queryoptionalText used to refine the visual search.
productoptionalSet to true to return only the tiles Google marked as buyable — those carrying a price and stock status — drawn from the same grid, with no extra request.
exact_matchesoptionalSet to true to return just the pages hosting this image, each flagged exact_match, instead of the broad visual grid. Available for most images; otherwise the grid is returned and the response's warnings array says the filter was not applied.
visual_matchesoptionalInclude the visual-matches results. Defaults to true.
Request
curl --get \
  'https://scrapebadger.com/v1/google/lens/search' \
  --data-urlencode 'url=https://images.example.com/chair.jpg' \
  --data-urlencode 'visual_matches=true' \
  --data-urlencode 'gl=us' \
  --data-urlencode 'hl=en' \
  --header 'x-api-key: YOUR_API_KEY'
Response200 OK
{
  "image_url": "https://images.example.com/chair.jpg",
  "lens_results": [
    {
      "position": 1,
      "title": "Example wooden lounge chair",
      "link": "https://shop.example.com/example-chair",
      "source": "Example Store",
      "source_favicon": "https://images.example.com/store-favicon.png",
      "thumbnail": "https://images.example.com/chair-thumbnail.jpg",
      "original_thumbnail": "https://images.example.com/chair-original.jpg",
      "tag": "Lounge chair",
      "price": {
        "value": 349.99,
        "currency": "USD",
        "extracted": "$349.99"
      },
      "in_stock": true,
      "rating": "4.6",
      "reviews": "248"
    }
  ],
  "results": [
    {
      "position": 1,
      "title": "Example wooden lounge chair",
      "link": "https://shop.example.com/example-chair",
      "source": "Example Store",
      "source_favicon": "https://images.example.com/store-favicon.png",
      "thumbnail": "https://images.example.com/chair-thumbnail.jpg",
      "original_thumbnail": "https://images.example.com/chair-original.jpg",
      "tag": "Lounge chair",
      "price": {
        "value": 349.99,
        "currency": "USD",
        "extracted": "$349.99"
      },
      "in_stock": true,
      "rating": "4.6",
      "reviews": "248"
    }
  ],
  "related_searches": [
    {
      "title": "Mid-century lounge chairs",
      "link": "https://www.google.com/search?q=mid-century+lounge+chairs",
      "thumbnail": "https://images.example.com/related-chair.jpg"
    }
  ]
}
View Google Lens Visual Search documentation

What Can You Build With the Google Lens Scraper API?

Visual product discovery

Submit a product image and retrieve visually similar items from available merchants and source pages. Shoppable matches carry a price chip and in_stock flag when Google supplies them.

url=<product image>

Reverse image and source research

Find the pages hosting a given image — for copyright claims, provenance checks or leak tracing — without sifting through visually similar results.

exact_matches=true

Brand and counterfeit monitoring

Compare official product images with visually similar listings from other sources. Use the results to identify listings that require manual review without treating visual similarity as proof that an item is counterfeit.

linksourcethumbnailprice

Visual catalogue matching

Connect product or asset images with similar pages, products, tags, prices, and related visual searches. Use this information to support catalogue review, product matching, or visual discovery features.

titletagrelated_searches
Sign Up For Free

1,000 free credits · No credit card required

More Google Product and Image APIs

Use the same ScrapeBadger account, API key, and credit balance to connect image-based discovery with keyword image search, product listings, seller offers, and wider web results.

Why Choose ScrapeBadger?

Build Faster

Structured JSON responses remove browser automation, proxy orchestration, and HTML parsing from your roadmap. Make your first request in minutes and move from proof of concept to production without maintaining scrapers.

Scale Confidently

99.9% uptime SLA. Your data pipeline does not stop because Google changes a page, rotates an anti-bot challenge, or moves a result block. Monitoring, session management, browser infrastructure, and parsing are all us.

All Google Data on One Platform

Search, Maps, News, Hotels, Trends, Jobs, Shopping, Patents, Scholar, Images, Videos, Finance, AI Mode, Lens, Local, Shorts, Flights, Products, and Autocomplete — every Google surface under one API key.

Integrate Anywhere

RESTful API, SDK support, MCP, CLI, and no-code options. Use ScrapeBadger in an existing system or a new application with consistent authentication, structured JSON, and unified billing.

Integrate With Your Stack

Use ScrapeBadger through an official SDK, a standard API request, MCP, CLI, or the tools already in your workflow.

Python SDK

Build asynchronous data pipelines with typed responses, retry handling, and access to the complete Google API suite.

Node.js SDK

Add Google data to Node.js and TypeScript applications with type definitions and support for both ESM and CommonJS.

REST API

Connect from any backend or programming language using standard HTTP requests. Responses arrive as structured JSON that can be stored, transformed, or passed into another service.

One API Key

Access Search, Maps, News, Trends, Shopping, Scholar, Flights, and every other supported Google product with one ScrapeBadger API key and one credit balance.

MCP for AI Tools

Give compatible AI agents access to Google Search, Maps, News, Trends, Shopping, Scholar, Images, Flights, and more through ScrapeBadger's MCP server.

ScrapeBadger CLI

Run Google searches, inspect trends, collect local business data, and export results as JSON, CSV, Markdown, or terminal-friendly tables without building an application.

Trusted by Developers Worldwide

See why developers choose ScrapeBadger for reliable, structured web data.

“We switched from the official Twitter API and cut our costs by 95%. The pagination is seamless, and we've never hit a rate limit. Best decision we made this year.”

MC
Marcus Chen
Lead Data Engineer at DataFlow Analytics
2 weeks ago

“The follower and engagement endpoints are incredibly detailed. We use it for influencer research and competitor analysis. Response times are sub-100ms consistently.”

SM
Sarah Mitchell
Marketing Director at SocialPulse Agency
1 month ago

“Started with the Apify actor, then moved to the API for more control. The 1,000 free credits were enough to build our MVP. Now processing 2M+ tweets monthly.”

JR
James Rodriguez
Founder at TweetMetrics
3 weeks ago

“Perfect for academic research. The community and trends endpoints give us data we couldn't get anywhere else. Documentation could use more examples, but support is responsive.”

EW
Emily Watson
Research Scientist at Stanford NLP Lab
1 month ago

“We monitor 50,000+ accounts for our clients. ScrapeBadger handles it without breaking a sweat. The bulk ID endpoints are a game-changer for large-scale monitoring.”

AP
Alex Petrov
CTO at MediaMonitor Pro
2 weeks ago

“The geo and trends endpoints power our location-based analytics. Setup took 10 minutes. Their Apify actors are also great for quick one-off scrapes.”

LP
Lisa Park
Product Manager at Trendy AI
3 weeks ago
Pricing

Simple, transparent pricing

Start with pay-as-you-go credits (never expire) or save up to 70% with a monthly or annual subscription. Failed requests never consume credits, and every Google API endpoint is included on every plan.

Not Sure Which Plan Fits Your Needs? Calculate Your Cost and Find the Right Plan.

Choose an endpoint and enter your expected request volume. Google APIs use flat per-request credits, making usage easy to forecast. Failed requests cost 0 credits.

FAQ

Frequently asked questions

Everything you need to know about the Lens API.

What is the Google Lens Scraper API?

The Google Lens Scraper API searches Google Lens using a publicly accessible image URL. It returns structured visual matches, source pages, product information, thumbnails, and related searches. It can be used for visual search, reverse image lookup, and product discovery workflows.

What data can the Google Lens API return?

A Lens result can include its position, title, destination link, source, source favicon, thumbnail, original thumbnail, and tag. Product-related results can also include a price, currency, displayed price, stock status, rating, and review information when Google provides them.

What kind of image URL can I submit?

The url parameter must point to an image that Google Lens and ScrapeBadger can access publicly. Images stored only on your device, protected by a login, restricted to a private network, or blocked from external access cannot be searched directly.

Can I get only the exact matches for an image?

Yes — set exact_matches=true. Instead of the broad visual grid you get just the pages hosting the image, each flagged exact_match. On our reference image the default grid returns 58 mixed tiles while exact-match mode returns the single page hosting the photo, which is what a copyright or provenance check needs. Google exposes this set for most images but not all — in our own sampling 8 of 10. When it is unavailable the full grid is returned unchanged and the response's warnings array states that the filter was not applied, so you never have to guess which you got. product=true narrows the same grid to the tiles Google marked as buyable, carrying a price and stock status; when none are, the full grid is returned and warnings says so.

How is Google Lens different from the Google Images API?

Google Lens starts with an image URL and searches for visually or contextually related results. The Google Images API starts with a text query and returns image-search results that match those words. Use Lens when the image is the input and Google Images when a keyword is the input.

What is the difference between lens_results and results?

Both lens_results and results are documented arrays containing the same Lens result structure. Depending on the response, they may contain overlapping matches. Applications that process both arrays should deduplicate results using fields such as the destination link.

Start Building With the Google Lens Scraper API

Use 1,000 free credits to search by image, find visually similar results, discover matching products, research source pages, and retrieve structured Google Lens data.

No credit card required · Failed requests cost 0 credits

Disclaimer: ScrapeBadger is not affiliated with, endorsed by, or in any way officially connected with Google LLC or any of its subsidiaries or affiliates. Google and related trademarks are the property of their respective owners.