Document OCR

OCR Text Extractor: turn images and scanned PDFs into text

Send image or PDF URLs, an uploaded file or base64 data and get the recognised text back, page by page, with an engine confidence score. Add word positions to build document parsers, or reuse a PDF's own text layer when it already has one.

★ 5.0 rating · 1 reviews18 users97.1% successful runs (30 days)

What data you get

textFull recognised text of the file
pagesText of each page separately
confidenceEngine confidence score per page
wordsOptional recognised words with confidence
boundingBoxOptional position of each word on the page
languageOCR language used
fileName / urlSource of the processed file

How it works

  1. Open the scraper on Apify and sign up (free).
  2. Enter routes, dates and options in the form.
  3. Click Start and download results as JSON, CSV or Excel, or call the API.

Pricing

$2.00 per 1,000 rows

Pay per event: a small charge per file processed plus a charge per page read with OCR. Use the page range and max pages settings to keep costs predictable.

Apify gives $5 free credits every month — enough to test this scraper at no cost.

Example tasks

Ready-made inputs. Copy one into the scraper form or send it through the API.

Extract text from an image with OCR

A sample scanned image read in English.

{
  "urls": [
    "https://raw.githubusercontent.com/lergassy/apify-actor-assets/main/document-text-extractor/sample-scan.png"
  ],
  "language": "eng"
}
Run this task →

OCR a scanned PDF with word positions and confidence

First 3 pages, low-confidence words dropped.

{
  "urls": [
    "https://raw.githubusercontent.com/lergassy/apify-actor-assets/main/document-text-extractor/sample-scan.pdf"
  ],
  "pageRange": "1-3",
  "includeWordBoxes": true,
  "minWordConfidence": 60
}
Run this task →

Force OCR on a scanned PDF with automatic language detection

Ignore the PDF text layer, up to 20 pages.

{
  "urls": [
    "https://raw.githubusercontent.com/lergassy/apify-actor-assets/main/document-text-extractor/sample-scan.pdf"
  ],
  "autoDetectLanguage": true,
  "useExistingTextLayer": false,
  "maxPagesPerFile": 20
}
Run this task →

Batch convert images and PDFs to plain text

Two files, full text only.

{
  "urls": [
    "https://raw.githubusercontent.com/lergassy/apify-actor-assets/main/document-text-extractor/sample-scan.png",
    "https://raw.githubusercontent.com/lergassy/apify-actor-assets/main/document-text-extractor/sample-scan.pdf"
  ],
  "includePages": false
}
Run this task →

Use cases

FAQ

Which languages are supported?

19 languages, including English, German, French, Spanish, Portuguese, Russian, Indonesian, Vietnamese, Arabic, Hindi, Chinese, Japanese and Korean. Script auto-detection is optional.

Does it work with scanned PDFs?

Yes. Scanned pages are read with OCR; pages that already contain a text layer can be copied directly, which is faster and more accurate.

Can I get word coordinates?

Yes. Turn on word positions to get every word with its confidence and its box on the page.

Is it legal to run OCR on documents?

Only process files you own or have the right to process. If documents contain personal data, handle the output in line with applicable privacy laws.

How do I integrate it?

Call it via the Apify API with URLs or base64 files, use the Python or JavaScript clients, or connect it to Make, n8n, Zapier or Google Sheets.

More scrapers

Extract text from your first document

Run on Apify — free trial