Skip to content

Pricing & limits

Free to start — 250 PDFs/month, no card. Upgrade in the portal when you need more.

Plan Price PDFs / month Rate limit Stored templates
Free $0 250 30 / min
Standard $5 / mo 4,000 90 / min
Pro $15 / mo 15,000 120 / min

Manage your plan at app.kikidoc.dev → Settings. Billing is handled by Lemon Squeezy (Merchant of Record) — VAT/tax included, and you get a receipt.

What counts as one unit

Every successful render is one unit: a PDF (/pdf/v1/html, /template, /url, /async) or a screenshot (/pdf/v1/screenshot). Failed renders and rejected requests (401/403/429) are not counted — you're only metered on success.

Which endpoints each plan can use

Endpoint Free Standard Pro
POST /pdf/v1/html
POST /pdf/v1/url
POST /pdf/v1/screenshot
POST /pdf/v1/async
POST /pdf/v1/template (stored templates)
GET /pdf/v1/templates

Limits, explained

  • Monthly quota — the PDFs/month for your plan. Exceed it → 429 until the next cycle (or upgrade).
  • Rate limit — a per-minute request cap (separate from the monthly quota). Burst past it → 429 with a Retry-After header; slow down and retry.

Status codes

Code Meaning
200 Success — the PDF/screenshot bytes, or a JSON signed-URL response
202 Async job accepted (/pdf/v1/async)
400 Target URL blocked by the SSRF guard (/pdf/v1/url, /pdf/v1/screenshot)
401 Missing or invalid API key
403 Your plan can't use this endpoint (e.g. stored templates are Pro)
404 Not found — a job that isn't yours, or an unknown template name
422 Invalid request body (failed validation — e.g. screenshot with neither/both html and url)
429 Monthly quota or per-minute rate limit reached
500 Render failed (not metered)
503 Signed-URL delivery (delivery=url) requested but storage is unavailable