Use case
Use it when your application already renders HTML and needs durable PDF output for email, storage, or compliance workflows.
PDF Tools API
Render trusted HTML into PDFs from your backend for reports, receipts, statements, and generated documents.
Credits
1 Credit / call
1 Credit per successful API request. Failed processing attempts are refunded automatically.
Pricing
1,000 Credits = $1
Every signed-in user receives 100 free API Credits each month.
Endpoint
/api/external/html-to-pdf/pdfUse your API Key in the x-api-key header.
Use it when your application already renders HTML and needs durable PDF output for email, storage, or compliance workflows.
curl -X POST https://itextmaster.com/api/external/html-to-pdf/pdf \
-H 'x-api-key: YOUR_API_KEY' \
-F 'html=@index.html;type=text/html' \
-F 'pageSize=A4' \
-F 'printBackground=true' \
--output html-to-pdf.pdfcurl -X POST https://itextmaster.com/api/external/html-to-pdf/pdf \
-H 'x-api-key: YOUR_API_KEY' \
-F 'html=@index.html;type=text/html' \
-F 'pageSize=A4' \
-F 'printBackground=true' \
--output html-to-pdf.pdfcurl -X POST https://itextmaster.com/api/external/html-to-pdf/pdf \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{
"html": "<!doctype html><html><body><h1>Report</h1></body></html>",
"pageSize": "A4",
"printBackground": true
}' \
--output html-to-pdf.pdfimport { writeFile } from 'node:fs/promises';
const response = await fetch('https://itextmaster.com/api/external/html-to-pdf/pdf', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.ITEXTMASTER_API_KEY
},
body: JSON.stringify({
html: '<!doctype html><html><body><h1>Report</h1></body></html>',
pageSize: 'A4',
printBackground: true
})
});
if (!response.ok) {
throw new Error(await response.text());
}
await writeFile('html-to-pdf.pdf', Buffer.from(await response.arrayBuffer()));import os
import requests
response = requests.post(
'https://itextmaster.com/api/external/html-to-pdf/pdf',
headers={
'Content-Type': 'application/json',
'x-api-key': os.environ['ITEXTMASTER_API_KEY'],
},
json={
'html': '<!doctype html><html><body><h1>Report</h1></body></html>',
'pageSize': 'A4',
'printBackground': True,
},
)
response.raise_for_status()
with open('html-to-pdf.pdf', 'wb') as f:
f.write(response.content)invalid_payloadThe JSON or multipart payload is missing required HTML or URL input.
invalid_api_keyThe x-api-key header is missing, invalid, or has been rotated.
insufficient_creditsThe account does not have enough API Credits for the request.
conversion_failedThe server-side rendering service could not complete the conversion. Failed processing attempts are refunded automatically.
html-to-pdf.pdf with Credits response headers.
Content-TypeContent-DispositionX-Credits-ChargedX-Credit-BalanceEach successful HTML to PDF API request uses 1 Credit. 1,000 Credits cost $1, and every signed-in user receives 100 free API Credits each month.
Failed processing attempts are refunded automatically, and the API returns an error response you can log or retry.
No. Keep API Keys server-side and call the endpoint from your backend, queue, or automation job when you need to render HTML to PDF.
Create an API Key, test HTML to PDF API, and buy more Credits only when automation volume grows.