PDF Text Extractor - PDF to Text, Markdown & OCR avatar

PDF Text Extractor - PDF to Text, Markdown & OCR

Under maintenance

Pricing

from $3.15 / 1,000 pdf processeds

Go to Apify Store
PDF Text Extractor - PDF to Text, Markdown & OCR

PDF Text Extractor - PDF to Text, Markdown & OCR

Under maintenance

Extract text from PDF URLs: full plain text, Markdown with tables, the text of every page, hyperlinks and metadata (title, author, dates). Page ranges, OCR for scanned pages, password-protected files.

Pricing

from $3.15 / 1,000 pdf processeds

Rating

0.0

(0)

Developer

Fabrikit

Fabrikit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

PDF Text Extractor extracts the text of PDF files from any public URL: the whole document as plain text and as Markdown, the text of every page, the clickable links, and the PDF metadata (title, author, subject, keywords, creation and modification dates). Pages that are only an image (scanned paper, faxes, photographed forms) are read with OCR. You paste PDF links and get one clean dataset record per PDF, ready for spreadsheets, databases, search indexes or LLM prompts.

It is the PDF-only sibling of our Document to Markdown Actor and uses the same layout engine, priced per PDF instead of per page.

What you get for each PDF

  • Full text in reading order: two-column papers are read column by column, running headers, footers and page numbers are removed, hyphenated words are joined.
  • Markdown with headings (from font sizes), bullet and numbered lists, and tables rebuilt from column alignment.
  • Text of every page (pages) with its word count and whether it came from the text layer or from OCR, so you can cite page numbers.
  • Links (links): every web link annotation in the PDF with the page it is on.
  • Metadata: title, author, subject, keywords, creator and producer applications, PDF version, creation and modification dates in ISO 8601, page count, file size, detected language.
  • Scan detection: scannedPages, isScanned and ocrPages tell you which documents were image-only.

Use cases

  • Feed reports, papers, manuals and filings into an LLM, a vector database or a RAG pipeline.
  • Build a searchable archive of public documents (government forms, regulations, standards, court or council PDFs).
  • Pull the text of research papers from arXiv in bulk (abstract links like arxiv.org/abs/1706.03762 are converted to the PDF automatically).
  • Check a batch of PDFs: page counts, languages, which ones are scans, which links they contain.
  • Read only the pages you need, for example the first two pages of every annual report.

How to use

  1. Paste one or more PDF links into PDF URLs.
  2. Optional: pick Pages to extract (1-3, 7, 10-), a Max pages per PDF, and the OCR mode and language.
  3. Run the Actor and download the dataset as JSON, CSV, Excel or HTML, or read it through the API.

Input example

{
"pdfUrls": [
"https://www.irs.gov/pub/irs-pdf/fw9.pdf",
"https://nvlpubs.nist.gov/nistpubs/CSWP/NIST.CSWP.29.pdf",
"https://arxiv.org/abs/1706.03762"
],
"pageRange": "",
"maxPagesPerPdf": 0,
"ocr": "auto",
"ocrLanguages": "eng",
"includePages": true,
"includeLinks": true,
"maskContacts": true
}
OptionWhat it does
pageRangePages to read in every PDF: 1-3, 7, 10- (to the end), -5 (first five). Empty = all.
maxPagesPerPdfHard cap per PDF after the page selection (0 = no cap, up to 3,000).
ocrauto reads only pages without a text layer, always reads every page as an image, never skips OCR.
ocrLanguagesTesseract codes such as eng, spa, eng+spa, deu, fra, por.
includeText, includeMarkdown, includePages, includeLinksTurn parts of the output on or off to keep records small.
maskContactsReplaces e-mail addresses and phone numbers with [email removed] / [phone removed] (US toll-free numbers are kept). On by default; turn it off for your own documents.
pdfPasswordOpens password-protected PDFs (secret field, never logged).

Output example

Shortened record for the NIST Cybersecurity Framework 2.0 PDF (real values from a test run):

{
"pdfUrl": "https://nvlpubs.nist.gov/nistpubs/CSWP/NIST.CSWP.29.pdf",
"fileName": "NIST.CSWP.29.pdf",
"fileSizeBytes": 1518858,
"status": "ok",
"title": "The NIST Cybersecurity Framework (CSF) 2.0",
"author": "National Institute of Standards and Technology",
"keywords": "cybersecurity; Cybersecurity Framework (CSF); cybersecurity risk governance; ...",
"creator": "Acrobat PDFMaker 23 for Word",
"producer": "Adobe PDF Library 23.8.53",
"createdAt": "2024-03-06T15:46:45Z",
"modifiedAt": "2025-06-04T10:58:23Z",
"language": "en",
"pageCount": 32,
"pagesExtracted": 32,
"pageRange": "1-32",
"isScanned": false,
"ocrPages": 0,
"wordCount": 9134,
"tableCount": 2,
"linkCount": 27,
"text": "The NIST Cybersecurity Framework (CSF) 2.0\n\nNational Institute of Standards and Technology ...",
"markdown": "# The NIST Cybersecurity Framework (CSF) 2.0\n\n...\n\n## Abstract\n\n...",
"pages": [{ "page": 1, "text": "The NIST Cybersecurity Framework (CSF) 2.0\n\nNational Institute of Standards and Technology\n\nThis publication is available free of charge from: https://doi.org/10.6028/NIST.CSWP.29 February 26, 2024", "wordCount": 32, "ocr": false, "hasTextLayer": true }],
"headings": [{ "level": 2, "text": "Abstract", "page": 2 }],
"links": [{ "url": "https://crossmark.crossref.org/dialog/?doi=10.6028/NIST.CSWP.29", "page": 1 }],
"extraPagesCharged": 0
}

A link that fails (404, a web page instead of a PDF, a file over the size limit, a wrong password) produces a record with status: "failed" and the reason in error, and is not charged. The run's SUMMARY record in the key-value store lists PDFs, pages, OCR pages and errors.

Pricing

Pay per event, no subscription:

EventWhen
pdf-processedonce per PDF extracted; the first 50 pages are included
extra-pageonly for pages after the 50th page of the same PDF
ocr-pageonly for pages read with OCR

See the Pricing tab for current prices; paid Apify plans get lower rates. Set a maximum cost per run in Apify and the Actor stops cleanly at that limit: it extracts fewer pages and marks the record truncated.

How it compares

Documents of up to 50 pages only ever pay the per-PDF event. Very long PDFs (hundreds of pages) are also charged per page after page 50; if your PDFs are mostly very long, or you also need Word, PowerPoint, Excel, HTML or EPUB files and RAG chunks with page numbers, Document to Markdown may suit you better.

Limits to know: table detection in PDFs works from column alignment, so simple grids come out well and borderless tables with merged cells are best effort. OCR returns paragraphs, not tables, and noisy scans give noisy text. Formulas and images are not converted.

Integrations

  • API: start runs and read the dataset with the Apify API, the JavaScript or Python client, or a single synchronous call (run-sync-get-dataset-items).
  • No-code: Make, Zapier and n8n have Apify modules (run Actor, get dataset items), for example "new PDF in a Google Drive folder → extract text → append to a sheet".
  • AI agents: the Actor can be called as a tool through the Apify MCP server, so an assistant can read a PDF link during a conversation.
  • Webhooks: get notified when a run finishes and push the records to your own endpoint.

FAQ

Is it legal to extract text from PDFs? The Actor only downloads the links you give it, like a browser would. Make sure you have the right to process those documents; public government, academic and corporate PDFs are the typical case. E-mails and phone numbers are masked by default so personal contact data does not end up in your dataset by accident.

Do I need a proxy? No. Files are downloaded directly. If a host refuses the download (401, 403, 429), the Actor retries through Apify datacenter proxy or your own proxy URLs. Residential proxy is not used.

Can it read scanned PDFs? Yes, pages without a text layer go through Tesseract OCR (English by default, Spanish built in, other languages downloaded on first use). Each OCR'd page is billed with ocr-page.

How large can a PDF be? Up to 200 MB (100 MB by default, maxFileSizeMb) and 3,000 pages per PDF.

Are my files stored? Downloads are deleted right after extraction; only the dataset record stays in your Apify account.

Password-protected PDFs? Supported with the pdfPassword field (a wrong or missing password gives a clear error and no charge). PDFs that only restrict copying or printing open without a password.

Changelog

  • 0.1 (October 2026): first release. Text, Markdown, per-page text, links, metadata, page ranges, OCR, contact masking, per-PDF pricing.

En español

PDF Text Extractor extrae el texto de archivos PDF desde cualquier URL pública: el documento completo en texto plano y en Markdown (títulos, listas y tablas), el texto de cada página, los enlaces y los metadatos (título, autor, asunto, palabras clave, fechas de creación y modificación). Las páginas escaneadas se leen con OCR. Puedes elegir páginas (1-3, 7, 10-), limitar páginas por PDF y abrir PDF con contraseña. Por defecto oculta correos y teléfonos. Se cobra por PDF (incluye hasta 50 páginas), por página adicional y por página con OCR. Consulta la pestaña Pricing para ver los precios vigentes; los planes de pago de Apify tienen tarifas más bajas. Los enlaces que fallan no se cobran. Para Word, PowerPoint, Excel, HTML o EPUB usa nuestro Document to Markdown.