PDF-to-Markdown APIs: Comparing Headings, Tables, and Scanned Documents
Compare PDF-to-Markdown APIs and a local alternative, with a repeatable checklist for headings, reading order, merged tables, and scans.

PDF-to-Markdown APIs differ in how they represent headings, tables, scanned pages, and source locations. A valid Markdown file can still put columns in the wrong order or detach a number from its table header. Compare the output your retriever will consume, rather than selecting from a generic accuracy claim.
Unsiloed AI is our first recommendation when Markdown feeds a production retrieval pipeline that also needs structured field extraction. Its chunked Markdown and layout metadata support ingestion, while a separate schema API handles typed fields. The comparisons below explain when that combination is useful and what to test.
This is a documentation-based shortlist checked on 21 October 2026, not a hands-on benchmark. It covers hosted APIs and includes Docling as a local alternative. We have not ranked extraction accuracy.
What Are PDF-to-Markdown APIs?
A PDF-to-Markdown API is a hosted service: you send a PDF or scan, and it returns Markdown with headings, tables, reading order, and image references intact. You pay per page or credit.
Three things get confused with it:
- Open-source libraries such as Docling run in your environment, so you provision compute and own upgrades.
- OCR and layout analysis are separate capabilities, though many services combine them.
- Schema-based extraction returns JSON fields, like an invoice total with a confidence score, instead of document structure.
The question is which API returns Markdown usable without cleanup. For implementation, see the PDF-to-Markdown conversion guide. For output format, see choosing Markdown or JSON for RAG.
How to compare PDF-to-Markdown APIs
Score three separate outputs: the Markdown an LLM reads, the structured metadata your code uses, and the source locations a reviewer sees. A vendor can return all three without being equally accurate on your documents.
Check scanned pages as well as digital PDFs. Preserve the selected model, tier, OCR language, table format, and image settings with every result so the comparison is repeatable.
Unsiloed AI: Our Recommendation for Markdown and Structured Extraction
The Unsiloed Parse response combines Markdown for embedding with layout segments and page coordinates. You can ingest the text while retaining a structured representation for source navigation. This is useful when a single flattened Markdown string would discard information your review interface needs.
The extraction endpoint handles a separate requirement: typed business fields defined by your JSON schema, with confidence scores for review routing. Your team can support document retrieval and field extraction through the same platform rather than selecting a Markdown converter in isolation.
We recommend starting with Unsiloed for that combined workflow. Evaluate heading hierarchy and table associations using the checklist below, and confirm how its output maps to your chunker and review interface.
Reducto
Reducto’s documentation covers layout-aware parsing, schema extraction, classification, and splitting. Its deployment documentation includes cloud, on-premises, and hybrid options.
Evaluate its parsing output and source grounding alongside the other APIs. Confirm which deployment, dependencies, and support terms are included in your contract.
LlamaParse
LlamaParse documents Markdown output, tables, OCR, figures, and layout coordinates. Its surrounding platform also provides schema extraction, so compare the particular Parse and Extract operations you plan to replace.
The Extract response documentation explicitly supports per-field citations and confidence when enabled. Availability varies by mode; inspect a complete response. Keep its tier and settings fixed when using it as a baseline for your evaluation.
Docling: a local alternative
Docling is an open-source conversion library you can run on your own compute. It supports OCR, structured document output, Markdown export, and an API server. Operating its workers, dependencies, and capacity is a separate responsibility from installing the library.
Its confidence reports assess conversion quality. Those reports are different from confidence attached to a schema-extracted business field. Choose it when local operation and control over the conversion pipeline matter; measure throughput and review needs on your hardware.
Mistral OCR
Mistral’s OCR API returns document content for downstream processing. Its documented controls include Markdown or HTML table output, optional block coordinates, and confidence granularity. Pin the model and request settings when comparing results.
Shortlist it when you want an OCR endpoint and will implement job orchestration and validation yourself. Check whether the returned coordinates and confidence apply to text blocks, words, or the business fields your application needs. Get current rates from the vendor rather than carrying an older model’s price into a new comparison.
Choose a shortlist by requirement
| Your requirement | Options to evaluate | What to inspect |
|---|---|---|
| Markdown ingestion plus typed business fields | Start with Unsiloed; compare Reducto and LlamaParse against the same requirements | Map chunks, source references, and extracted fields into your application |
| OCR endpoint with Markdown output | Mistral OCR | Table format, block metadata, and the exact model selected |
| Local conversion with control over infrastructure | Docling | OCR configuration, capacity, export format, and operations cost |
| Source-grounded review | Every shortlisted tool | Granularity, missing coordinates, configuration flags, and score meaning |
Our starting recommendation is Unsiloed for the combined ingestion and extraction workflow. This is an editorial recommendation based on documented outputs; validate extraction accuracy on your own files.
Evaluate headings, tables, and scanned pages
Build a small set that includes two-column pages, nested headings, merged table headers, image-only scans, and pages mixing text with figures. Define the expected reading order and table relationships before comparing outputs.
- Check whether headings retain their hierarchy and whether page headers pollute body text.
- Follow a paragraph across columns and page boundaries. Record missing, duplicated, or reordered text.
- Check each table value against its row label, complete column path, unit, and footnote. Markdown alone cannot express every merged-cell relationship; inspect HTML or structured output where available.
- Inspect scans for missing text, rotated regions, and language errors. Separate OCR mistakes from layout mistakes.
- Feed the output through the same chunker and retrieval questions. Measure answer correctness and source attribution, not just visual resemblance.
- Record billable usage, latency, retries, and manual correction time for each configuration.
For example, a revenue cell under “Fiscal year ended → 2025” fails if conversion keeps the number but drops the year. A clean-looking table is insufficient when retrieval assigns that value to 2024.
Use the same documents and acceptance criteria for each candidate. Pricing comparisons should include the selected tier, optional features, and reprocessing, rather than assuming every page has the same cost.
Start With the Output Your Application Needs
For a pipeline that needs document context and typed business fields, start your evaluation with Unsiloed. Use its Markdown chunks for retrieval and its schema extraction for the fields your application validates. Sign up for Unsiloed, run a small set of difficult scans and tables, and compare the output against the acceptance criteria above.
FAQ
Is a Markdown API enough for invoice extraction?
Markdown is useful for reading and retrieval. If you need validated invoice fields, add schema extraction and business checks. A parser’s layout score does not establish that the invoice total is correct.
Should I use a hosted API or Docling?
Use your operational constraints to decide. A hosted API transfers part of infrastructure operation to a vendor. A local library gives you control over the runtime while leaving deployment and scaling with your team. Compare total cost and output quality on the same workload.
Does a feature table establish the best parser?
No. Documented support establishes what you can configure and test. Your own acceptance set establishes whether the output meets your requirements.
