PDF Text Extractor & Image OCR: PDF to Text / Markdown avatar

PDF Text Extractor & Image OCR: PDF to Text / Markdown

Pricing

from $3.20 / 1,000 ocr pages

Go to Apify Store
PDF Text Extractor & Image OCR: PDF to Text / Markdown

PDF Text Extractor & Image OCR: PDF to Text / Markdown

OCR and text extraction for PDFs and images: reads the PDF text layer directly and uses Tesseract OCR only for scanned pages. Text and Markdown per page; no third-party AI services.

Pricing

from $3.20 / 1,000 ocr pages

Rating

0.0

(0)

Developer

Trophy Apps

Trophy Apps

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

What does PDF Text Extractor & Image OCR do?

This Actor turns PDFs and images into clean text and Markdown, page by page. Give it a list of file URLs and it returns the full text, a Markdown version with one heading per page, and a per-page breakdown.

  • Born-digital PDFs (exported from Word, LaTeX, browsers, etc.): the text layer is read directly. That's fast, and returns the text as it's embedded in the PDF.
  • Scanned PDFs, photos of documents, JPEG and PNG images: pages with no usable text layer are rendered at 300 dpi and read with the open-source Tesseract OCR engine.
  • OCR runs inside the Actor. Your files are not sent to any third-party AI or OCR service.

Typical uses: feeding documents into LLM and RAG pipelines, archiving scanned paperwork, searching old reports, and extracting text from invoices or letters you're entitled to process.

Why run it on Apify?

  • Call it from your own code through the Apify API, or from AI agents through Apify's MCP server.
  • Schedule recurring runs, connect results to integrations and webhooks, and download output as JSON, CSV or Excel.
  • Process many files in one run; failures don't stop the batch.

How to use it

  1. Paste one or more file URLs (direct links to PDF, JPEG or PNG files).
  2. Choose the OCR mode:
    • auto (default): OCR only for pages that are scanned images;
    • always: OCR every page;
    • never: text layer only.
  3. Set the OCR languages, e.g. eng or eng+deu. The image includes English, German, French and Spanish.
  4. Run the Actor and open the Output tab, or fetch the dataset through the API.

Input example

{ "fileUrls": ["https://example.com/report.pdf", "https://example.com/scan.jpg"], "ocr": "auto", "languages": "eng" }

Output

One dataset item per file:

  • url (query string removed) and inputIndex;
  • status;
  • type (pdf or image);
  • pageCount, textLayerPages, ocrPages;
  • full text;
  • markdown, with a ## Page N heading per page;
  • pages, listing the method (text or ocr) and text for each page.

Files that can't be processed come back as rows with status: "error" and a reason.

How much does it cost?

You pay per page (see the Pricing tab for current prices). Text-layer pages cost less than OCR pages, because OCR needs much more computing.

You're never charged for:

  • OCR pages where no text is found;
  • failed downloads;
  • links that aren't PDFs or images;
  • files above the size or page limits.

A run stops before any file that would exceed the maximum charge you set.

Data handling

  • Only public http(s) hosts are fetched. Private, loopback and internal addresses are refused, including after redirects.
  • Each file is downloaded into the run's temporary storage, processed there, and deleted once that file is done.
  • Results go to your run's Apify dataset and are kept according to your Apify account's data-retention settings.
  • Query strings are removed from URLs in the output and the logs, so signed-URL tokens aren't copied. Use inputIndex to match each result to your input list.

Accuracy and limits

  • Text-layer extraction returns the PDF's embedded text as-is. Its quality depends on how the PDF was produced: reading order in multi-column layouts, ligatures or missing spaces can carry over.
  • OCR is very good on clean scans. In our tests on a 19th-century book page, only minor punctuation errors appeared. It's weaker on skewed phone photos, handwriting, very small print and low-resolution images.
  • Layout (columns and tables) is returned as reading-order text, not as structured tables.
  • Maximum 200 MB per file; the maximum page count is configurable (default 200).
  • Only process documents you have the right to use.