PDF to Markdown & JSON Extractor — LLM-Ready
Pricing
from $5.00 / 1,000 page-parseds
PDF to Markdown & JSON Extractor — LLM-Ready
Turn any PDF URL into clean, LLM-ready Markdown and structured JSON. Extracts text + tables + document metadata for RAG, agents, and fine-tuning. No AGPL components.
Pricing
from $5.00 / 1,000 page-parseds
Rating
0.0
(0)
Developer
F0rty7even
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
Turn any PDF into clean, LLM-ready Markdown and structured JSON. Point this PDF to JSON / PDF to Markdown converter at one or many PDF URLs and get back tidy Markdown (text plus tables), plain text, and document metadata — one structured record per PDF. Built for feeding LLMs, RAG pipelines, AI agents, and fine-tuning datasets clean document content instead of raw, messy PDF bytes.
No headless browser, no external services — just fast, reliable extraction.
What it does
- PDF to Markdown — converts a PDF's text into clean Markdown ready to drop into an LLM prompt or vector database.
- Table extraction — detects tables and renders them as Markdown pipe tables, so structure survives the conversion.
- Metadata — title, author, subject, keywords, producer, and creation/modification dates from the PDF's own info dictionary.
- Per-document or per-page output — one record per PDF by default, or one record per page (
splitPages) for easy RAG chunking. - Page ranges & caps — extract only the pages you need (
pageRange) and bound cost withmaxPagesPerPdf. - Structured output — exportable to JSON, JSONL, CSV, or Excel, or via the Apify API.
Use cases
- Build a RAG knowledge base from reports, papers, manuals, or contracts.
- Feed LLM agents clean document text instead of raw PDF.
- Assemble fine-tuning / training datasets from public PDFs.
- Convert research papers, invoices, or datasheets into structured, queryable data.
Input
| Field | Description |
|---|---|
startUrls | Direct links to the PDF files to extract. |
outputFormat | markdown (LLM-ready) or text. |
extractTables | Detect tables and render them as Markdown pipe tables. |
splitPages | Output one item per page instead of one per document. |
pageRange | Pages to extract, e.g. 1-10 or 3 (empty = all). |
maxPagesPerPdf | Hard cap on pages parsed per document (main cost lever). |
maxFileSizeMb | Skip PDFs larger than this, without charging. |
Output
Each PDF becomes one dataset item (or one per page with splitPages):
{"url": "https://arxiv.org/pdf/1706.03762","title": "Attention Is All You Need","content": "## Page 1\n\nClean markdown of the page text...\n\n| Layer | Complexity |\n| --- | --- |\n| Self-Attention | O(n²·d) |","format": "markdown","wordCount": 8123,"pageCount": 15,"totalPages": 15,"metadata": {"author": "Vaswani et al.","creationDate": "D:20170606","producer": "pdfTeX","subject": null,"keywords": null}}
Pricing
Pay-per-result: you're charged per page successfully parsed — no monthly fee, and no charge for PDFs that fail, are password-protected, are too large, or have no extractable text.
Notes
- Works on text-based PDFs (papers, reports, docs, invoices, datasheets). Scanned / image-only PDFs have no text layer; they're detected and skipped free. OCR is on the roadmap (future toggle).
- Password-protected and corrupt PDFs are reported as error records (not charged).
- Processes public PDF URLs; it does not log in or bypass access controls.
Licensing
Built entirely on permissively licensed libraries — pdfplumber (MIT), pdfminer.six (MIT), pypdfium2 (BSD/Apache), and Pillow. No AGPL components.
FAQ
Does it keep tables? Yes — with extractTables on and Markdown output, detected tables are rendered as Markdown pipe tables beneath the page text.
Can I extract just some pages? Yes — set pageRange (e.g. 1-5) and/or maxPagesPerPdf.
What about scanned PDFs? They have no text layer, so v1 skips them for free (no charge). OCR support is planned.
What formats can I export? JSON, JSONL, CSV, or Excel, or via the Apify API.