Customize screenshot generation with ScreenshotMAX API
Example of https://stripe.com screenshot
access_key
, which identifies the calling account. Example: access_key=abcd1234efgh5678ijkl9012
.
signature
is generated using the access_key
and your secret key, ensuring that the request has not been tampered with. Example: signature=abcd1234efgh5678ijkl9012mnop3456
.
url=https://www.example.com
url=https%3A%2F%2Fwww.example.com%3Fparam1%3Dvalue1%26param2%3Dvalue2
url
or html
must be provided.
Example:
html=<html><body><h1>Hello, World!</h1></body></html>
jpeg
Example:format=png
Supported values:
Value | Description |
---|---|
png | PNG image format (lossless) |
jpg | JPEG image format (alias of jpeg) |
jpeg | JPEG image format (default) |
webp | WebP image format (compressed) |
gif | GIF image format (static) |
1
and 100
, where 1
is the lowest quality and 100
is the highest quality. The default value is 80
.
0
. The default value is 0
, which means the image will be captured at the original width.
0
. The default value is 0
, which means the image will be captured at the original height.
false
.
true
, the API captures the entire webpage, including content that may not be visible in the viewport. The default value is false
.
true
, the API will automatically scroll from the top of the page to the bottom and then back up to the top before taking the screenshot. This behavior ensures that content loaded dynamically on scroll — such as images with lazy loading or infinite-scroll sections — is properly rendered and included in the capture.
This is especially useful for pages where elements (like images or data) are only loaded into the DOM when they become visible in the viewport.
0
, which means no scrolling.
400
milliseconds.
false
. Enabling GPU rendering can improve the quality of the capture for complex webpages. Example: gpu_rendering=true
.
false
. When set to true
, the API will capture content that is not currently visible in the viewport. Example: capture_beyond_viewport=true
.
viewport_device=iphone_13
The full list of supported devices is available via the /devices
endpoint.viewport_width=1280
.
viewport_height=720
.
true
will change the orientation of the viewport. Example: viewport_landscape=true
.
viewport_has_touch=true
.
true
will simulate a mobile device environment. Example: viewport_mobile=true
.
device_scale_factor=2
.
clip_x=100
.
clip_y=100
.
clip_width=800
.
clip_height=600
.
cookies_banner
block_annoyance=ads
Supported values:
Value | Description |
---|---|
none | No blocking; capture the page as-is |
ads | Block advertisements |
tracking | Block tracking scripts and pixels |
cookies_banner | Block cookie consent banners (default) |
block_ressources=image&block_ressources=stylesheet
Supported resource types:
Resource Type | Description |
---|---|
document | Main HTML documents |
stylesheet | CSS stylesheets |
image | Images (e.g., JPEG, PNG, SVG) |
media | Audio and video files |
font | Web fonts |
script | JavaScript files |
texttrack | Text tracks for media (e.g., subtitles) |
xhr | XMLHttpRequests (AJAX calls) |
fetch | Fetch API requests |
eventsource | Server-Sent Events (SSE) |
websocket | WebSocket connections |
manifest | Web app manifests |
other | Other types not explicitly listed above |
screen
or print
, with a default of screen
. This affects how the page is rendered. Example: media_type=print
.
vision_deficiency=deuteranopia
Supported values:
Value | Description |
---|---|
achromatopsia | Complete color blindness |
deuteranopia | Red-green color blindness (green-weak) |
blurred_vision | Simulates blurred vision |
reduced_contrast | Simulates reduced contrast sensitivity |
false
. When set to true
, the screenshot will render in dark mode. Example: dark_mode=true
.
false
. This can be helpful for accessibility purposes. Example: reduced_motion=true
.
hide_selectors=.ad-banner&hide_selectors=.popup
.
click_selector=.start-button
.
geolocation_accuracy=200
.
geolocation_latitude=37.7749
.
geolocation_longitude=-122.4194
.
timezone=America/Los_Angeles
Supported values:
Timezone |
---|
Africa/Abidjan |
Africa/Accra |
Africa/Addis_Ababa |
Africa/Algiers |
Africa/Asmara |
Africa/Bamako |
Africa/Bangui |
Africa/Banjul |
Africa/Bissau |
Africa/Blantyre |
Africa/Brazzaville |
Africa/Bujumbura |
Africa/Cairo |
Africa/Casablanca |
Africa/Ceuta |
Africa/Conakry |
Africa/Dakar |
Africa/Dar_es_Salaam |
Africa/Djibouti |
Africa/Douala |
Africa/El_Aaiun |
Africa/Freetown |
Africa/Gaborone |
Africa/Harare |
Africa/Johannesburg |
Africa/Juba |
Africa/Kampala |
Africa/Khartoum |
Africa/Kigali |
Africa/Kinshasa |
Africa/Lagos |
Africa/Libreville |
Africa/Lome |
Africa/Luanda |
Africa/Lubumbashi |
Africa/Lusaka |
Africa/Malabo |
Africa/Maputo |
Africa/Maseru |
Africa/Mbabane |
Africa/Mogadishu |
Africa/Monrovia |
Africa/Nairobi |
Africa/Ndjamena |
Africa/Niamey |
Africa/Nouakchott |
Africa/Ouagadougou |
Africa/Porto-Novo |
Africa/Sao_Tome |
Africa/Tripoli |
Africa/Tunis |
Africa/Windhoek |
America/Adak |
America/Anchorage |
America/Anguilla |
America/Antigua |
America/Araguaina |
America/Argentina/Buenos_Aires |
America/Argentina/Catamarca |
America/Argentina/Cordoba |
America/Argentina/Jujuy |
America/Argentina/La_Rioja |
America/Argentina/Mendoza |
America/Argentina/Rio_Gallegos |
America/Argentina/Salta |
America/Argentina/San_Juan |
America/Argentina/San_Luis |
America/Argentina/Tucuman |
America/Argentina/Ushuaia |
America/Aruba |
America/Asuncion |
America/Atikokan |
America/Bahia |
America/Bahia_Banderas |
America/Barbados |
America/Belem |
America/Belize |
America/Blanc-Sablon |
America/Boa_Vista |
America/Bogota |
America/Boise |
America/Cambridge_Bay |
America/Campo_Grande |
America/Cancun |
America/Caracas |
America/Cayenne |
America/Cayman |
America/Chicago |
America/Chihuahua |
America/Ciudad_Juarez |
America/Costa_Rica |
America/Creston |
America/Cuiaba |
America/Curacao |
America/Danmarkshavn |
America/Dawson |
America/Dawson_Creek |
America/Denver |
America/Detroit |
America/Dominica |
America/Edmonton |
America/Eirunepe |
America/El_Salvador |
America/Fort_Nelson |
America/Fortaleza |
America/Glace_Bay |
America/Goose_Bay |
America/Grand_Turk |
America/Grenada |
America/Guadeloupe |
America/Guatemala |
America/Guayaquil |
America/Guyana |
America/Halifax |
America/Havana |
America/Hermosillo |
America/Indiana/Indianapolis |
America/Indiana/Knox |
America/Indiana/Marengo |
America/Indiana/Petersburg |
America/Indiana/Tell_City |
America/Indiana/Vevay |
America/Indiana/Vincennes |
America/Indiana/Winamac |
America/Inuvik |
America/Iqaluit |
America/Jamaica |
America/Juneau |
America/Kentucky/Louisville |
America/Kentucky/Monticello |
America/Kralendijk |
America/La_Paz |
America/Lima |
America/Los_Angeles |
America/Lower_Princes |
America/Maceio |
America/Managua |
America/Manaus |
America/Marigot |
America/Martinique |
America/Matamoros |
America/Mazatlan |
America/Menominee |
America/Merida |
America/Metlakatla |
America/Mexico_City |
America/Miquelon |
America/Moncton |
America/Monterrey |
America/Montevideo |
America/Montserrat |
America/Nassau |
America/New_York |
America/Nome |
America/Noronha |
America/North_Dakota/Beulah |
America/North_Dakota/Center |
America/North_Dakota/New_Salem |
America/Nuuk |
America/Ojinaga |
America/Panama |
America/Paramaribo |
America/Phoenix |
America/Port-au-Prince |
America/Port_of_Spain |
America/Porto_Velho |
America/Puerto_Rico |
America/Punta_Arenas |
America/Rankin_Inlet |
America/Recife |
America/Regina |
America/Resolute |
America/Rio_Branco |
America/Santarem |
America/Santiago |
America/Santo_Domingo |
America/Sao_Paulo |
America/Scoresbysund |
America/Sitka |
America/St_Barthelemy |
America/St_Johns |
America/St_Kitts |
America/St_Lucia |
America/St_Thomas |
America/St_Vincent |
America/Swift_Current |
America/Tegucigalpa |
America/Thule |
America/Tijuana |
America/Toronto |
America/Tortola |
America/Vancouver |
America/Whitehorse |
America/Winnipeg |
America/Yakutat |
America/Yellowknife |
Antarctica/Casey |
Antarctica/Davis |
Antarctica/DumontDUrville |
Antarctica/Macquarie |
Antarctica/Mawson |
Antarctica/McMurdo |
Antarctica/Palmer |
Antarctica/Rothera |
Antarctica/Syowa |
Antarctica/Troll |
Antarctica/Vostok |
Arctic/Longyearbyen |
Asia/Aden |
Asia/Almaty |
Asia/Amman |
Asia/Anadyr |
Asia/Aqtau |
Asia/Aqtobe |
Asia/Ashgabat |
Asia/Atyrau |
Asia/Baghdad |
Asia/Bahrain |
Asia/Baku |
Asia/Bangkok |
Asia/Barnaul |
Asia/Beirut |
Asia/Bishkek |
Asia/Brunei |
Asia/Chita |
Asia/Choibalsan |
Asia/Colombo |
Asia/Damascus |
Asia/Dhaka |
Asia/Dili |
Asia/Dubai |
Asia/Dushanbe |
Asia/Famagusta |
Asia/Gaza |
Asia/Hebron |
Asia/Ho_Chi_Minh |
Asia/Hong_Kong |
Asia/Hovd |
Asia/Irkutsk |
Asia/Jakarta |
Asia/Jayapura |
Asia/Jerusalem |
Asia/Kabul |
Asia/Kamchatka |
Asia/Karachi |
Asia/Kathmandu |
Asia/Khandyga |
Asia/Kolkata |
Asia/Krasnoyarsk |
Asia/Kuala_Lumpur |
Asia/Kuching |
Asia/Kuwait |
Asia/Macau |
Asia/Magadan |
Asia/Makassar |
Asia/Manila |
Asia/Muscat |
Asia/Nicosia |
Asia/Novokuznetsk |
Asia/Novosibirsk |
Asia/Omsk |
Asia/Oral |
Asia/Phnom_Penh |
Asia/Pontianak |
Asia/Pyongyang |
Asia/Qatar |
Asia/Qostanay |
Asia/Qyzylorda |
Asia/Riyadh |
Asia/Sakhalin |
Asia/Samarkand |
Asia/Seoul |
Asia/Shanghai |
Asia/Singapore |
Asia/Srednekolymsk |
Asia/Taipei |
Asia/Tashkent |
Asia/Tbilisi |
Asia/Tehran |
Asia/Thimphu |
Asia/Tokyo |
Asia/Tomsk |
Asia/Ulaanbaatar |
Asia/Urumqi |
Asia/Ust-Nera |
Asia/Vientiane |
Asia/Vladivostok |
Asia/Yakutsk |
Asia/Yangon |
Asia/Yekaterinburg |
Asia/Yerevan |
Atlantic/Azores |
Atlantic/Bermuda |
Atlantic/Canary |
Atlantic/Cape_Verde |
Atlantic/Faroe |
Atlantic/Madeira |
Atlantic/Reykjavik |
Atlantic/South_Georgia |
Atlantic/St_Helena |
Atlantic/Stanley |
Australia/Adelaide |
Australia/Brisbane |
Australia/Broken_Hill |
Australia/Darwin |
Australia/Eucla |
Australia/Hobart |
Australia/Lindeman |
Australia/Lord_Howe |
Australia/Melbourne |
Australia/Perth |
Australia/Sydney |
Europe/Amsterdam |
Europe/Andorra |
Europe/Astrakhan |
Europe/Athens |
Europe/Belgrade |
Europe/Berlin |
Europe/Bratislava |
Europe/Brussels |
Europe/Bucharest |
Europe/Budapest |
Europe/Busingen |
Europe/Chisinau |
Europe/Copenhagen |
Europe/Dublin |
Europe/Gibraltar |
Europe/Guernsey |
Europe/Helsinki |
Europe/Isle_of_Man |
Europe/Istanbul |
Europe/Jersey |
Europe/Kaliningrad |
Europe/Kirov |
Europe/Kyiv |
Europe/Lisbon |
Europe/Ljubljana |
Europe/London |
Europe/Luxembourg |
Europe/Madrid |
Europe/Malta |
Europe/Mariehamn |
Europe/Minsk |
Europe/Monaco |
Europe/Moscow |
Europe/Oslo |
Europe/Paris |
Europe/Podgorica |
Europe/Prague |
Europe/Riga |
Europe/Rome |
Europe/Samara |
Europe/San_Marino |
Europe/Sarajevo |
Europe/Saratov |
Europe/Simferopol |
Europe/Skopje |
Europe/Sofia |
Europe/Stockholm |
Europe/Tallinn |
Europe/Tirane |
Europe/Ulyanovsk |
Europe/Vaduz |
Europe/Vatican |
Europe/Vienna |
Europe/Vilnius |
Europe/Volgograd |
Europe/Warsaw |
Europe/Zagreb |
Europe/Zurich |
Indian/Antananarivo |
Indian/Chagos |
Indian/Christmas |
Indian/Cocos |
Indian/Comoro |
Indian/Kerguelen |
Indian/Mahe |
Indian/Maldives |
Indian/Mauritius |
Indian/Mayotte |
Indian/Reunion |
Pacific/Apia |
Pacific/Auckland |
Pacific/Bougainville |
Pacific/Chatham |
Pacific/Chuuk |
Pacific/Easter |
Pacific/Efate |
Pacific/Fakaofo |
Pacific/Fiji |
Pacific/Funafuti |
Pacific/Galapagos |
Pacific/Gambier |
Pacific/Guadalcanal |
Pacific/Guam |
Pacific/Honolulu |
Pacific/Kanton |
Pacific/Kiritimati |
Pacific/Kosrae |
Pacific/Kwajalein |
Pacific/Majuro |
Pacific/Marquesas |
Pacific/Midway |
Pacific/Nauru |
Pacific/Niue |
Pacific/Norfolk |
Pacific/Noumea |
Pacific/Pago_Pago |
Pacific/Palau |
Pacific/Pitcairn |
Pacific/Pohnpei |
Pacific/Port_Moresby |
Pacific/Rarotonga |
Pacific/Saipan |
Pacific/Tahiti |
Pacific/Tarawa |
Pacific/Tongatapu |
Pacific/Wake |
Pacific/Wallis |
Authorization
header.
Example: authorization=<base64-encoded-token>
Note: Ensure the token is properly encoded to avoid authentication errors. Common formats include Basic Auth (username:password
) or Bearer tokens, depending on the target service.
attachment_name=screenshot
.
user_agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3
.
cookies=session_id=abc123&cookies=user_id=xyz789
.
headers=X-Custom-Header:value
.
ip_location=us
Supported values:
Country Code | Country |
---|---|
us | United States |
cn | China |
eu | European Union (random EU country) |
ca | Canada |
mx | Mexico |
gb | United Kingdom |
de | Germany |
fr | France |
ch | Switzerland |
in | India |
jp | Japan |
kr | South Korea |
ru | Russia |
br | Brazil |
au | Australia |
false
. This can be useful for testing pages with strict CSP. Example: bypass_csp=true
.
proxy=http://proxy.example.com:8080
.
delay=5
.
timeout=10
.
domcontentloaded
.
Example: wait_until=load&wait_until=networkidle0
Event | Description |
---|---|
load | Waits for the load event to fire (all resources including images and scripts). |
domcontentloaded | Waits for the DOMContentLoaded event (when the initial HTML document is fully loaded and parsed). |
networkidle0 | Waits until there are no more than 0 network connections for at least 500 ms. |
networkidle2 | Waits until there are no more than 2 network connections for at least 500 ms. |
false
. Example: metadata_icon=true
.
If enabled, the response headers will include: X-Screenshotmax-Metadata-Icon
— the URL path to the favicon of the target webpage.
false
. This can be useful for analyzing the fonts used on the webpage. Example: metadata_fonts=true
.
If enabled, the response headers will include: X-Screenshotmax-Metadata-Fonts
— a comma-separated list of fonts used on the page.
false
. Example: metadata_title=true
.
If enabled, the response headers will include: X-Screenshotmax-Metadata-Title
— the <title>
of the target webpage.
false
. This can be useful for understanding the response status of the request. Example: metadata_status=true
.
If enabled, the response headers will include: X-Screenshotmax-Metadata-Status
— the HTTP status code of the response.
false
. This can help in analyzing the headers returned by the server. Example: metadata_headers=true
.
If enabled, the response headers will include: X-Screenshotmax-Metadata-Headers
— a JSON string of all response headers from the target webpage.
false
. Example: metadata_hash=true
.
If enabled, the response headers will include: X-Screenshotmax-Metadata-Hash
— a SHA-256 hash of the webpage content, useful for change detection.
false
. Example: metadata_image_size=true
.
If enabled, the response headers will include: X-Screenshotmax-Metadata-Image-Size
— the width and height of the captured image in pixels (e.g., 1920x1080
).
X-Screenshotmax-Cache-Url
provides the direct URL to the cached version of the content.
false
. Example: cache=true
.
cache_ttl=86400
.
false
. This can be useful for handling long-running requests without blocking. Example: async=true
.
webhook_url=https://example.com/webhook
.
true
. This can help ensure that notifications are from a trusted source. Example: webhook_signed=false
.
The signature is a SHA-256 hash of the request body combined with your secret key. It ensures the authenticity of the notification and protects against tampering.
For details on how to verify the signature, refer to the signed requests documentation.