Image to Text OCR – 100+ Languages, Scanned PDFs, Word Boxes
Pricing
from $2.00 / 1,000 image or page reads
Image to Text OCR – 100+ Languages, Scanned PDFs, Word Boxes
Extract text from photos, scans, screenshots and scanned PDFs with Tesseract OCR in 100+ languages. Bulk URLs or uploads, confidence scores, auto-rotation, optional line and word bounding boxes.
Pricing
from $2.00 / 1,000 image or page reads
Rating
0.0
(0)
Developer
Krzysztof Filipiak
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract text from photos, scans, screenshots, receipts, invoices and scanned PDFs – in bulk, in 100+ languages, with a confidence score for every result.
- 🌍 100+ languages (Tesseract OCR) – English, German, French, Spanish, Polish, Russian, Arabic, Chinese, Japanese, Korean, Hindi… and mixes like
eng+deu. - 📑 Scanned PDFs and multi-page TIFFs – every page becomes one result.
- 🔄 Auto-rotation of pages scanned sideways or upside down.
- 📍 Optional line and word bounding boxes (x, y, width, height) – for highlighting, redaction or reading form fields.
- 🔗 Google Drive, Dropbox and GitHub share links work; you can also upload files.
- 💸 $0.002 per image or page. Failed files are free.
Use cases
- Read receipts and invoices before sending them to an LLM or accounting system.
- Make scanned contracts, letters and archives searchable.
- Pull text from screenshots, memes, slides and social media images for analysis or moderation.
- Extract product labels, signs and posters from photos.
- Give an AI agent eyes for text in images (works over MCP).
How to use
- Paste image or PDF URLs (or upload files).
- Set Languages (default
eng). - Click Start – one dataset item per image / page.
Input example
{"urls": ["https://raw.githubusercontent.com/tesseract-ocr/test/main/testing/phototest.tif","https://example.com/scanned-invoice.pdf"],"languages": "eng","includeLines": true}
Output example
{"url": "https://raw.githubusercontent.com/tesseract-ocr/test/main/testing/phototest.tif","fileName": "phototest.tif","fileType": "image","status": "ok","text": "This is a lot of 12 point text to test the\nocr code and see if it works on all types\nof file format.\n\nThe quick brown dog jumped over the\nlazy fox. ...","confidence": 95.5,"words": 60,"characters": 285,"width": 640,"height": 480,"rotation": 0,"languages": "eng","lines": [{"text": "This is a lot of 12 point text to test the", "confidence": 95.5, "x": 36, "y": 92, "width": 544, "height": 30}]}
For PDFs each page is a separate item with page and pages. Coordinates are in pixels of the original image (PDF pages: rendered at 300 DPI; rotated images: after rotation).
Tips for best results
- Resolution matters: text should be at least ~20 px tall. Small images are upscaled automatically.
- Pick the right language – wrong language = garbled accents.
- Layout mode: Single column for receipts, Sparse for screenshots, forms and signs, Single line for cropped labels.
- Handwriting is not supported (printed text only).
Pricing
| Event | Price |
|---|---|
| Image or PDF page read | $0.002 |
1,000 images cost $2. Apify platform usage is included. Set a maximum cost per run in the run options if you like.
Use it from code and AI agents
curl -X POST "https://api.apify.com/v2/acts/kris_fili~image-to-text-ocr/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"urls": ["https://example.com/receipt.jpg"], "languages": "eng", "pageSegmentation": "single-column"}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("kris_fili/image-to-text-ocr").call(run_input={"urls": ["https://example.com/receipt.jpg"]})print(next(client.dataset(run["defaultDatasetId"]).iterate_items())["text"])
MCP: https://mcp.apify.com?tools=kris_fili/image-to-text-ocr – lets Claude, Cursor and other AI agents read text from images.
Need Word, PowerPoint or Excel files as Markdown? Use Document to Markdown. Need screenshots of web pages? Use Website Screenshot & PDF.
FAQ
Is my data private? Images are processed only inside your run and results stay in your Apify storage.
What about tables? OCR returns text line by line. For PDFs that have a text layer, Document to Markdown extracts real tables.
Can it read CAPTCHAs? No, and it is not meant to.
Questions? Use the Issues tab.