Same REST workflow. Chromium rendering. Pay per page, not per tier.
DocRaptor is a solid product, but its tiered subscription model (from $15/mo for 125 docs up to $600+/mo for enterprise) punishes teams with uneven traffic. HTML2DocHub gives you the same REST API shape on real Chromium, billed purely per rendered page — ₹0.08/page with no monthly minimum. Migrate in under an hour.
curl -X POST https://docraptor.com/docs \
-u YOUR_DOCRAPTOR_KEY: \
-H "Content-Type: application/json" \
-d '{
"test": false,
"document_type": "pdf",
"document_content": "<h1>Invoice</h1>",
"prince_options": { "media": "print" }
}' \
-o out.pdf# 1. POST returns JSON with a signed download_url
curl -X POST https://api.html2dochub.com/v1/render \
-H "X-API-Key: sk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "pdf",
"html": "<h1>Invoice</h1>",
"options": { "format": "A4" }
}'
# 2. Fetch the PDF from the returned URL
curl -L -o out.pdf "$DOWNLOAD_URL"# --- Before: DocRaptor
import docraptor
client = docraptor.DocApi()
client.api_client.configuration.username = DOCRAPTOR_KEY
resp = client.create_doc({
"test": False,
"document_type": "pdf",
"document_content": html,
})
with open("out.pdf", "wb") as f:
f.write(resp)
# --- After: HTML2DocHub (plain requests, no SDK needed)
import requests
resp = requests.post(
"https://api.html2dochub.com/v1/render",
headers={"X-API-Key": HTML2DOCHUB_KEY},
json={"type": "pdf", "html": html, "options": {"format": "A4"}},
)
resp.raise_for_status()
pdf = requests.get(resp.json()["download_url"]).content
open("out.pdf", "wb").write(pdf)Pay only for pages rendered. No subscriptions. No minimum monthly fee.
Free account. No credit card required. API ready in minutes.
Get your free API key