Image OCR — Extract Text from Images
Pricing
from $5.00 / 1,000 image ocrs
Image OCR — Extract Text from Images
Extract text from images, photos, screenshots and scans using Tesseract OCR. Returns recognized text with a confidence score. Supports many languages.
Pricing
from $5.00 / 1,000 image ocrs
Rating
0.0
(0)
Developer
Rosario Vitale
Maintained by CommunityActor stats
0
Bookmarked
100
Total users
34
Monthly active users
a day ago
Last modified
Categories
Share
Image OCR — Reliable Text Extraction
Extract text from images, screenshots, scans, receipts, labels, forms, and photos with a robust OCR pipeline built for Apify.
This Actor uses Tesseract OCR plus optional image preprocessing, automatic orientation handling, bounded retries, download timeouts, input limits, confidence scores, and optional word-level bounding boxes. It is designed for production workflows where predictable failures and structured output matter as much as raw OCR accuracy.
Why use this Image OCR Actor?
- Reliable downloads with retry and timeout controls.
- Automatic preprocessing for contrast, grayscale normalization, and sharpening.
- Orientation recovery for suspicious portrait/rotated images.
- 100+ Tesseract languages and multilingual combinations.
- Batch processing of up to 100 image URLs per run.
- Word-level output with confidence and bounding boxes when requested.
- Cost protection through image-size and input-count limits.
- Structured JSON output ready for APIs, RAG pipelines, search, spreadsheets, and automation.
How to use it
- Add one or more direct HTTP/HTTPS image URLs.
- Select the OCR language codes, for example
eng,ita, oreng+ita. - Keep Auto preprocessing for most photos and screenshots.
- Optionally enable word-level data when you need positions or per-word confidence.
- Run the Actor and download the Dataset as JSON, CSV, Excel, or another supported format.
Input
Main fields:
imageUrls— direct HTTP/HTTPS image URLs.languages— Tesseract language codes.preprocessMode—auto,none,grayscale, orthreshold.segmentationMode— automatic layout, single text block, or sparse text.includeWords— adds per-word confidence and bounding boxes.maxImageSizeMb— rejects oversized images before they consume excessive memory.requestTimeoutSecs— maximum download time per image.retries— bounded retries with exponential backoff.
Example:
{"imageUrls": ["https://example.com/document.png"],"languages": ["eng"],"preprocessMode": "auto","includeWords": true,"requestTimeoutSecs": 30,"retries": 2}
Output
Each image produces one Dataset item:
{"url": "https://example.com/document.png","success": true,"language": "eng","confidence": 94.2,"text": "Recognized text...","wordCount": 42,"characterCount": 256,"processingMs": 830,"image": { "width": 1600, "height": 900, "format": "png" }}
When includeWords=true, the result also contains individual words with confidence and bounding boxes.
Output fields
| Field | Description |
|---|---|
url | Original image URL |
success | Whether OCR completed successfully |
language | OCR language combination |
confidence | Overall Tesseract confidence |
text | Recognized text |
wordCount | Number of recognized words |
characterCount | Number of output characters |
processingMs | Processing time for the image |
image | Source width, height, and detected format |
words | Optional per-word confidence and bounding boxes |
error | Clean error message when processing fails |
Pricing and cost control
The Actor uses pay-per-event pricing and charges only for successfully processed images. Failed downloads or OCR attempts are returned with success: false and are not intentionally billed as successful OCR events.
To keep runs predictable, the Actor limits the number of images per run, rejects excessively large inputs, uses bounded retries, and resizes extremely large images before OCR.
Accuracy tips
Use auto preprocessing first. For already-clean screenshots, none can preserve the original pixels. For difficult high-contrast scans, try threshold. If the image contains scattered labels rather than paragraphs, use sparse_text segmentation.
OCR accuracy depends on resolution, compression, lighting, blur, font style, and language selection. No OCR engine can guarantee perfect recognition on every image, so use confidence scores when downstream decisions are sensitive.
FAQ and support
This Actor processes image URLs supplied by the user. Make sure you have the right to process the images and that your use complies with applicable laws and the source site's terms.
For reproducible bug reports, provide the run ID, input settings, and a non-sensitive sample image URL. Never include API tokens, passwords, or private credentials in issue reports.