PDF OCR avatar

PDF OCR

Pricing

from $20.00 / 1,000 page read by ocrs

Go to Apify Store
PDF OCR

PDF OCR

Read scanned PDFs and get clean text per page, with a confidence score for each one. Pages that already carry a text layer are read directly and never billed as OCR, so mixed batches come back faster, more accurately and cheaper.

Pricing

from $20.00 / 1,000 page read by ocrs

Rating

0.0

(0)

Developer

Alexandre Leclerc

Alexandre Leclerc

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Share

Read the text out of scanned PDFs — invoices, contracts, delivery notes, archives — and get clean, page-by-page text back as JSON.

Scans are pictures of documents: there is no text inside them to copy, search or feed to an AI model. This Actor renders every page and reads it with OCR, so the content becomes usable data.

What does PDF OCR do?

Give it one or more links to PDF files. For each page it returns the text, how that text was obtained, and a confidence score. Export as JSON, CSV or Excel in one click, or pull it through the Apify API.

It only runs OCR where OCR is needed — and only bills for those pages. Real-world document batches are rarely all scans: exports and digital invoices already carry a text layer. Reading that layer is instant and character-perfect, while OCR is slow and approximate. This Actor checks each page first, takes the embedded text when it exists, and falls back to OCR only for genuine scans. Mixed batches therefore come back faster, more accurately, and cheaper than with a tool that OCRs everything blindly.

Why use this OCR Actor?

You see how much to trust each page. Every OCR'd page carries a mean confidence score, so you can route low-confidence pages to a human instead of discovering the problem downstream.

You know where each page's text came from. The textSource field says ocr or text_layer, which tells you immediately whether a value was read or recognised.

A page limit protects your bill. OCR is the expensive part of the job, so each file stops after 50 pages by default. Raise it deliberately when you mean to process long archives.

One bad file never kills the batch. An unreachable URL comes back as a row with a download_failed status, so a 500-document run always finishes and you can see exactly which files need attention.

What data can it extract?

FieldDescription
sourceUrlThe PDF the page came from
statusok, no_text_found, no_pages, charge_limit_reached, download_failed or parse_failed
pageNumberPage number, starting at 1
pageCountTotal pages in the document
textSourceocr for a scan, text_layer when the PDF already held its text
confidenceMean OCR confidence, 0 to 1 (null for text-layer pages)
textThe page text

How to extract text from a scanned PDF

  1. Click Try for free.
  2. Paste direct links to your PDF files into the PDF URLs field.
  3. Leave it empty to run a bundled sample scan and see the output format.
  4. Click Start, then open the Dataset tab when the run finishes.
  5. Export as CSV or JSON, or copy the API endpoint to automate it.

Input

{
"pdfUrls": [
"https://example.com/scanned-invoice.pdf",
"https://example.com/contract-1998.pdf"
],
"maxPages": 50
}

Output

{
"sourceUrl": "https://example.com/scanned-invoice.pdf",
"status": "ok",
"pageNumber": 1,
"pageCount": 3,
"textSource": "ocr",
"confidence": 0.9713,
"text": "DELIVERY NOTE DN-2026-0884\nSupplier: Demo Industrial Supplies BV\n..."
}

Pricing

EventPrice
Actor start$0.01 per GB of memory — $0.02 at the 2 GB default
Page read by OCR$0.02

How much does it cost to OCR 1,000 pages?

About $20 plus $0.02 per run for the start. Pages that already carry a text layer are read for free — they are not billed as OCR — so a mixed batch costs less than its page count suggests. Splitting one job into many small runs pays the start fee each time, so send batches rather than single files.

Works well with

Need the tables out of your documents rather than raw text? Run PDF Table Extractor on the ones that already have a text layer. This Actor is the step before it for anything scanned.

FAQ

What languages does it read?

The recognition model handles Latin-script languages, including English, French, German, Spanish and Italian, as well as Chinese. Text quality matters more than language: a clean 300 dpi scan reads far better than a photo taken at an angle.

How accurate is it?

On clean scans the mean confidence is typically above 0.95. Rather than asking you to trust a number in a README, the Actor returns the confidence per page so you can measure it on your own documents.

Why is a page returned with no text?

Either the page is genuinely blank, or the image is too degraded to recognise — very low resolution, heavy skew, or handwriting. Those pages come back with a no_text_found status rather than silently disappearing.

Can it read handwriting?

No. The model targets printed text. Handwritten notes will produce poor results or none.

Is there a size limit?

Yes, 50 MB per file, and 50 pages per document by default. Both are deliberate guards against runaway costs; the page limit is adjustable in the input.

Support

Found a document type that reads badly? Open an issue on the Issues tab with an example. Real documents are what make an OCR Actor better.