Google Lens OCR Scraper avatar

Google Lens OCR Scraper

Pricing

from $3.00 / 1,000 image reads

Go to Apify Store
Google Lens OCR Scraper

Google Lens OCR Scraper

Extract text from any image with Google Lens OCR. Get full text, detected language, line and word bounding boxes in pixels. Export to CSV, Excel, JSON or XML.

Pricing

from $3.00 / 1,000 image reads

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

ParseForge Banner

๐Ÿ” Google Lens OCR Scraper

๐Ÿš€ Turn any image into text in seconds. Google Lens read 12 lines and 95 words from a test sheet in 815 ms, with a pixel box for every word.

The Google Lens OCR Scraper sends your image URLs to the same text-recognition service that powers Google Lens in Chrome and returns everything it sees: the full text, the detected language, and each paragraph, line and word with its position, size and rotation in pixels of the original image. No browser is rendered and no proxy is needed, so a batch of 5 images finishes in about 3 seconds.

Every run delivers one row per image with 15 fields. The service reads printed and stylized text in any script it knows (Latin, Chinese, Korean, Cyrillic, Arabic and more), keeps reading direction and line rotation, and returns LaTeX for formulas when it recognizes one.

๐ŸŽฏ Target Audience๐Ÿ’ก Primary Use Cases
Developers building OCR pipelinesExtract text from screenshots, scans, receipts and product photos
Data teams and analystsIndex image archives and social media screenshots by their text
E-commerce and marketplace operatorsRead labels, packaging and price tags at scale
Researchers and archivistsDigitize signs, posters and historical documents with coordinates

๐Ÿ“‹ What the Google Lens OCR Scraper does

Give it a list of public image URLs (or base64 data URLs) and it returns, for each image:

  • ๐Ÿ“ The full text, paragraphs separated by blank lines
  • ๐ŸŒ The detected language as an ISO code and a readable name
  • ๐Ÿ“ Every line with x, y, width, height and rotation in degrees
  • ๐Ÿ”ค Every word inside each line with its own box (switch off when you only need lines)
  • ยถ Every paragraph with its writing direction and box
  • ๐Ÿ”ข Line, word and character counts plus the original image size

๐Ÿ’ก Why it matters: most OCR tools give you text or boxes, rarely both, and almost never rotation. With word-level coordinates you can highlight matches on the image, redact fields, crop regions or feed structured layout into an LLM. Failed images are reported as error rows and are never charged.

๐ŸŽฌ Full Demo (๐Ÿšง Coming soon)

๐Ÿ“Š Output

FieldDescription
๐Ÿ–ผ imageUrlThe image that was read
๐Ÿ“ textFull recognized text, paragraphs separated by blank lines
๐ŸŒ languageDetected language code, e.g. en, fr, zh-Hans
๐Ÿ—ฃ languageNameReadable language name, e.g. Simplified Chinese
๐Ÿ”ค hasTextYes or No
ยถ paragraphCountNumber of paragraphs found
๐Ÿ“ lineCountNumber of lines found
๐Ÿ”ข wordCountNumber of words found
๐Ÿ”  charCountCharacters without whitespace
โ†” imageWidthOriginal image width in pixels
โ†• imageHeightOriginal image height in pixels
ยถ paragraphsArray of { index, text, writingDirection, lineCount, x, y, width, height, rotation }
๐Ÿ“ linesArray of { paragraph, text, x, y, width, height, rotation, wordCount, words[] }
๐Ÿ•’ scrapedAtISO timestamp of the read
โŒ errornull on success, otherwise the reason the image failed

Three real records from a run (word arrays shortened):

{
"imageUrl": "https://raw.githubusercontent.com/JaidedAI/EasyOCR/master/examples/english.png",
"text": "Reduce your risk of coronavirus infection:\n\nClean hands with soap and water\nor alcohol-based hand rub\n\nCover nose and mouth when coughing and\nsneezing with tissue or flexed elbow",
"language": "en",
"languageName": "English",
"hasText": "Yes",
"paragraphCount": 7,
"lineCount": 12,
"wordCount": 61,
"charCount": 294,
"imageWidth": 905,
"imageHeight": 480,
"paragraphs": [
{ "index": 1, "text": "Reduce your risk of coronavirus infection:", "writingDirection": "Left to right", "lineCount": 1, "x": 235, "y": 37, "width": 431, "height": 24, "rotation": 0 }
],
"lines": [
{
"paragraph": 1,
"text": "Reduce your risk of coronavirus infection:",
"x": 235, "y": 37, "width": 431, "height": 24, "rotation": 0,
"wordCount": 7,
"words": [
{ "text": "Reduce", "x": 235, "y": 37, "width": 74, "height": 24, "rotation": 0 },
{ "text": "your", "x": 314, "y": 37, "width": 49, "height": 23, "rotation": 0 },
{ "text": "risk", "x": 370, "y": 37, "width": 36, "height": 23, "rotation": 0 }
]
}
],
"scrapedAt": "2026-09-02T22:04:55.648Z",
"error": null
}
{
"imageUrl": "https://raw.githubusercontent.com/JaidedAI/EasyOCR/master/examples/chinese.jpg",
"text": "่ฅฟ\n\n315\n\nๆ„šๅ›ญ่ทฏ\n\nไธœ\n\n309\n\nW\n\nYuyuan Rd.\n\nE",
"language": "zh-Hans",
"languageName": "Simplified Chinese",
"hasText": "Yes",
"paragraphCount": 8,
"lineCount": 8,
"wordCount": 11,
"charCount": 22,
"imageWidth": 640,
"imageHeight": 339,
"lines": [
{ "paragraph": 3, "text": "ๆ„šๅ›ญ่ทฏ", "x": 191, "y": 85, "width": 265, "height": 67, "rotation": 0, "wordCount": 3 }
],
"scrapedAt": "2026-09-02T22:04:54.370Z",
"error": null
}
{
"imageUrl": "https://raw.githubusercontent.com/JaidedAI/EasyOCR/master/examples/french.jpg",
"text": "โ†\n\nMairie du lor\n\nPalais du LOUVRE\n\nLES ARTS Dร‰CORATIFS\n\nMusรฉe du LOUVRE",
"language": "fr",
"languageName": "French",
"hasText": "Yes",
"paragraphCount": 6,
"lineCount": 7,
"wordCount": 18,
"charCount": 77,
"imageWidth": 692,
"imageHeight": 1024,
"paragraphs": [
{ "index": 1, "text": "โ†", "writingDirection": "Top to bottom", "lineCount": 1, "x": 71, "y": 247, "width": 29, "height": 35, "rotation": -90.6 },
{ "index": 2, "text": "Mairie du lor", "writingDirection": "Left to right", "lineCount": 1, "x": 217, "y": 228, "width": 150, "height": 29, "rotation": -6.3 }
],
"scrapedAt": "2026-09-02T22:04:55.430Z",
"error": null
}

โœจ Why choose this Actor

  • ๐Ÿงญ Word-level boxes with rotation. Every word carries x, y, width, height and rotation in degrees, mapped back to the original image size.
  • ๐ŸŒ Any script, auto-detected. English, French, Portuguese, Simplified Chinese and Korean came back correctly labeled in the verification run, with no language hint required.
  • โšก No browser, no proxy. The Actor talks to the Lens recognition API directly, so a typical image takes 0.8 to 2.5 seconds and a run costs almost nothing in compute.
  • ๐Ÿงฑ Robust image fetching. Images are downloaded by the Actor with browser headers and sent as bytes, so hosts that refuse Google's own fetcher still work. Base64 data:image inputs are accepted.
  • ๐Ÿ’ธ No start fee and no charge for failures. You pay per image successfully read, nothing per run.

๐Ÿ“ˆ How it compares to alternatives

FeatureGoogle Lens OCR ScraperTypical Lens OCR actorsCloud vision APIs
Word boxes with rotationโœ…โš ๏ธ Lines or words, rarely rotationโœ…
Paragraph writing directionโœ…โŒโš ๏ธ
Language name in plain Englishโœ…โŒโŒ
Base64 inputโœ…โš ๏ธโœ…
Start fee per runโŒ None$0.002 to $0.01n/a
Visual matches / reverse image searchโŒ Text onlyโš ๏ธ SomeโŒ

๐Ÿš€ How to use

  1. Create a free Apify account and get $5 of monthly credit.
  2. Open the Google Lens OCR Scraper and paste your image URLs into Image URLs, one per line.
  3. Set Max Items if you want to read only the first N images.
  4. Leave Include word boxes on for per-word coordinates, or switch it off for smaller rows.
  5. Click Start. When the run finishes, open the Dataset tab and export to CSV, Excel, JSON or XML.

Example input:

{
"imageUrls": [
"https://raw.githubusercontent.com/tesseract-ocr/tessdoc/main/images/eurotext.png",
"https://raw.githubusercontent.com/JaidedAI/EasyOCR/master/examples/english.png"
],
"maxItems": 10,
"includeWords": true
}

๐Ÿ’ผ Business use cases

๐Ÿงพ Receipts, invoices and forms

Read scanned documents and use the line coordinates to map each value to its label, then push the structured result into your accounting or CRM system.

๐Ÿ›’ Product and shelf photos

Extract brand names, ingredient lists and price tags from marketplace listings or store photos, and compare them against your catalog.

๐Ÿ“ฑ Social media and ad monitoring

Screenshots of posts, stories and ads become searchable text. Track competitor claims, promo codes and disclaimers across thousands of images.

๐Ÿ—‚ Archive digitization

Convert posters, signs and historical scans into text with positions, keep the writing direction and rotation, and build a searchable index with highlights.

๐Ÿ”Œ Automating Google Lens OCR Scraper

  • Make / Zapier: trigger a run whenever a new image lands in Google Drive, Dropbox or an S3 bucket and write the text back to a sheet.
  • Slack: post the recognized text of every image shared in a channel.
  • Airbyte: sync the dataset into your warehouse on a schedule.
  • GitHub Actions: run OCR on images committed to a repo and fail the build when required text is missing.
  • Google Drive: batch-process a folder of scans and store the JSON next to each file.

Every run is also available through the Apify API and the Apify client libraries for JavaScript and Python.

๐ŸŒŸ Beyond business use cases

  • ๐Ÿ”ฌ Research: build multilingual OCR datasets with ground-truth positions.
  • ๐Ÿ  Personal: turn photos of recipes, whiteboards and book pages into notes.
  • ๐Ÿค Non-profit: make image-only flyers and announcements accessible as text.
  • ๐Ÿงช Experimentation: feed word coordinates into layout-aware LLM prompts and compare against other OCR engines.

๐Ÿค– Ask an AI assistant about this scraper

Paste this into ChatGPT, Claude or Gemini: "I have a dataset from the Apify Google Lens OCR Scraper with fields text, language, lines and words with x, y, width, height and rotation. Write code that draws the word boxes over the original image."

โ“ Frequently Asked Questions

๐Ÿ–ผ Which image formats are supported?

JPEG, PNG, WebP, GIF, BMP and TIFF, up to 20 MB per image. Images are downscaled to 1000 px on the long side before recognition; coordinates are mapped back to the original size.

๐Ÿ”— Can I send base64 images instead of URLs?

Yes. Put a data:image/png;base64,... string in the Image URLs list and it is read like any other image.

๐ŸŒ Do I need to tell it the language?

No. The language is detected automatically and returned as both a code and a name.

๐Ÿ“ What does rotation mean?

The tilt of the text line in degrees, counter-clockwise positive. A vertical line reads as about 90 or -90.

๐Ÿ” Does it return visual matches or similar images?

No. This Actor is text recognition only. Google serves the visual-match results page only to interactive browser sessions, so this Actor focuses on what the Lens recognition API returns reliably: text, layout and language.

๐Ÿ–Š Does it read handwriting?

Clear handwriting is often recognized, but accuracy is best on printed text with good contrast.

๐Ÿงฎ What about formulas?

When Google recognizes a formula, the word carries an extra latex field.

๐Ÿ’ต Am I charged for images that fail?

No. Failed images produce an error row and are never charged.

๐Ÿšฆ Is there a rate limit?

None was hit at 5 parallel images. You can raise Concurrency up to 20; lower it if you see API errors.

๐Ÿ›ก Do I need a proxy?

No. The recognition API is open. A proxy option exists in case your own network is restricted.

๐Ÿ“ฆ How do I get the results?

Open the run, click Dataset and export CSV, Excel, JSON or XML, or fetch them through the API.

๐Ÿ”Œ Integrate with any app

The dataset is available through the Apify API, webhooks and integrations with Make, Zapier, Slack, Airbyte, Google Drive, GitHub and more.

๐Ÿ’ก Pro Tip: browse the complete ParseForge collection.

๐Ÿ†˜ Need Help? Open our contact form

โš ๏ธ Disclaimer: This is an independent tool and is not affiliated with, endorsed by, or connected to Google. It only processes images you provide and uses publicly reachable services.