# 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": "
Hello
", "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:
```bash
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 `Authorization` with the value `Bearer hp_live_...`. You can also add that as a plain header.
- **Body content type:** `application/json`, with the **JSON string** input method.
```json
{
"html": "Invoice {{1.number}}
Total: {{1.total}}
",
"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:** `` between sections.
- **Page numbers:** `"footer_html": " /
"`, 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](https://html-pdf.com/docs) · [MCP server](https://html-pdf.com/mcp)