Convert Any URL or HTML
to PDF with One API Call
Pixel-perfect PDF generation powered by a real Chromium browser. No servers to maintain. No rendering headaches. Just clean PDFs.
Building PDF generation in-house
is a nightmare
Every team that's tried to build their own PDF generation has run into these walls. Don't waste months reinventing the wheel.
Headless browser infrastructure
Managing Puppeteer or Playwright servers that crash, leak memory, and need constant babysitting.
CSS rendering inconsistencies
Fonts look different, layouts break, and @media print rules never work like you expect.
Memory leaks & zombie processes
Browser instances that won't die, consuming RAM until your server grinds to a halt.
Scaling bottlenecks
Queue management, timeout handling, and retry logic that takes weeks to get right.
wkhtmltopdf is deprecated
The old standby is abandoned. Time to find something that's actually maintained.
Hidden infrastructure costs
EC2 instances, container orchestration, monitoring — costs add up fast.
Three steps. That's it.
No SDKs to install. No complex configuration. Just a simple HTTP request.
Send a request
POST your URL or raw HTML to our API endpoint with your desired options.
We render it
A real Chromium browser loads your content, executes JavaScript, and renders perfectly.
Get your PDF
Receive a pixel-perfect PDF in seconds. Store it, email it, or stream it to your users.
curl -X POST "https://api.allscreenshots.com/v1/screenshots" \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-invoice.com/123",
"format": "pdf",
"fullPage": true
}' \
--output invoice.pdfWorks with any language that can make HTTP requests. Check out our full documentation for more examples.
Built for every use case
From invoices to reports, our API handles any PDF generation workflow you can imagine.
Invoices & Receipts
Generate branded PDF invoices from your billing pages. Perfect for SaaS, e-commerce, and subscription businesses.
Reports & Dashboards
Export analytics dashboards and reports as PDFs for stakeholders, investors, or compliance requirements.
Contracts & Documents
Archive signed agreements, terms of service acceptances, and legal documents as immutable PDFs.
E-commerce Orders
Generate packing slips, order confirmations, and shipping labels automatically from order pages.
Marketing Collateral
Convert landing pages, case studies, and promotional content into downloadable PDF assets.
Dynamic Documents
Generate personalized certificates, tickets, passes, and any templated document on the fly.
Everything you need for PDF generation
A complete toolkit for converting web content to PDFs, with all the options you'd expect.
Full-page capture
Capture entire pages including content below the fold. No content cutoff, ever.
Custom viewport
Set exact width and height dimensions. Perfect for A4, Letter, or custom sizes.
Wait for selectors
Wait for specific elements to load before capture. Handle dynamic JS content reliably.
Custom headers & cookies
Access authenticated pages by passing your own headers, cookies, and credentials.
Async + webhooks
Fire and forget with async mode. Get notified via webhook when your PDF is ready.
Bulk processing
Generate hundreds of PDFs in a single API call. Perfect for batch operations.
@media print support
Full CSS @media print support. Your print stylesheets work exactly as expected.
Custom backgrounds
Control background rendering. Include or exclude backgrounds as needed.
JavaScript execution
Full JavaScript support. SPAs, React, Vue, Angular — all render correctly.
Ad & tracker blocking
Optional ad and tracker blocking for cleaner, faster PDF generation.
How we compare
See how Allscreenshots stacks up against popular alternatives for HTML to PDF conversion.
| Feature | AllscreenshotsAPI | wkhtmltopdfLibrary | PuppeteerSelf-hosted |
|---|---|---|---|
| Real browser rendering | |||
| Zero infrastructure | |||
| Full JavaScript support | limited | ||
| Modern CSS support | |||
| Free tier available | |||
| Async processing | manual | ||
| Webhook notifications | diy | ||
| Bulk generation | diy | ||
| Auto-scaling | |||
| Actively maintained |
Comparison based on default configurations and common use cases. Features may vary based on implementation.
Pricing that scales with you
No hidden fees. No surprises. Just screenshots.
100 free screenshots on sign-up · 50 bonus for each friend you invite
Pro
- 7,500 screenshots/mo
- 100/min rate limit
- $0.009 overage
- All features included
Business
- 30,000 screenshots/mo
- 200/min rate limit
- $0.0075 overage
- All features included
Enterprise
- 100,000 screenshots/mo
- 400/min rate limit
- $0.005 overage
- All features included
Frequently asked questions
Everything you need to know about our HTML to PDF API.
Generation time depends on page complexity. Simple pages render quickly, while JavaScript-heavy pages may take longer. The default timeout is 30 seconds (max 60 seconds). For longer operations, use our async endpoint so you can continue working while we generate your PDF.
We use a real Chromium browser that fully executes JavaScript. React, Vue, Angular, Svelte — they all work perfectly. You can use the 'waitFor' option with a CSS selector to ensure specific elements are loaded before capture, or set 'waitUntil' to 'networkidle' for SPAs.
Yes! We fully support @media print CSS rules. Your print stylesheets work exactly as they would in a browser's print dialog. You can also inject custom CSS via the 'customCss' parameter to override or add styles.
You can set custom dimensions using viewport width and height (100-4096 pixels). Use 'fullPage: true' to capture the entire scrollable content, or set specific dimensions for fixed-size PDFs. We also support 40+ device presets for common screen sizes.
Use our async endpoint with webhooks. Submit your request, get a job ID immediately, and we'll POST to your webhook URL when the PDF is ready. Webhooks include HMAC-SHA256 signatures for security.
Yes! Set 'blockAds: true' to remove advertisements, or 'blockCookieBanners: true' to hide cookie consent popups. You can also use 'hideSelectors' to remove specific elements by CSS selector.
Yes. All requests are encrypted in transit. Generated PDFs are stored temporarily for retrieval (default 7 days), then deleted. We use Cloudflare R2 for production storage with encryption at rest.
Still have questions?
Start generating PDFs in minutes
Join hundreds of developers using Allscreenshots for PDF generation. No credit card required to get started.
100 free PDFs included every month