HTML to PDF in Make
Convert HTML or web pages to PDF in Make (formerly Integromat) scenarios with the HTTP "Make a request" module and the html-pdf.com API.
Quick answer. Add an HTTP Make a request module with these settings and run it. You get back a PDF download link.
- URL:
https://html-pdf.com/v1/pdf - Method:
POST - Header:
Authorization=Bearer hp_live_... - Body (JSON):
{"html": "<h1>Hello</h1>", "response": "url"}
Get an API key
This step gives you a key. Get one by email at https://html-pdf.com/login, or with one call:
curl -X POST https://html-pdf.com/v1/signup \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com"}'
Then open the link we email you to confirm your address. That adds the 100 free credits. 1 credit = 1 PDF page, and no card is needed.
Connect
Here is the full module setup. Add the HTTP app's Make a request module:
- URL:
https://html-pdf.com/v1/pdf - Method:
POST - Authentication: API key. Put the key in a header named
Authorizationwith the valueBearer hp_live_.... You can also add that as a plain header. - Body content type:
application/json, with the JSON string input method.
{
"html": "<h1>Invoice {{1.number}}</h1><p>Total: {{1.total}}</p>",
"format": "A4",
"margin": "15mm",
"response": "url"
}
Easiest: get a link. Use "response": "url" and set Parse response to Yes. The module then outputs url, pages, credits_remaining and expires_at. Map url into the next module, for example HTTP → Download a file if you need the file itself. The link is valid for 24 hours.
Direct file: leave out response to get a binary PDF, and set Parse response to No. The module's Data output is the PDF. Map it as the file content in Google Drive, Gmail, Dropbox and similar modules, with a file name like invoice.pdf.
For a web page, send {"url": "https://example.com"} instead of html.
Try it
These two scenarios show common ways to use the module.
- Webhook → Make a request (PDF link) → Gmail "Send an email" with the PDF attached through Download a file.
- Airtable "Watch records" → Text aggregator (build HTML) → Make a request → Google Drive "Upload a file".
Tips
These settings help with layout and cost.
- Escape your HTML: HTML from other modules may contain quotes. Wrap mapped values with Make's escaping, or build the body in a Create JSON module and map its output.
- Page breaks:
<div style="break-before: page"></div>between sections. - Page numbers:
"footer_html": "<div style='font-size:9px;width:100%;text-align:center'><span class='pageNumber'></span> / <span class='totalPages'></span></div>", plus a margin. - Set
max_pages. Renders over the limit fail and cost nothing.
Troubleshooting
Most problems come from the response format or broken JSON.
- Output is a long binary blob: you parsed a binary response. Use
"response": "url", or map the data as a file instead of as text. - 400
invalid_json: a mapped value broke the JSON. Use Create JSON. - 403
email_not_confirmed: the email behind the key isn't confirmed yet. Click the link we emailed you (it adds the 100 free credits), then run the scenario again. - 402
insufficient_credits: top up at https://html-pdf.com/login. Add an error handler route to catch it. Purchased credits never expire.
FAQ
Is there a free HTML to PDF option for Make?
Yes. A new html-pdf.com account gets 100 free credits once, with no card required. Each credit is one PDF page.
How do I attach the PDF to a Gmail email in Make?
Either leave out response and map the module's Data output as the attachment, or use "response": "url" and add an HTTP → Download a file module before Gmail. Both give Gmail a real file.
Can I add page numbers to PDFs made in Make?
Yes. Add a footer_html value with pageNumber and totalPages spans, as shown in the tips above, and set a margin so the footer has room.
Do credits expire?
No. Purchased credits never expire, and failed renders cost nothing. Packs start at $10 for 1,000 credits.
Full reference: API docs · MCP server
