API Version 4
We have released the new major version of our rendering engine for HTML to PDF API and Screenshot API.
V4 is completely backwards compatible and can be used by just changing the API call url to
HTML to PDF API
- Page Headers and Footers
One of the most requested features. We now support automatically injecting header and footer templates to generated PDF documents. You can create these segments in full HTML and customize as you wish. It is also possible to insert dynamic data such as page number, document title etc into the headers and footers.
- Custom Page Sizes
In addition to
pdf_pageparameter, now it’s possible to send
pdf_heightparameters to set up a custom page size.
- We used to generate PDFs on CSS media. However, the API now defaults to
media in order to generate documents as close as to how they look on a browser. You can switch to using setting
- Ad / Cookie Warning Blocking
We have two new options,
block_cookie_warningsin order to apply blocking rules to the page before conversion.
JPEG Rendering Optimizations
If you are requesting
jpeg images you will now receive higher quality images without any noticable file size increase. This also reflects on capture performance so in order to decrease file sizes while maintaining quality, we suggest using
jpeg instead on
Fixed Shutters Not Firing
We have a
shutter feature that can be used to wait for an element to be visible. However it was not working as expected in rare situations, causing the entire capture job to fail.
This functionality has been fixed and you can reliably use
shutter options in your API calls.
Delay Option Improvements
We have made several improvements to
delay option and the order which we apply the delay.
Wait mode: dom
It is now possible to pass
wait=dom parameter in order to wait for
domready event before render. The default is
wait=load which waits for
This way you can create faster captures and handle such sites where loading hangs or takes a lot of time.
Faster API Calls
We have deployed a new capturing architecture which improves our capturing performance 30% in average. These changes have been made available to all users without any modifications required on your side.
Based on our monitoring, we identified several browser crashes occuring during captures. These have been mostly visible in the latest weeks. All issues should be resolved as of now.
API Version 3
We have a new and exciting release of the Screenshot API with many improvements, a brand new rendering engine and new features.
In order to switch to the new version you will need to change your API url from v2 to v3, as in
It is mostly backwards compatible so you should be able to switch without any issues.
Faster Rendering: The version 3 of screenshot API is around twice as fast compared to v2.
Better Engine: Our rendering engine now uses the latest Chromium releases, providing better standards compliance.
New Wait Modes: In previous versions the API would wait for the window load event before rendering the screenshot. Now you have an option to wait for network to become idle using
wait=network parameter to ensure pages load completely even with a lot of async resources.
Shutter: If you need to control the precise moment of capture, you can use
shutter=<css selector> parameter to wait for a DOM element before capture. Combined with js injection, you can control the render time as you wish.
Media Emulation: Now it’s possible to emulate print css media using
emulate_media=print parameter if you wish to capture pages in printing mode.
Better Retina: While the previous version had a retina mode, it came with some caveats regarding to retina image loading, now
retina=true parameter creates true retina images with device scale factor of 2.
More Metadata: Using the
json=true parameter now returns details regarding to the page and server response, as well as the CDN url of the captured image as it always did.
Better Error Reporting: The new API is more transparent regarding to the errors caused by the remote server or on our end. You can work around errors more easily due to this granular error information.
Ability To Capture Error Pages: The previous API would only capture pages with status code of 200-299, now you can override this behavior using
New Service IP Addresses
In order to provide a better and uninterrupted service, we will be adding more servers to our Screenshot API. If you need to whitelist our capture servers please use the following IP addresses: