# 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)