- Render β convert Markdown into a polished, production-ready PDF without a browser.
- Fill β send a blank AcroForm plus
{ name: value }and get a filled PDF with written appearances.
bp_ API key for both. Fill is not a mode on POST /v1/render. No headless browser, and your Markdown and fill values are never persisted.
Quickstart
Render Markdown or inspect then fill a form β first PDF in under five minutes.
Fill a form
POST /v1/inspect, then POST /v1/fill. Same key as render. Fill spends 1 unit.API Reference
Render, fill, inspect, validate-fill, templates, and the rest of the public surface.
Plans & Pricing
From a free tier (250 units/month) to Pro, Business, and dedicated Enterprise plans. Fill and render share one allowance.
Why Blink PDF
Blink PDF uses a purpose-built render engine β there is no Chromium anywhere in the pipeline. That design unlocks a set of properties that browser-based renderers simply cannot offer:- Two verbs, one key. Render Markdown, or inspect then fill an AcroForm. Fill is not a mode on
POST /v1/render. - Low-latency Markdown rendering. No browser launch, no page load, no layout thrash.
- No browser startup overhead. The render engine avoids spawning Chromium for each document.
- 15 curated themes. Pick a design preset with one field, then override anything per request. See Themes.
- Input never persisted. Your Markdown and fill values are processed in memory and never stored. REST returns the PDF on the response; MCP download files default to 24 hours, or stay until you delete them if you opt in. See Zero Retention.
- Reusable image assets. Stage images once and reference them anywhere as
blink://asset/<id>handles β they donβt count toward your request size. - PDF/UA-1 accessibility. Every PDF Blink generates is tagged for screen readers and passes accessibility audits out of the box.
- Full Unicode and color emoji support. Font subsetting ensures compact file sizes without sacrificing character coverage.
Make your first API call
Render:POST to https://api.blinkpdf.io/v1/render with Markdown in the request body. The response is a raw PDF binary.
Fill: POST to https://api.blinkpdf.io/v1/inspect with an AcroForm, then POST to https://api.blinkpdf.io/v1/fill with the same template plus { name: value }. See Fill a form for a copy-paste inspect-then-fill.
Send a POST request to https://api.blinkpdf.io/v1/render with your Markdown in the request body:
Content-Type: application/pdf plus render-status and usage headers β X-Request-Id (include it when emailing [email protected]), X-Render-Status (ok or degraded), X-Render-Rendered-As-Requested, optional X-Render-Diagnostics (base64url-encoded JSON when the renderer raised issues), X-BlinkPDF-Billing (whether the call was billed) with X-BlinkPDF-Usage-Event-Id, and X-BlinkPDF-Usage-* (your unit usage against the plan). See the API reference for the full list. Fill responses use X-Fill-Warnings instead of X-Render-*.