Get high quality real browser screenshots in seconds using our reliable CDN backed API service.
Get an API Key to start using this fast screenshot API service at ScreenshotsCloud.
Tested against PHP 5.6+ and 7+
Earlier versions of PHP 5 will most likely work without issue.
Install via composer
composer require screenshotscloud/screenshotscloud
Once installed you can generate screenshot urls as follows:
<?php
define('SCREENSHOTSCLOUD_KEY', 'MY_SCREENSHOTSCLOUD_KEY');
define('SCREENSHOTSCLOUD_SECRET', 'MY_SCREENSHOTSCLOUD_SECRET');
$screenshotUrl = \ScreenshotsCloud\ScreenshotsCloud::screenshotUrl([
"url" => "openai.com/research",
"width" => 800
]);
// or supply credentials at generation
$screenshotUrl = \ScreenshotsCloud\ScreenshotsCloud::screenshotUrl([
"url" => "openai.com/research",
"width" => 800
], 'MY_SCREENSHOTSCLOUD_KEY', 'MY_SCREENSHOTSCLOUD_SECRET');
These are the options you can use to customize your screenshot.
Parameter | Default | Description |
---|---|---|
url | Required. The website address that you want to take a screenshot of. | |
browser | fastest | Which browser to run the request on. chrome for Google Chrome, firefox for Mozilla Firefox, fastest to run the request on both browsers and return the request from the browser which renders the screenshot fastest. Defaults to fastest. |
width | 1920 | Width of the thumbnail. This option is only valid for png or jpg format options. |
viewport_width | 1920 | Width of the browser viewport this is the actual width of the page before we resize it for the thumbnail. |
viewport_height | (1320) | Height of the browser viewport, if you do not give this parameter we will calculate it for you based on viewport_width in 16:10 ratio. |
full_page | false | Capture a full length screenshot of the requested page. If the format is pdf this option will always be true. |
format | png | Output the screenshot as a PNG (png), JPEG (jpg) image or PDF (pdf). |
quality | 95 (if format=jpg) | Set the jpeg quality of the screenshot if jpeg is set as the format. |
delay | 250 | Amount of time to wait in milliseconds before taking a screenshot of the page after it is fully loaded. Maximum 60000 (1 minute), minimum 100. |
cache_time | 2592000 | Amount of time in seconds to wait before taking a fresh screenshot for the same request. Maximum 2592000 (30 days), minimum 1. |
force | false | Force a new screenshot to be taken with no cache. |
user_agent | Recent Firefox or Chrome User Agent | Set the user agent this screenshot will identify as. Useful for identifying as a mobile or tablet browser or to identify as a specific browser if the website pretends it needs Internet Explorer. |
trim | false | Trim the excess space around the resulting screenshot using the most top left pixel color, useful for SVG's. |
language | en | Accept-Language header customization for websites that support it, set ja for Japanese, de for German etc. |
cookie | Semi colon separated list of cookies e.g. fruit=apple; drink=tea | |
disable_javascript | false | Don't execute javascript on this page. Forces browser=firefox. |
disable_images | false | Don't download images on this page. Forces browser=firefox. |
timeout | 300000 | Amount of time in milliseconds to wait before taking the screenshot anyway. Maximum 300000 (5 minutes). |
mobile | false | Shortcut to set pixel_ratio, user_agent, viewport_width, viewport_height and width to that of the latest iPhone. |
pixel_ratio | 1 | Multiplier that sets the pixel density of the page relative to the resolution, useful for taking retina screenshots (2). |
click_selector | Accepts valid DOM selector (#wantedselector). Rendered screenshot will only display contents of DOM selector. | |
wait_selector | Accepts valid DOM selector (.valid_selector > .another_class). We will not take the screenshot until .valid_selector appears on this screen and is not display:none; or timeout is reached. | |
clip_selector | Accepts valid DOM selector (e.g. .valid_selector:not(div)). Rendered screenshot will only display contents of DOM selector. This option is only valid for png or jpg format options. | |
hover_selector | Accepts valid DOM selector (e.g. #wantedselector). Mouse will be hovered over the first instance of the selector you specify. Forces browser=chrome. |
More documentation about this package and other language implementations can be found at https://screenshots.cloud/documentation.
Contact us at [email protected] if you have any issues or questions about this package.
Need an implementation for another language?
ScreenshotsCloud is made by Brushd https://brushd.com/