Image OCR Scraper avatar

Image OCR Scraper

Pricing

from $2.00 / 1,000 ocr images

Go to Apify Store
Image OCR Scraper

Image OCR Scraper

Extract text from public image URLs with local OCR. Process screenshots, receipts, menus, labels, and scanned documents into structured text and confidence scores.

Pricing

from $2.00 / 1,000 ocr images

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

9 days ago

Last modified

Share

Extract text from public image URLs with local OCR. This actor is designed for developers, researchers, and AI agents that need a simple image URL → structured OCR result tool for screenshots, scanned documents, menus, labels, receipts, and other images they are authorized to process.

What it does

  • Downloads each supplied http or https image URL with retries.
  • Runs Tesseract OCR locally in the actor using the selected language.
  • Returns one dataset item per image with recognized text, confidence, content type, byte count, timestamp, and status.
  • Keeps processing after an individual download or OCR failure, so mixed batches produce useful partial results.
  • Charges PPE once per successfully processed image (ocr-image). Failed downloads and OCR errors are not charged.

What it does not do

This actor does not log in, bypass paywalls or bot protection, crawl image galleries, discover image URLs from websites, or process private images without a reachable URL. Use only images that you have permission to access and process. Image URLs should point directly to image content; HTML pages containing an image are not supported.

Input

{
"imageUrls": [
"https://example.com/receipt.png",
"https://example.com/menu.jpg"
],
"language": "eng",
"requestTimeoutSeconds": 30
}

imageUrls accepts up to 25 URLs per run. Supported language presets are eng, deu, fra, and spa. The first run downloads the selected Tesseract language data, so startup can be longer than later images in the same run. Images are limited to 25 MB each.

Output

Each image produces a row like this:

{
"status": "succeeded",
"imageUrl": "https://example.com/receipt.png",
"language": "eng",
"text": "TOTAL $42.00",
"confidence": 93.41,
"bytesDownloaded": 184220,
"contentType": "image/png",
"processedAt": "2026-08-13T00:00:00.000Z"
}

Failed rows have status: "failed" and an error message. A not_charged row means the actor's pay-per-event limit was reached before returning an OCR result.

MCP and automation use

Use this actor when an agent already has direct image URLs and needs text extraction. It is intentionally narrow: pass URLs, choose a language, and read structured rows from the dataset. For a website-wide image crawl, pair it with a URL-discovery actor and pass the discovered direct image URLs into this actor.

Pricing

Pay per usage: one successful OCR image is one billable event. The default event price is $0.002 per image; your final Store price and account settings control the amount charged in production.

Limitations

OCR accuracy depends on image resolution, contrast, rotation, handwriting, typeface, and language. Confidence is Tesseract's estimate, not a guarantee. Pre-crop or enhance difficult images before processing when accuracy is important.

What data does Image OCR Scraper return?

FieldTypeDescription
statusstringWhether OCR succeeded, failed, or was not charged.
imageUrlstringThe supplied public image URL.
languagestringTesseract language preset used for recognition.
textstringText recognized in the image.
confidencenumber or nullTesseract's mean confidence score from 0 to 100, when available.
bytesDownloadedinteger or nullNumber of image bytes downloaded.
contentTypestring or nullContent-Type returned by the image host.
processedAtstringUTC timestamp when this image was processed.
errorstringDiagnostic message for a failed or uncharged result.

Use cases

  • Supply structured public data to AI, RAG, enrichment, or evaluation workflows.
  • Add a repeatable structured-data step to applications, agents, and automation pipelines.
  • Run a one-off research job and export the structured result as JSON, CSV, Excel, XML, or RSS from Apify.
  • Schedule the same input to monitor changes over time and send completed datasets to a webhook or integration.
  • Feed schema-shaped records into a database, spreadsheet, BI tool, or AI workflow with the source URL retained for verification.

Run Image OCR Scraper with the Apify API

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('muhammadafzal/image-ocr-scraper').call({
"imageUrls": [
"https://tesseract.projectnaptha.com/img/eng_bw.png"
],
"language": "eng",
"requestTimeoutSeconds": 30,
"userAgent": "Mozilla/5.0 (compatible; Apify Image OCR Scraper/1.0)"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

You can also run the Actor from Apify Console, schedules, webhooks, the REST API, Make, Zapier, n8n, or the hosted Apify MCP server.

Responsible use

Use this Actor only for data you are authorized to access. Follow the target website's terms, robots and access policies, and applicable privacy, database, copyright, anti-spam, and data-protection laws. Do not use it to bypass authentication or other access controls, collect private data, harass people, or make high-impact decisions without independent verification.