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
Developer
Free, GitHub login
- Personal API key
- 100 pages/month
- Multi-page PDFs
- No watermark
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"}}'