PDF to Markdown API

One endpoint. Send a PDF, get structured markdown back. Tables, headings, lists — all preserved. No signup to try it.

$ curl -X POST https://pdftomarkdown.dev/v1/convert \
  -H "Authorization: Bearer demo_public_key" \
  -H "Content-Type: application/json" \
  -d '{"input":{"pdf_url":"https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"}}'
{
  "markdown": "# Invoice\n\n| Item | Qty | Price |\n|---|---|---|\n| API Pro Plan | 1 | $49.00 |\n\n**Total: $49.00**",
  "pages": 1,
  "request_id": "req_abc123"
}

What it handles

Not a wrapper around Tesseract. A vision-language model that sees document layout the way you do.

Invoices & receipts

Research papers

Legal contracts

Financial reports

Technical manuals

Scanned documents

Python SDK

Three lines. Reads your API key from the environment.

python
$ pip install pdftomarkdown

>>> from pdftomarkdown import convert
>>> result = convert("invoice.pdf")
>>> print(result.markdown)

Pricing

Both tiers are free. No credit card.

Hacker

Free, no signup

  • Public demo key
  • Only page 1 is processed
  • 1 req/min per IP
  • Watermark in output
View docs →

Developer

Free, GitHub login

  • Personal API key
  • 100 pages/month
  • Multi-page PDFs
  • No watermark
Get API key →

Paste this into your terminal. No account needed.

curl -X POST https://pdftomarkdown.dev/v1/convert -H "Authorization: Bearer demo_public_key" -H "Content-Type: application/json" -d '{"input":{"pdf_url":"https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"}}'