PDF Text Extractor & Image OCR: PDF to Text / Markdown
Pricing
from $3.20 / 1,000 ocr pages
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
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
- Paste one or more file URLs (direct links to PDF, JPEG or PNG files).
- Choose the OCR mode:
auto(default): OCR only for pages that are scanned images;always: OCR every page;never: text layer only.
- Set the OCR languages, e.g.
engoreng+deu. The image includes English, German, French and Spanish. - 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) andinputIndex;status;type(pdforimage);pageCount,textLayerPages,ocrPages;- full
text; markdown, with a## Page Nheading per page;pages, listing the method (textorocr) 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
inputIndexto 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.