Image OCR Extractor
Pricing
from $2.00 / 1,000 image ocr extracteds
Image OCR Extractor
Extract text from image and PDF URLs with Tesseract OCR. Process screenshots, scans, and multi-page PDFs in batches; return text, confidence scores, and structured dataset records.
Pricing
from $2.00 / 1,000 image ocr extracteds
Rating
0.0
(0)
Developer
Hojun Lee
Maintained by CommunityActor stats
0
Bookmarked
64
Total users
45
Monthly active users
3 days ago
Last modified
Categories
Share
Extract text from image and PDF scans for teams indexing screenshots and documents.
Quick start
Use this small, public image containing printed English text:
{"urls":["https://jeroen.github.io/images/testocr.png"],"language":"eng","limit":1}
One dataset item from this input, with OCR text and confidence varying slightly by Tesseract version:
{"index":1,"url":"https://jeroen.github.io/images/testocr.png","ok":true,"text":"This is a lot of 12 point text to test the ocr code and see if it works on all types of file format. The quick brown dog jumped over the lazy fox. The quick brown dog jumped over the lazy fox. The quick brown dog jumped over the lazy fox. The quick brown dog jumped over the lazy fox.","word_count":60,"char_count":284,"confidence_score":96.0,"auto_enhanced":false,"language":"eng","contains_numbers":true,"contains_emails":[],"contains_urls":[],"text_density":"medium","tables_detected":0,"tables":[],"total_pages":null,"pages":null,"error":null,"changed":null}
ok reports download and OCR success; text contains recognized words. word_count and char_count measure the recognized text. confidence_score is Tesseract's average word confidence; auto_enhanced shows whether a second preprocessing pass was used. error describes a failed item.
Limits
Unreachable or unsupported image URLs produce error items. OCR quality depends on resolution, orientation, and font; handwriting and complex layouts may be unreliable. PDF processing depends on page count and can take longer than a single image. Use limit to bound a batch.
Pricing
Pay-per-event:
| Event | Price |
|---|---|
| Actor start (charged by Apify, one per GB of run memory) | $0.001 |
| Image/PDF successfully OCR-processed | $0.002 |
The first 5 successful images per account are free (once, not per run); failed items are never charged. Example: 50 images = 50 × $0.002 = $0.10 plus the start fee (after the free 5 are used up).
Use from AI agents (MCP)
Connect your agent to Apify's official MCP server with an Apify token. Select the Actor tool gochujang/image-ocr-extractor, pass the Quick start JSON as input, then retrieve its dataset items through the MCP server. No separate gateway is needed.
What does Image OCR Extractor do?
Image OCR Extractor is an image text extraction API that converts any image — screenshot, invoice, receipt, form, or photo — into structured text using Tesseract OCR. Submit one image or a batch of up to 50 (PNG, JPG, WebP, TIFF, BMP), and receive extracted text plus a per-image confidence score. No API key, no GPU, no setup required.
This actor runs the full extract text from images pipeline automatically: download, preprocess, Tesseract recognition, and structured JSON output. When confidence is low, it retries with threshold preprocessing to improve accuracy — so you get the best result without any manual tuning.
Why use Image OCR Extractor?
- Invoice and receipt digitization — Extract totals, line items, vendor names, and dates from receipt photos or scanned invoices to feed accounting workflows automatically.
- Screenshot text extraction — Turn UI screenshots, error messages, and social media screenshots into searchable, indexable text in seconds.
- Multilingual document processing — Support for 100+ languages including Japanese, Chinese, Korean, German, French, and Spanish, with combined-language mode for bilingual documents.
- Form and survey digitization — Process handwritten or typed paper forms from scanned documents without manual data entry.
- Batch data pipeline integration — OCR entire image archives and feed the output into LLMs, databases, or search indexes programmatically via the Apify API.
How to use Image OCR Extractor
- Open the actor on Apify Store and click Try for free.
- Paste one or more image URLs into the
urlorurlsinput field. - Select a language code (default:
eng) and preprocessing mode (default:grayscale). - Click Start — results arrive in seconds.
- Fetch structured JSON from the Apify dataset or connect via API for automation.
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | — | Single image URL. Used when urls is empty. |
urls | array | — | Batch list of image URLs (up to 50 per run). |
language | string | eng | Tesseract language code: eng, deu, fra, spa, jpn, chi_sim, kor, or combined eng+deu. |
preprocessing | string | grayscale | Image preprocessing: none, grayscale, or threshold (binarize). |
pageSegMode | integer | 3 | Tesseract PSM: 3 = auto, 6 = block, 7 = line, 8 = word, 11 = sparse. |
limit | integer | 50 | Max images to process per run (hard cap: 200). |
Supported URL types: direct image links, Google Drive share links, and Dropbox share links are all automatically resolved — no manual conversion needed.
Output
Each processed image returns one JSON object:
{"index": 1,"url": "https://example.com/invoice.png","ok": true,"text": "Invoice #2024-001\nBill To: Acme Corp\nTotal: $1,250.00","word_count": 9,"confidence_score": 87.4,"auto_enhanced": false,"language": "eng","error": null}
auto_enhanced: true means low confidence was detected on the first pass and the actor automatically re-ran OCR with threshold preprocessing. error is populated only when the image could not be processed at all.
Data fields
| Field | Type | Description |
|---|---|---|
index | integer | Position in the input list (1-based) |
url | string | Source image URL |
ok | boolean | Whether OCR succeeded |
text | string | Extracted text (newline-separated) |
word_count | integer | Number of words extracted |
confidence_score | float | Tesseract average confidence score (0–100) |
auto_enhanced | boolean | Whether automatic threshold preprocessing was applied |
language | string | Language code used |
error | string or null | Error message if OCR failed |
Confidence score guide:
| Range | Meaning |
|---|---|
| 85–100 | High quality, likely accurate |
| 60–84 | Moderate — review critical fields |
| < 60 | Low — actor automatically retries with threshold preprocessing |
FAQ
Does the OCR API support handwriting?
Tesseract performs best on printed text. Handwriting recognition is possible but accuracy varies. Use preprocessing: threshold and pageSegMode: 6 for best results on handwritten forms.
Can I extract text from images with dark backgrounds or colored overlays?
Yes. Use preprocessing: grayscale (the default) for colored or photographic backgrounds. For text printed on a white background, threshold gives sharper binarized results.
How accurate is image text extraction? For clean, high-resolution images with standard fonts, confidence scores typically land in the 85–95 range. Low-quality photos or stylized fonts may score lower, but the automatic enhancement retry improves results without manual effort.
Disclaimer: OCR accuracy depends on image quality, resolution, and font type. This actor is not intended for medical, legal, or financial document processing where 100% accuracy is required. Always verify extracted text for critical use cases.
Works Great With
Build a complete document processing pipeline with these actors from the same author:
- PDF Text & Table Extractor — Extract text from PDF documents in the same pipeline. When your input is a mix of image files and PDFs, run both actors together — images go to OCR Extractor, PDFs go to the PDF actor — and merge results in a single dataset.
- DOCX Text Extractor — For Word documents. Complete the trifecta: images (this actor), PDFs, and Word docs can all be normalized to plain text in one automated pipeline.
- Excel & CSV Extractor — For spreadsheets. Digitize entire document archives — scan OCR images, extract PDFs, parse Excel files — and feed all output into the same downstream database or LLM.
Schedule This Actor
Automate recurring document processing — run on a schedule to process new files as they arrive.
Apify Console → Schedules → + New Schedule:
| Field | Value |
|---|---|
| Actor | Image OCR Extractor |
| Cron | 0 9 * * 1-5 (weekdays 9:00 UTC) |
| Input | {"urls": ["https://your-storage/latest-scan.png"], "language": "eng", "preprocessing": "grayscale"} |
Connect the output to a webhook (Zapier, Make, n8n) under Integrations to push extracted text directly to Google Sheets, Notion, or your database.
Related actors
- PDF Text & Table Extractor — PDF version with table detection, password-protected PDFs, batch processing
- DOCX Text Extractor — Word document extraction, same URL/Drive/Dropbox pattern
- Excel & CSV Extractor — .xlsx/.xls/.csv to JSON, full row/column structure
- Web Page to Markdown Converter — HTML text extraction
Feedback
Keywords: image OCR, Tesseract OCR, PDF to text, screenshot OCR, receipt digitizer, document scanner, image text extraction, XLSX OCR, table extraction, multi-language OCR, PNG to text, JPG OCR, document automation