PDF Text Extractor with OCR
Pricing
from $5.00 / 1,000 ocr pages
PDF Text Extractor with OCR
PDF to text: extract clean text from PDF files by URL or upload. Reads the PDF's own text layer and runs OCR only on scanned pages. Per-page output for RAG and AI pipelines. Blank and failed pages are free.
Pricing
from $5.00 / 1,000 ocr pages
Rating
0.0
(0)
Developer
Promise Land Provision LLC
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
36 minutes ago
Last modified
Categories
Share
Extract clean text from PDF files: paste PDF links or upload files and get the text of every page back as JSON, CSV or XLSX. Normal PDFs are read directly from their text layer, which is fast and cheap. Scanned pages are detected automatically and read with OCR. You only pay for OCR on the pages that need it.
Built for: RAG and AI pipelines, document search, contract and invoice processing, research archives, and anyone who needs PDF text without copy-pasting.
What you get
- Smart OCR. Each page is checked. Pages with real text are read directly. Scanned or image-only pages, and pages with broken font encoding, go through OCR (Tesseract).
- Mixed PDFs handled. A PDF with typed pages and scanned pages is read correctly page by page.
- One result per PDF or one per page. Per-page output drops straight into embeddings, vector databases and spreadsheets.
- Page numbers, method and confidence. Every page says whether it was read from text or OCR, with an OCR confidence score.
- 7 OCR languages: English, Spanish, French, German, Portuguese, Italian and Dutch, mixable in one run.
- Page ranges and limits. Read pages 5–20 only, cap pages per PDF, cap file size.
- PDF metadata: title, author, creator, producer and dates when present.
- Fair billing. Blank pages, failed pages and files that can't be opened are never charged. The run stops cleanly at your maximum cost per run.
How to use
- Add PDF links (one per line) or upload PDF files in PDF files.
- Leave OCR for scanned pages on Auto, or choose Never to skip OCR entirely.
- Pick your OCR languages if documents aren't in English.
- Choose One result per PDF or One result per page.
- Click Start, then download results as JSON, CSV, XLSX or HTML, or fetch them with the API.
Use it from code
curl -X POST "https://api.apify.com/v2/acts/ridgeline_apps~pdf-text-extractor/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"files": ["https://example.com/report.pdf"], "outputMode": "page"}'
It also works from Make, Zapier, n8n and the Apify MCP server for AI agents.
Input
| Field | Description | Default |
|---|---|---|
files | PDF URLs or uploaded files | required |
ocrMode | auto, never or always | auto |
ocrLanguages | Any of eng, spa, fra, deu, por, ita, nld | ["eng"] |
outputMode | document (one result per PDF) or page (one per page) | document |
includePageDetails | Per-page list inside each document result | true |
pageFrom / pageTo | Page range to read | all pages |
maxPagesPerPdf | Safety cap on pages per PDF | 500 |
maxFileSizeMb | Larger files are skipped (free) | 50 |
ocrDpi | OCR resolution, 150–400 | 300 |
Output
One result per PDF (shortened):
{"url": "https://example.com/contract.pdf","fileName": "contract.pdf","status": "ok","pageCount": 3,"pagesProcessed": 3,"textPages": 1,"ocrPages": 1,"emptyPages": 1,"wordCount": 412,"text": "MASTER SERVICES AGREEMENT\nThis agreement is made between...","metadata": { "title": "Contract", "producer": "Example Writer 2.1" },"truncated": false,"pages": [{ "pageNumber": 1, "method": "text", "text": "MASTER SERVICES AGREEMENT...", "ocrConfidence": null },{ "pageNumber": 2, "method": "ocr", "text": "Signed by both parties...", "ocrConfidence": 94.1 },{ "pageNumber": 3, "method": "empty", "text": "", "ocrConfidence": null }]}
One result per page:
{ "url": "https://example.com/contract.pdf", "fileName": "contract.pdf", "pageNumber": 2, "pageCount": 3, "method": "ocr", "text": "Signed by both parties...", "wordCount": 210, "ocrConfidence": 94.1, "status": "ok" }
Files that fail come back with "status": "error" and a plain-English error such as "This PDF is password-protected." They are never charged.
Pricing
Pay per page, with no subscription:
- Text page (read from the PDF's own text): charged per page.
- OCR page (scanned page read with OCR): charged per page.
- Blank pages, failed pages and unreadable files: free.
The exact prices are shown on the Pricing tab. A 10-page typed PDF costs a fraction of a cent, and you can set a maximum cost per run in the run options.
FAQ
Does it work on scanned PDFs? Yes. With OCR on Auto, image-only pages are detected and read with OCR. OCR accuracy depends on scan quality; clean 300 DPI scans usually score above 90% confidence.
Does it keep tables and columns? Text keeps its line breaks and reading order as stored in the PDF. Tables come out as text lines, not as structured cells.
Password-protected PDFs? They're reported as errors and not charged.
Handwriting? OCR is designed for printed text. Handwriting results are poor.
Where do my files go? Files are downloaded into your own Apify run and processed there. Nothing is sent to any third-party service. Results stay in your Apify storage under your account's retention settings.
Limits? Up to 200 MB per file and 5,000 pages per PDF. For large batches, give the run more memory for faster OCR.
Legal
Only process documents you have the right to use. You're responsible for the documents you submit and how you use the extracted text. Not intended for medical records (PHI) or other regulated data that requires a signed processing agreement.
Built on open-source software: PDFium (BSD-3-Clause / Apache-2.0, via pypdfium2), Tesseract OCR (Apache-2.0), Pillow (MIT-CMU) and httpx (BSD-3-Clause).
Questions or a feature request? Open an issue on the Issues tab.