PDF Text Extractor — PDF to Clean Text JSON avatar

PDF Text Extractor — PDF to Clean Text JSON

Pricing

$2.00 / 1,000 pdf page extracteds

Go to Apify Store
PDF Text Extractor — PDF to Clean Text JSON

PDF Text Extractor — PDF to Clean Text JSON

Extract clean, structured text from any PDF by URL, page by page. Returns one row per page with de-hyphenated, whitespace-normalized text. Fast, no setup.

Pricing

$2.00 / 1,000 pdf page extracteds

Rating

0.0

(0)

Developer

Marouane Oulabass

Marouane Oulabass

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Share

Extract clean, readable text from any PDF by URL — page by page. Give this actor one or many PDF links and get back structured JSON with one row per page: de-hyphenated, whitespace-normalized text that's ready for search, LLMs, or your database. No OCR setup, no local tooling, no libraries to install.

Turn reports, invoices, research papers, manuals, contracts and ebooks into machine-readable text in seconds.

Who uses this

  • 🤖 AI / LLM & RAG pipelines — chunk PDFs into clean text for embeddings and retrieval.
  • 📄 Document processing — extract text from invoices, contracts, statements and forms.
  • 🔎 Search & indexing — make PDF libraries full-text searchable.
  • 📚 Researchers & analysts — pull text from papers and reports at scale.
  • 🧑‍💻 Developers — skip PDF libraries and edge cases; just get JSON by URL.

What you get — one clean row per page

FieldDescription
textClean page text — de-hyphenated, whitespace-normalized
pagePage number (1-based)
pageCountTotal pages in the document
charCountCharacters extracted on the page
pdfUrlSource PDF URL
ok, scrapedAtStatus & provenance

Example

Input

{ "pdfUrls": ["https://example.com/annual-report.pdf"], "maxPagesPerPdf": 50 }

Output (one item = one page)

{
"pdfUrl": "https://example.com/annual-report.pdf",
"page": 1,
"pageCount": 48,
"text": "Annual Report 2025. In this financial year the company delivered...",
"charCount": 2184,
"ok": true
}

Why this extractor

  • Clean, usable text — hyphenated line-breaks rejoined, whitespace normalized.
  • 📑 Page-level granularity — one row per page, so you keep document structure.
  • 🌐 Any PDF by URL — public reports, papers, statements, manuals.
  • Fast & affordable — pay only per page extracted.
  • 🤖 LLM-ready — perfect input for chunking, embeddings and RAG.

Input options

  • pdfUrls (required) — one or more PDF URLs (https:// added if missing).
  • maxPagesPerPdf — cap pages per PDF. Leave empty for all pages.

FAQ

Does it work on scanned/image PDFs? It extracts embedded text layers (digital PDFs). Purely scanned image-only PDFs without a text layer won't yield text.

Can I process many PDFs in one run? Yes — pass a list of URLs; every row carries its pdfUrl and page.

Does it keep page structure? Yes — you get one row per page with the page number and total page count.

How is the text cleaned? Hyphenated words split across line breaks are rejoined and whitespace is normalized for readable output.

Can I export to CSV/Excel/Google Sheets? Yes — the dataset exports to JSON, CSV, Excel and HTML, or pull it via the API.

What does it cost? Pay-per-page — you're only charged for pages actually extracted.


Tip: feed the per-page text straight into your embedding pipeline — each page is already a natural chunk.