PDF to Text with OCR (German & English) avatar

PDF to Text with OCR (German & English)

Pricing

from $4.00 / 1,000 pdfs

Go to Apify Store
PDF to Text with OCR (German & English)

PDF to Text with OCR (German & English)

Extract text from PDF files in bulk. Scanned pages are detected automatically and read with OCR (German, English, French, Spanish, Italian). Pay per PDF, OCR only when needed.

Pricing

from $4.00 / 1,000 pdfs

Rating

0.0

(0)

Developer

Tim Tonat

Tim Tonat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

What does PDF to Text with OCR do?

This Actor extracts text from PDF files in bulk. Give it a list of PDF links and get clean text back, as one row per PDF and optionally page by page.

Scanned PDFs are handled automatically: pages without a text layer are detected and read with OCR (Tesseract) in German, English, French, Spanish or Italian. Digital PDFs are read directly from the text layer, which is fast and exact. You only pay for OCR on pages that actually need it.

Why use this PDF text extractor?

  • Invoices, contracts, reports, letters: turn PDFs into searchable, machine-readable text
  • Feed LLMs and RAG pipelines with clean text, page by page
  • Mixed documents with digital and scanned pages in one file are no problem
  • Strong German OCR: umlauts and ß included, ideal for documents from Germany, Austria and Switzerland
  • Pay only for results: PDFs that fail to download are free
  • Run it from the Apify API, Make, Zapier or n8n, or schedule it

What data does it return?

FieldDescription
textFull text of the PDF, pages separated by a blank line
pagesArray with page, text and ocr (true if the page was read with OCR)
pageCountTotal number of pages in the PDF
pagesProcessedPages processed (see Max pages per PDF)
ocrPagesPage numbers that needed OCR
charCountLength of the extracted text
textUrlOnly for very large texts (over 4 million characters): link to the full text file. text and pages are then empty
errorReason if the PDF could not be processed

How to extract text from PDFs

  1. Click Try for free.
  2. Paste direct links to your PDF files into PDF URLs.
  3. Pick the OCR languages of your scanned documents.
  4. Click Start.
  5. Download the results as JSON, CSV, Excel or HTML.

How much does it cost to convert PDF to text?

This Actor uses pay per event, and platform usage is included:

  • a fixed price per processed PDF (any number of text pages)
  • plus a price per OCR page, charged only for scanned pages

The current prices are shown in the Pricing tab. Set OCR mode to Never if you only need the text layer and want to avoid OCR charges.

Input

See the Input tab for all options.

{
"pdfUrls": ["https://example.com/files/invoice-2026-001.pdf"],
"ocrMode": "auto",
"ocrLanguages": ["deu", "eng"],
"maxPagesPerPdf": 0,
"includePages": true
}

Output

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

{
"url": "https://example.com/files/invoice-2026-001.pdf",
"fileName": "invoice-2026-001.pdf",
"pageCount": 2,
"pagesProcessed": 2,
"ocrPages": [2],
"charCount": 1840,
"text": "Invoice No. 2026-001\nDate: 14.10.2026 ...",
"pages": [
{ "page": 1, "text": "Invoice No. 2026-001 ...", "ocr": false },
{ "page": 2, "text": "Terms and conditions ...", "ocr": true }
],
"error": null
}

FAQ

Which PDFs are supported?

Any PDF reachable by a direct public link, up to 50 MB. Password-protected PDFs and pages behind a login are not supported.

How good is the OCR?

Tesseract works very well on clean scans and printed text at normal resolution. Handwriting, photos taken at an angle and very low-resolution scans give weaker results. Choosing only the languages actually used in the document improves accuracy.

Does it keep tables and layout?

The text keeps line breaks and reading order of each page. Table cells are returned as text lines, not as structured table data.

Something does not work

Please open an issue in the Issues tab with the PDF link and the run ID. You can also start the Actor programmatically from the API tab.