PDF Text Extractor: PDF URL to text for AI and RAG avatar

PDF Text Extractor: PDF URL to text for AI and RAG

Pricing

Pay per event

Go to Apify Store
PDF Text Extractor: PDF URL to text for AI and RAG

PDF Text Extractor: PDF URL to text for AI and RAG

Turn public PDF URLs into clean text: full document text, optional per-page text, page count, word count and document info. Fast, no browser, low cost per PDF. Great for RAG, LLM pipelines, search indexing and document analysis.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Scott Williams

Scott Williams

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Share

PDF Text Extractor

Turn public PDF URLs into clean text. For each PDF you get the full document text, optional per-page text, page count, word count, PDF version and document info (title, subject, keywords, producer, dates). Fast HTTP download and parsing, no browser. Built for RAG, LLM pipelines, search indexing and document analysis.

At a glance: $2.00 per 1,000 PDFs, plus $0.00005 per run start. Pay per result with no subscription, set a maximum cost per run, export to JSON, CSV or Excel, or call it from the Apify API, Make, Zapier or n8n.

Features

  • Bulk: paste hundreds of PDF URLs, processed in parallel.
  • Per-page text (includePages) for citations and chunking.
  • maxPagesPerPdf and maxCharacters to control output size.
  • Clear error rows for broken links, non-PDF files, password-protected files and oversized files.
  • hasTextLayer tells you when a PDF is a scanned image (OCR is not included).
  • Respects robots.txt.

Input

{
"pdfUrls": [{"url": "https://www.irs.gov/pub/irs-pdf/fw9.pdf"}],
"includePages": true,
"maxPagesPerPdf": 0
}

Output example

{
"url": "https://www.irs.gov/pub/irs-pdf/fw9.pdf",
"finalUrl": "https://www.irs.gov/pub/irs-pdf/fw9.pdf",
"statusCode": 200,
"fileSizeBytes": 140815,
"pageCount": 6,
"pagesExtracted": 6,
"wordCount": 6279,
"hasTextLayer": true,
"pdfVersion": "1.7",
"documentInfo": {"title": "Form W-9 (Rev. March 2024)", "subject": "Request for Taxpayer Identification Number and Certification"},
"text": "Form W-9\n(Rev. March 2024)\nRequest for Taxpayer\nIdentification Number and Certification ...",
"pages": [{"pageNumber": 1, "text": "..."}],
"error": null
}

Pricing

Pay per result: $2.00 per 1,000 PDFs ($0.002 per PDF), any page count up to the size limit. Plus the standard Apify run start event of $0.00005 per run (the default Apify recommends). Turn off includeFailedUrls to pay only for PDFs that were read. Set Maximum cost per run and the Actor stops cleanly when it is reached.

Limits

  • Text layer only. Scanned PDFs without a text layer return empty text with hasTextLayer: false.
  • Layout (tables, columns) is flattened to reading-order text.
  • Author and creator names from the document info are not returned.
  • On the Apify platform, PDF URLs whose address is private, loopback or link-local (also after a redirect) are not fetched. Their row is free: error: "not fetched: private, loopback and link-local addresses are not allowed".

The Actor downloads files that are publicly linked, obeys robots.txt and never logs in. Respect the copyright and terms of the documents you process.

FAQ

Can I call it from code or an AI agent? Yes, through the Apify API, the Apify clients, or Apify's MCP server.

Can it read local files? Upload them to any public URL (for example an Apify key-value store record) and pass that URL.