ProdaDoc API
URL → PDF · v2.4
ProdaDoc converts any URL or HTML template into a pixel-perfect PDF. It uses a full Chromium rendering engine with complete JavaScript execution — supporting React, Chart.js, D3, and any other JS-powered content.
Authentication
All API requests require a Bearer token. Generate keys from your API Keys dashboard.
Authorization: Bearer sk_live_••••••••
Endpoints
/v1/pdfRender a URL or HTML string to PDF/v1/jobs/{id}Retrieve async job status and result/v1/pdf/batchSubmit multiple render jobs at onceParameters
Request body must be JSON with Content-Type: application/json.
urlhtmlformatmarginprint_backgroundwait_forblock_adstimeoutasyncwebhook_urls3_buckets3_keyAsync & Webhooks
For bulk operations, pass async: true and a webhook_url. The API immediately returns a job ID. When rendering completes, we POST the result to your webhook.
// Async request
POST /v1/pdf
{ "url": "https://...", "async": true, "webhook_url": "https://yourapp.com/hooks/pdf" }
// Immediate response
{ "job_id": "job_abc123", "status": "queued" }
// Webhook payload (when complete)
POST https://yourapp.com/hooks/pdf
{ "job_id": "job_abc123", "status": "complete", "pdf_url": "https://cdn.scaleapis.com/docs/abc123.pdf" }Error Codes
400Missing url or html, or invalid parameter value.
401Missing or invalid Bearer token.
403URL blocked by content policy or plan limit reached.
422Page loaded but PDF generation failed.
429Rate limit exceeded. See Retry-After header.
500Rendering engine error. Retry with exponential backoff.
Rate Limits
Rate limits apply per API key. Exceeding limits returns a 429 response with a Retry-After header.Upgrade your plan →