Bulk URL to PDF Converter & API
Paste a list of URLs and turn every page into a high-quality PDF with your choice of paper size, orientation, and backgrounds.
Paste up to 50 URLs above, pick a paper size and orientation, and the converter renders each page to PDF one by one. You get 5 free PDFs without an account; see plans for more. To generate PDFs from your own code, use the PDF API reference.
The Agenty PDF API renders any URL through headless Chrome and returns a high-quality PDF. You control page size, orientation, margins, headers, footers, and whether to include background graphics or honour @media print CSS.
By default the API returns the PDF binary. Pass responseType: "url" to upload the file to our CDN and receive a hosted URL instead — convenient for emails, dashboards, and async pipelines.
Features
- A4, Letter, customStandard sizes plus any custom width/height.
- Headers & footersDynamic page numbers and total page count.
- Print CSS supportRespects @media print for clean layouts.
- Background graphicsToggle background colours and images.
- Orientation controlPortrait or landscape per request.
- Multi-pageAutomatic page breaks and pagination.
- Bulk conversionPaste a list of URLs and convert them in one run.
- URL or bufferReturn raw PDF or hosted CDN URL via responseType.
Use cases
- Generate invoices and receipts from HTML templates
- Convert dashboards into shareable PDF reports
- Archive web pages for legal and compliance records
- Build eBooks by stitching multiple articles together
- Email-friendly statements and confirmations
API examples
View full API referencecurl -X POST https://api.agenty.ai/v1/pdf \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/report"
}' \
--output report.pdfcurl -X POST https://api.agenty.ai/v1/pdf \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/invoice",
"options": {
"format": "A4",
"printBackground": true,
"margin": { "top": "20mm", "bottom": "20mm" }
},
"responseType": "url"
}'const res = await fetch('https://api.agenty.ai/v1/pdf', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'https://example.com/report',
responseType: 'url', // get a link instead of the buffer
}),
});
const { url } = await res.json();
console.log('PDF URL:', url);import requests
res = requests.post(
"https://api.agenty.ai/v1/pdf",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"url": "https://example.com/report"},
)
with open("report.pdf", "wb") as f:
f.write(res.content)How Agenty compares
| Feature | Agenty | DocRaptor | PDFShift | HTML2PDF |
|---|---|---|---|---|
| URL to PDF | Yes | Yes | Yes | Yes |
| Custom headers/footers | Yes | Yes | Yes | Limited |
| Page size control | Yes | Yes | Yes | Limited |
| Hosted URL response | Yes | Limited | Yes | No |
| Free tier | Yes | No | Yes | Yes |
Frequently asked questions
What is the Web to PDF API?
The Agenty PDF API converts any web page into a high-quality PDF. You can control page size, orientation, margins, headers, footers, and whether to include background graphics. See the API reference for every option.
How do I convert multiple URLs to PDF at once?
Paste your URLs into the bulk converter at the top of this page, one per line, and click Generate PDFs. Each page is rendered in turn and you can download them individually or all at once. With the API, call POST /v1/pdf once per URL. Need images instead? Use the bulk website screenshot tool.
How do I get a URL instead of the PDF binary?
Pass responseType: "url" in your request body. The API uploads the generated PDF to our CDN and returns a hosted link in JSON — useful for emails, webhook-driven jobs, and async pipelines.
Can I add headers and footers?
Yes. Set options.displayHeaderFooter: true and pass HTML in options.headerTemplate and options.footerTemplate. Use elements like <span class="pageNumber"></span> and <span class="totalPages"></span> for dynamic pagination.
Does it respect @media print CSS?
Yes. We apply @media print styles during rendering. Set emulateMedia: "screen" to render the on-screen styles instead, or inject your own CSS with addStyleTag before the PDF is generated.
Is there a free tier?
You can convert 5 pages without an account, and all accounts include free credits. Check our pricing page for details.