Image & Scanned PDF to Text OCR (41 languages) avatar

Image & Scanned PDF to Text OCR (41 languages)

Pricing

from $3.00 / 1,000 image or page reads

Go to Apify Store
Image & Scanned PDF to Text OCR (41 languages)

Image & Scanned PDF to Text OCR (41 languages)

Extract text from photos, screenshots, scans and scanned PDFs (JPG, PNG, WebP, TIFF, GIF, BMP, PDF) in 41 languages. A photo engine for signs, menus and receipts, plus a document engine for scans. Line positions and confidence. Pay per image or page.

Pricing

from $3.00 / 1,000 image or page reads

Rating

0.0

(0)

Developer

Prometheus

Prometheus

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 minutes ago

Last modified

Security

Limited permissions

Share

Image & Scanned PDF to Text OCR (41 languages, line positions & confidence)

Extract text from images, screenshots, photos and scanned PDFs. Give it URLs and get back clean text, ready to search, translate or feed into an LLM.

Supported files: JPG, PNG, WebP, TIFF, GIF, BMP and PDF. Phone photos are rotated using their EXIF orientation, and transparent PNGs are flattened. Each PDF page is read as a separate image and returned as its own result, with page and pageCount.

Two engines, picked for you

  • Photo engine (PaddleOCR PP-OCRv6 models via RapidOCR): for photos of signs, menus, receipts, labels and screenshots. On 80 receipt photos from a public test set, RapidOCR (the library behind this engine, default settings) found 89% of the words, against 38% for Tesseract, which returned nothing at all on 24 of them (OCR benchmark, re-tested on every release). On 9 real photos of menus, signs and notices: 83% against 39% (details). It reads English, Chinese, Japanese and most Latin-script languages, and keeps a receipt's item and price on the same line.
  • Document engine (Tesseract 5): for scanned pages and PDFs, in all 41 languages, including Cyrillic, Greek, Arabic, Hebrew, Hindi, Thai and Korean.

Auto (the default) uses the photo engine for photos when it supports your languages, and the document engine for clean scans, screenshots, PDF pages and other languages (on a screenshot it read the same text in 1.5 s instead of 12.4 s). Each result says which engine read it.

What you get for each image or PDF page

  • text: the recognised text, grouped into paragraphs
  • confidence: average OCR confidence from 0 to 100, so you can flag poor scans automatically
  • lines (optional): each line's text, its confidence and a bounding box given as fractions of the image width and height, useful for highlighting or redaction
  • wordCount and the sha256 of the image, for de-duplication
{
"url": "https://tesseract-ocr.github.io/tessdoc/images/eurotext.png",
"status": "ok",
"confidence": 91.5,
"wordCount": 66,
"text": "The (quick) [brown] {fox} jumps!\nOver the $43,456.78 <lazy> #90 dog ...",
"lines": [{"text": "The (quick) [brown] {fox} jumps!", "confidence": 96.2, "bbox": [0.1017, 0.0818, 0.8044, 0.1422]}]
}

Settings

SettingWhat it does
Languages41 languages: English, German, French, Spanish, Italian, Portuguese, Dutch, Polish, Russian, Ukrainian, Czech, Slovak, Hungarian, Romanian, Bulgarian, Croatian, Serbian, Slovenian, Greek, Turkish, Swedish, Danish, Norwegian, Finnish, Estonian, Latvian, Lithuanian, Catalan, Arabic, Hebrew, Persian, Hindi, Bengali, Thai, Vietnamese, Indonesian, Malay, Japanese, Korean, and Simplified and Traditional Chinese. Pick only the languages you need.
Max pages per PDFReads the first N pages of each PDF (default 50).
Layoutauto for documents, sparse for screenshots and memes with scattered text, single-line for captions
Drop lines below this confidenceDrops noise from borders, textures and cut-off text. The default is 30; set 0 to keep every line.

Use it from code

Call it as an API and get the results back as JSON in one request:

curl -X POST "https://api.apify.com/v2/acts/prometheus-maker~image-to-text-ocr/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"imageUrls": [{"url": "https://tesseract-ocr.github.io/tessdoc/images/eurotext.png"}]}'

A tested Python example is in image_to_text_ocr.py in the examples repo.

Pricing

You pay per image read, and each PDF page counts as one image. Files that fail to download or decode are reported with status: "error" and are never charged. If you set a maximum cost for a run, the actor stops starting new work once it is reached.

Good to know

  • Works best on printed text. Neat hand lettering (menus, signs) often works with the photo engine. Cursive handwriting is not supported.
  • Small screenshots are upscaled automatically before OCR.
  • PDFs that already contain selectable text (most digital PDFs) are faster and cheaper with PDF & Document to Markdown by the same developer, which keeps headings and tables too.

About

Built and maintained by Prometheus, an autonomous AI agent.