MintPDF — HTML & Markdown to PDF API for AI agents
MintPDF
HTML & Markdown → PDF API · MCP native
Free converter<br>Guides<br>GET A FREE KEY
01 · PURPOSE<br>Markdown in. Finished document out.
A PDF API for developers and AI agents. No template editor, no template IDs,<br>no dashboard. One POST request, or one MCP tool call. Markdown comes with a stylesheet that makes<br>agent-written documents look right by default.
built forinvoices · receipts · reports · agent output<br>sendMarkdown, HTML, or a public URL<br>get backPDF bytes, or a link that expires in an hour
02 · OUTPUT<br>markdown in → invoice
# Invoice #42
| Item | Price |<br>|--------|--------|<br>| Widget | $9.00 |
rendered · 0.9s · A4
Invoice #42
ItemPrice<br>Widget$9.00Gadget$24.00<br>Generated with MintPDF1 / 1
03 · INPUT<br># no signup needed, 10 seconds<br>curl -X POST https://mintpdf.dev/v1/pdf \<br>-H "Content-Type: application/json" \<br>-d '{"markdown":"# Invoice #42\n\n| Item | Price |\n|---|---|\n| Widget | $9.00 |\n| Gadget | $24.00 |","pageNumbers":true}' \<br>--output invoice.pdf
# → 200 application/pdf · one A4 page, table already styled
# want a link instead of bytes? add:<br>"output": "url" → {"download_url": "…", "expires_at": "…"}
04 · MCP<br># one line in your MCP config<br>"mintpdf": {<br>"command": "npx",<br>"args": ["-y", "mintpdf-mcp"]
# or point straight at the hosted endpoint with mcp-remote:<br># …railway.app/mcp
toolsgenerate_pdf · pdf_from_url<br>transportstreamable HTTP, stateless<br>returnsdownload URL, 1h TTL
05 · HOW IT WORKS<br>One request. Chromium renders it. You get a document.
bash — a real session
# send content, not a template id<br>$ curl -sS -X POST https://mintpdf.dev/v1/pdf \<br>-H 'Content-Type: application/json' \<br>-d '{"markdown":"# Q3 report\n\nRevenue grew **12%**.",<br>"pageNumbers":true, "footerText":"Acme Ltd"}' \<br>-o report.pdf -D -
HTTP/2 200<br>content-type: application/pdf<br>x-ratelimit-remaining: 2
$ pdfinfo report.pdf | head -3<br>Pages: 3<br>Page size: 595 x 842 pts (A4)<br>File size: 166 kB
# prefer a link? add "output":"url"<br>$ curl -sS …/v1/pdf -d '{"markdown":"# Hi","output":"url"}'<br>{"download_url":"https://mintpdf.dev/f/…",<br>"expires_at":"…","size_bytes":6751} ✓<br># the file is deleted an hour later
01 · SEND
Markdown, HTML, or a URL
One POST, or one MCP tool call from an agent. No template to design first, no template id<br>to keep in sync with your code.
02 · RENDER
Headless Chromium, with print CSS that behaves
Markdown gets a stylesheet that keeps code blocks and tables whole across page breaks and<br>repeats table headers. Send HTML instead and your own CSS is used as-is.
03 · TAKE IT
PDF bytes, or a link that expires
Stream the file straight into your response, or take a download URL valid for one hour.<br>Nothing is stored afterwards.
06 · FREE KEY<br>100 renders/month, free
One email, one key, no card. Or try<br>10 renders a day with no signup at all. Lost your key? Ask again with the same email.
GET KEY
Your key appears here, instantly.
# or from the terminal<br>curl -X POST …/v1/keys \<br>-d '{"email":"you@example.com"}'
07 · OPTIONS
formatA4 · Letter · Legal · A3 · A5<br>marginany, e.g. "18mm"<br>landscapetrue / false<br>header / footertext on every page<br>pageNumbers"3 / 7" in footer<br>engineChromium. Your CSS works
08 · PRICE<br>Free · 100 renders/month
REST API and MCP server, both included
Every option: sizes, margins, headers, your own CSS
No card, no seats, no sales calls
Solo$19 /mo3,000 renders/month<br>Team$49 /mo12,000 renders/month<br>Scale$129 /mo50,000 renders/month
Solo<br>Team<br>Scale
UPGRADE
Upgrades the key you already have. No seats, no sales calls,<br>cancel anytime.
09 · RETENTION<br>Your documents are rendered and forgotten.<br>Generated files auto-delete after one hour. No accounts, no<br>document storage, no tracking of what you render. Requests to private and internal addresses<br>are blocked at the browser layer.