OCR Image to Text & Scanned PDF to Text (Tesseract, 100+ langs) avatar

OCR Image to Text & Scanned PDF to Text (Tesseract, 100+ langs)

Pricing

from $2.00 / 1,000 ocr pages

Go to Apify Store
OCR Image to Text & Scanned PDF to Text (Tesseract, 100+ langs)

OCR Image to Text & Scanned PDF to Text (Tesseract, 100+ langs)

OCR API: extract text from images (PNG, JPEG, TIFF, WebP) and scanned PDFs with Tesseract 5. 100+ languages, confidence scores and Markdown for LLM/RAG. $2 per 1,000 pages.

Pricing

from $2.00 / 1,000 ocr pages

Rating

0.0

(0)

Developer

Giorgos Myrianthous

Giorgos Myrianthous

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Share

OCR image to text and scanned PDF to text with Tesseract 5: 100+ languages, multi-page TIFF and PDF, per-page confidence, and Markdown output for LLM and RAG pipelines. No third-party API key needed.

💲 $2 per 1,000 pages. Pages that already contain PDF text (optional) and failed files are free. Pay only for results. No subscription, and the Apify free plan's monthly credit covers small jobs.

Also known as: OCR, image to text, scanned PDF to text, PDF OCR, extract text from image, Tesseract OCR API, screenshot to text, TIFF to text.

Quick start

  1. Click Start. The prefilled input works as is.
  2. Or paste this input (JSON tab):
{
"fileUrls": [
{
"url": "https://raw.githubusercontent.com/tesseract-ocr/test/main/testing/phototest.tif"
}
],
"languages": [
"eng"
]
}

Output (one dataset item):

{
"url": "https://raw.githubusercontent.com/tesseract-ocr/test/main/testing/phototest.tif",
"status": "ok",
"pages": 1,
"meanConfidence": 95.0,
"wordCount": 60,
"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. …"
}

Use it from the API, AI agents (MCP), n8n, Make or Zapier

curl -X POST "https://api.apify.com/v2/acts/gmyri~image-pdf-ocr/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"fileUrls":[{"url":"https://example.com/scan.pdf"}],"languages":["eng"]}'
  • AI agents / MCP: connect https://mcp.apify.com/?actors=gmyri/image-pdf-ocr to Claude, Cursor, ChatGPT or any MCP client. The input schema is fully described for tool calling.
  • Python: ApifyClient(token).actor("gmyri/image-pdf-ocr").call(run_input={...})
  • n8n / Make / Zapier: use the Apify "Run Actor" action with gmyri/image-pdf-ocr, then read the dataset items.

Quick FAQ

  • Digital (non-scanned) PDFs? Turn on useEmbeddedTextIfPresent (those pages are free), or use PDF to Markdown for Word, Excel and PowerPoint as well.
  • What if I set a spending limit? The Actor stops cleanly at your Max cost per run and you're never charged above it.

Details

Turn images and scanned PDFs into text with Tesseract OCR 5. It takes PNG, JPEG, TIFF (including multi-page), WebP, BMP, GIF and PDF from any public or signed URL, and returns clean text, Markdown with page markers for LLM/RAG pipelines, and a confidence score per page.

$2 per 1,000 pages. Failed files are free, and pages that already have embedded PDF text can be taken for free.

Why this OCR Actor

  • 100+ languages. English, German, French, Spanish, Italian, Portuguese and Dutch are pre-installed. Any other Tesseract language (Polish, Greek, Russian, Ukrainian, Arabic, Hindi, Chinese, Japanese, Korean…) is fetched automatically from the official repository. Combine languages for mixed documents (["eng","deu"]).
  • Scanned PDFs. Each page is rendered at 300 DPI (configurable) and OCRed. Long PDFs are capped by maxPagesPerFile.
  • Hybrid PDFs. With useEmbeddedTextIfPresent, pages that already contain text use it for free, and only image pages are OCRed.
  • Quality pre-processing. Fixes EXIF rotation, converts to grayscale, upscales small images and applies auto-contrast.
  • Confidence scores per page and per file, so you can route low-confidence pages to human review.
  • Private and simple. It runs in your Apify account. No third-party OCR API or key is needed.

Typical uses

  • Make scanned contracts, invoices, letters and archives searchable
  • Feed RAG / vector databases and AI agents with text from image-only documents
  • Extract text from screenshots, slides, signs and product photos (use pageSegmentationMode: "11")
  • Pair it with Document to Markdown for digital PDFs, DOCX and PPTX

Input example

{
"fileUrls": [
{ "url": "https://raw.githubusercontent.com/tesseract-ocr/test/main/testing/phototest.tif" },
{ "url": "https://example.com/scanned-contract.pdf" }
],
"languages": ["eng"],
"pdfDpi": 300,
"maxPagesPerFile": 50,
"useEmbeddedTextIfPresent": false
}
FieldDefaultWhat it does
fileUrls–Image or PDF URLs
languages["eng"]Tesseract language codes (combine for mixed documents)
pdfDpi300PDF render resolution (200 is faster, 300 more accurate)
maxPagesPerFile50Page cap per PDF/TIFF
useEmbeddedTextIfPresentfalseUse the PDF text layer when present (free pages)
pageSegmentationMode"3"3 auto, 4 column, 6 block, 11 sparse text, 12 sparse + orientation
outputPagestrueInclude per-page text and confidence
maxFileSizeMb50Skip larger files
requestTimeoutSecs60Download timeout

Output (one item per file)

{
"url": "https://raw.githubusercontent.com/tesseract-ocr/test/main/testing/phototest.tif",
"status": "ok", "fileType": "image", "languages": "eng",
"pages": 1, "totalPages": null, "truncated": false,
"meanConfidence": 95.0, "wordCount": 60,
"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. …",
"markdown": "<!-- page 1 -->\n\nThis is a lot of 12 point text …",
"pageResults": [{ "page": 1, "text": "…", "confidence": 95.0, "source": "ocr", "widthPx": 1280, "heightPx": 1600 }],
"error": null
}

Pricing (pay per event)

EventPrice
Page OCRed (primary)$0.002 ($2 / 1,000 pages)
Actor start$0.00005 per run (Apify default)

Pages read from an embedded PDF text layer, and failed files, are not charged. Platform usage is included, and the Actor stops cleanly at your Max cost per run.

Use from AI agents (MCP), n8n, Make, Zapier and the API

  • MCP: add gmyri/image-pdf-ocr to the Apify MCP server. Agents pass file URLs and get text back.
  • n8n / Make / Zapier: upload the file to cloud storage, pass its (signed) URL to "Run Actor", then read text or markdown from the dataset.
  • API:
    curl -X POST "https://api.apify.com/v2/acts/gmyri~image-pdf-ocr/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
    -H 'Content-Type: application/json' -d '{"fileUrls":[{"url":"https://…/scan.png"}],"languages":["eng"]}'

FAQ

How accurate is it? On clean scans at 300 DPI, Tesseract usually reaches 95%+ word accuracy. Photos, handwriting and low-resolution images do worse. Check meanConfidence.

Does it read handwriting? Not reliably. Tesseract is built for printed text.

Are my files stored? Files are downloaded into the run container, processed and discarded. Only the extracted text is saved, in your run's dataset.