PDF to Markdown & Text Extractor (tables, metadata) avatar

PDF to Markdown & Text Extractor (tables, metadata)

Pricing

from $4.00 / 1,000 documents

Go to Apify Store
PDF to Markdown & Text Extractor (tables, metadata)

PDF to Markdown & Text Extractor (tables, metadata)

Convert PDF URLs into clean Markdown or plain text with headings, lists and tables, plus metadata, page and word counts. Ideal for RAG, LLM pipelines and document search. Flags scanned PDFs that need OCR.

Pricing

from $4.00 / 1,000 documents

Rating

0.0

(0)

Developer

Luca Despot

Luca Despot

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

Share

Turn any PDF link into clean Markdown or plain text, ready for LLMs, RAG, vector databases, search or analysis. Headings, paragraphs, bullet lists and tables keep their structure, and you also get the metadata (title, author, dates), page and word counts.

  • ✅ LLM-ready Markdown: # and ## headings come from font size and weight, hyphenated line breaks are joined, and rotated margin text (like arXiv stamps) is removed.
  • ✅ Tables become Markdown tables, with the raw cells also returned as JSON.
  • ✅ Per-page output (perPage) for chunking and page citations.
  • ✅ Page ranges (1-3,7,10-) so you only pay for and process what you need.
  • ✅ Honest about scans: image-only PDFs are marked needsOcr: true instead of returning empty or garbled text.
  • ✅ REST API (Standby): GET /?pdfUrls=<url> returns the JSON immediately. You can call it from an agent or pipeline.
  • ✅ Robust: checks file size, %PDF signature and redirects, and retries. A bad URL gives an error item and doesn't break the run.

Use cases

RAG and chatbots over documentation · invoices, reports and papers into a database · grabbing tables from government or financial reports · bulk research-paper ingestion · document search indexes.

Input

{ "pdfUrls": ["https://arxiv.org/pdf/1706.03762"], "outputFormat": "markdown", "pages": "1-4", "extractTables": true, "perPage": false }

Output (one item per PDF)

{
"url": "https://arxiv.org/pdf/1706.03762",
"fileName": "1706.03762",
"pageCount": 15,
"pagesExtracted": 4,
"meta_title": null,
"meta_author": null,
"meta_createdAt": "2024-04-10T21:11:43+00:00",
"tablesFound": 0,
"wordCount": 1747,
"needsOcr": false,
"markdown": "# Attention Is All You Need\n\nAshish Vaswani∗ ...\n\n## Abstract\n\nThe dominant sequence transduction models ...\n\n## 1 Introduction\n...",
"tables": [],
"scrapedAt": "2026-10-27T21:40:00+00:00"
}

A real sample is in the Output tab. With perPage: true you also get pages: [{page, text, markdown, tables, chars}].

API (Standby)

GET https://<your-standby-url>/?pdfUrls=https://www.irs.gov/pub/irs-pdf/fw4.pdf&outputFormat=both
Authorization: Bearer <APIFY_TOKEN>

Pricing

Pay per PDF processed. Pages are capped with maxPagesPerPdf (default 300), and failed downloads are free.

Limits and FAQ

  • No OCR. The Actor reads the PDF's text layer. Scanned documents are flagged with needsOcr.
  • Password-protected PDFs are not supported unless the password is empty.
  • Very complex layouts (multi-column magazines) may need light cleanup. Tables without ruling lines are sometimes read as text.
  • Only process documents you're allowed to use.
  • Issues and feature requests: use the Issues tab.