> ## Documentation Index
> Fetch the complete documentation index at: https://docs.screenshotmax.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Screenshot Options

> Customize screenshot generation with ScreenshotMAX API

<Frame caption="Example of https://stripe.com screenshot">
  ![screesnshot](https://screenshotmax.com/static/media/screenshots/stripe.webp)
</Frame>

## Credentials

### access\_key

This parameter is used to authenticate API requests. It should be a string with a maximum length of 24 characters. Every request to the ScreenshotMAX API must include a valid `access_key`, which identifies the calling account. Example: `access_key=abcd1234efgh5678ijkl9012`.

### signature

This parameter is used to verify the authenticity of the request. It should be a string with a maximum length of 64 characters. The `signature` is generated using the `access_key` and your secret key, ensuring that the request has not been tampered with. Example: `signature=abcd1234efgh5678ijkl9012mnop3456`.

## Essential

### url

Defines the target webpage to capture. This parameter must be a valid URL.

You can pass the URL as either a plain string or a percent-encoded string.\
Use encoded format when the URL contains query parameters to avoid conflicts with the API's own querystring.

**Examples:**

* Plain: `url=https://www.example.com`
* Encoded: `url=https%3A%2F%2Fwww.example.com%3Fparam1%3Dvalue1%26param2%3Dvalue2`

### html

This parameter allows you to provide raw HTML content to render and capture as a screenshot
It must be a valid HTML string.

**Either `url` or `html` must be provided.**

Example:
`html=<html><body><h1>Hello, World!</h1></body></html>`

### format

This parameter specifies the format of the screenshot image.\
It should be a string that matches one of the supported values.

**Default value:** `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)         |

### image\_quality

This parameter specifies the quality of the image. It is an integer value between `1` and `100`, where `1` is the lowest quality and `100` is the highest quality. The default value is `80`.

### image\_width

This parameter specifies the width of the screenshot image in pixels. It is an integer value greater than or equal to `0`. The default value is `0`, which means the image will be captured at the original width.

### image\_height

This parameter specifies the height of the screenshot image in pixels. It is an integer value greater than or equal to `0`. The default value is `0`, which means the image will be captured at the original height.

### omit\_background

This parameter indicates whether to render a transparent background for the image. It is useful when the site does not define a background color. The default value is `false`.

## Full Page

This section describes the parameters used to control the full-page screenshot behavior. These parameters can help capture the entire webpage, including content that may not be visible in the viewport.

### full\_page

This parameter indicates whether to capture a full-page screenshot. When set to `true`, the API captures the entire webpage, including content that may not be visible in the viewport. The default value is `false`.

### full\_page\_scroll

This parameter controls whether to scroll the page to capture the full content.
When set to `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.

### full\_page\_scroll\_by\_amount

This parameter specifies the amount to scroll the page when capturing a full-page screenshot. It is an integer value that represents the number of pixels to scroll. The default value is `0`, which means no scrolling.

### full\_page\_scroll\_by\_duration

This parameter specifies the duration of the scroll when capturing a full-page screenshot. It is an integer value that represents the time in milliseconds to wait before scrolling again. The default value is `400` milliseconds.

## GPU

### gpu\_rendering

This parameter determines whether to enable GPU rendering for the webpage. It should be a boolean value, with a default of `false`. Enabling GPU rendering can improve the quality of the capture for complex webpages. Example: `gpu_rendering=true`.

## Viewport

This section describes the parameters used to control the viewport settings for captures. These parameters can help simulate different devices and screen sizes.

### capture\_beyond\_viewport

This parameter allows capturing content beyond the viewport. It is a boolean value with a default of `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

This parameter specifies the device type to simulate for the viewport.\
It should be a string that matches one of the supported device names.

Using this parameter allows the API to emulate different screen sizes and behaviors when capturing screenshots.

Example:\
`viewport_device=iphone_13`

The full list of supported devices is available via the `/devices` endpoint.\
[More information →](https://docs.screenshotmax.com/endpoints/devices)

### viewport\_width

This parameter sets the width of the viewport in pixels. It must be an integer greater than or equal to 0. Adjusting the viewport width can help capture screenshots that match specific screen sizes. Example: `viewport_width=1280`.

### viewport\_height

This parameter sets the height of the viewport in pixels. It must be an integer greater than or equal to 0. Adjusting the viewport height can help capture screenshots that match specific screen sizes. Example: `viewport_height=720`.

### viewport\_landscape

This parameter specifies whether the viewport should be in landscape mode. It is a boolean value. Setting this to `true` will change the orientation of the viewport. Example: `viewport_landscape=true`.

### viewport\_has\_touch

This parameter indicates whether the viewport has touch capabilities. It is a boolean value. This affects how the page is rendered and can be useful for mobile simulations. Example: `viewport_has_touch=true`.

### viewport\_mobile

This parameter indicates whether the viewport is a mobile device. It is a boolean value. Setting this to `true` will simulate a mobile device environment. Example: `viewport_mobile=true`.

### device\_scale\_factor

This parameter determines the device scale factor for the viewport. It should be a number between 1 and 5. This affects the pixel density of the screen. Example: `device_scale_factor=2`.

## Clip

This section explains the clipping parameters used to define which parts of a webpage are captured.

### clip\_x

This parameter specifies the x-coordinate  of the clipped area. It must be an integer greater than or equal to 0. This allows for capturing a specific area of the page. Example: `clip_x=100`.

### clip\_y

This parameter specifies the y-coordinate of the clipped area. It must be an integer greater than or equal to 0. This allows for capturing a specific area of the page. Example: `clip_y=100`.

### clip\_width

This parameter sets the width of the clipped area. It must be an integer greater than or equal to 0. This allows for capturing a specific area of the page. Example: `clip_width=800`.

### clip\_height

This parameter sets the height of the clipped area. It must be an integer greater than or equal to 0. This allows for capturing a specific area of the page. Example: `clip_height=600`.

## Blocking

This section describes the parameters used to block certain elements or resources during the rendering process of the webpage. These parameters help enhance capture speed and content quality by removing unnecessary elements.

### block\_annoyance

This parameter specifies the type of annoyance to block during the capture.\
It should be a string that matches one of the supported values.

Default value: `cookies_banner`\
Example:\
`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

This parameter specifies the types of resources to block during the capture.\
It should be an array of strings that match the supported resource types.

Example:\
`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 |

## Emulation

This section describes the parameters used to control the emulation behavior for captures. These parameters can help simulate different environments and conditions for capturing webpages.

### media\_type

This parameter specifies the media type for the webpage. It should be a string that matches either `screen` or `print`, with a default of `screen`. This affects how the page is rendered. Example: `media_type=print`.

### vision\_deficiency

This parameter indicates the type of vision deficiency to simulate.\
It should be a string that matches one of the supported values.

This can help test accessibility and ensure your content is perceivable by users with visual impairments.

Example:\
`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 |

### dark\_mode

This parameter indicates whether to enable dark mode for the webpage. It is a boolean value with a default of `false`. When set to `true`, the screenshot will render in dark mode. Example: `dark_mode=true`.

### reduced\_motion

This parameter indicates whether to reduce motion effects in the webpage. It is a boolean value with a default of `false`. This can be helpful for accessibility purposes. Example: `reduced_motion=true`.

## Customization

This section describes the parameters used to customize the capture process. These parameters can help tailor the capture to specific needs or preferences.

### hide\_selectors

This parameter specifies selectors to hide during the capture. It should be an array of strings. This can be useful for removing unwanted elements from the content. Example: `hide_selectors=.ad-banner&hide_selectors=.popup`.

### click\_selector

This parameter specifies a selector to click before taking the capture. It should be a string. This allows for interacting with the page before capturing. Example: `click_selector=.start-button`.

## Geolocation

The geolocation parameters allow you to simulate different geographical locations and conditions in your tests. This can be useful for testing location-based features or services.

### geolocation\_accuracy

This parameter sets the accuracy level for geolocation. It must be an integer between 0 and 1,000. This can help simulate different geolocation scenarios. Example: `geolocation_accuracy=200`.

### geolocation\_latitude

This parameter specifies the latitude for geolocation. It must be a number between -90 and 90. This allows for simulating different geographical locations. Example: `geolocation_latitude=37.7749`.

### geolocation\_longitude

This parameter specifies the longitude for geolocation. It must be a number between -180 and 180. This allows for simulating different geographical locations. Example: `geolocation_longitude=-122.4194`.

## Request

This section describes the parameters that can be used in the request to the API.

### timezone

his parameter specifies the time zone for the capture.\
It should be a string that matches one of the supported time zone names.

This helps simulate different local times during the capture process.\
Example:\
`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

Specifies the authorization token to include with the API request, typically used to access protected resources.\
This should be a string encoded in Base64 and passed as the value of the `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

This parameter specifies the name of the attachment for the result. It should be a string without the extension. The extension will be computed from the response. This can be useful for identifying the screenshot in a list of attachments. Example: `attachment_name=screenshot`.

### user\_agent

This parameter specifies the user agent string to use for the request. It should be a string. This allows for simulating different browsers or devices. Example: `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

This parameter allows for specifying cookies to include in the request. It should be an array of strings. This can be useful for maintaining session state. Example: `cookies=session_id=abc123&cookies=user_id=xyz789`.

### headers

This parameter allows for specifying additional headers to include in the request. It should be an array of strings. This can be useful for passing custom headers. Example: `headers=X-Custom-Header:value`.

### ip\_location

This parameter specifies the IP location to simulate. It should be a string that matches one of the supported values.

Example:\
`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                          |

### bypass\_csp

This parameter indicates whether to bypass Content Security Policy during the capture. It is a boolean value with a default of `false`. This can be useful for testing pages with strict CSP. Example: `bypass_csp=true`.

### proxy

This parameter specifies a proxy server to use for the request. It should be a string in URI format. This can be useful for routing requests through a specific server. Example: `proxy=http://proxy.example.com:8080`.

## Wait

This section describes the parameters that can be used to control the timing of the capture process.

### delay

This parameter sets a delay in seconds before taking the capture. It must be an integer between 0 and 30, with a default of 0. This can help ensure that the page is fully loaded before capturing. Example: `delay=5`.

### timeout

This parameter sets a timeout in seconds for the request. It must be an integer between 0 and 30, with a default of 30. This can help prevent long waits for unresponsive pages. Example: `timeout=10`.

### wait\_until

This parameter specifies the events to wait for before taking the capture.\
It should be an array of strings that match one of the supported events.\
Default is `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.                     |

## Metadata

The metadata parameters allow you to include additional information in the capture request. This can be useful for debugging, analysis, or simply to provide more context about the captured content.

### metadata\_icon

This parameter indicates whether to include the website's icon (favicon) in the metadata. It is a boolean value with a default of `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.

### metadata\_fonts

This parameter indicates whether to include font information in the metadata. It is a boolean value with a default of `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.

### metadata\_title

This parameter indicates whether to include the page title in the metadata. It is a boolean value with a default of `false`. Example: `metadata_title=true`.
If enabled, the response headers will include: `X-Screenshotmax-Metadata-Title` — the `<title>` of the target webpage.

### metadata\_status

This parameter indicates whether to include the HTTP status in the metadata. It is a boolean value with a default of `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.

### metadata\_headers

This parameter indicates whether to include the response headers in the metadata. It is a boolean value with a default of `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.

### metadata\_hash

This parameter indicates whether to include a hash of the captured content in the metadata. It is a boolean value with a default of `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.

### metadata\_image\_size

This parameter indicates whether to include the size of the captured image in the metadata. It is a boolean value with a default of `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`).

## Caching

This section outlines the parameters available to configure caching behavior for content responses in API requests.
Captured content can be stored in the cache for a specified duration, enabling faster retrieval of previously processed results.
This helps reduce load times and improve performance for frequently accessed content.

Cached content is accessible via a URL in the following format:
[https://cache.screenshotmax.com/\{hash}.\{ext}](https://cache.screenshotmax.com/\{hash}.\{ext})

In the response headers, the key `X-Screenshotmax-Cache-Url` provides the direct URL to the cached version of the content.

### cache

This parameter indicates whether to enable caching for the result. It is a boolean value with a default of `false`. Example: `cache=true`.

### cache\_ttl

This parameter sets the time-to-live for cached result in seconds. It must be an integer between 1 and 2,592,000 (30 days), with a default of 604,800 (7 days). This controls how long cached results are kept. Example: `cache_ttl=86400`.

## Async and Webhook

This section outlines the parameters used for asynchronous processing and webhook notifications in API requests.

### async

This parameter indicates whether the request should be processed asynchronously. It is a boolean value with a default of `false`. This can be useful for handling long-running requests without blocking. Example: `async=true`.

### webhook\_url

This parameter specifies a webhook URL to send notifications to when the request is completed. It should be a string in URI format.
The webhook URL muste support POST requests and be publicly accessible. Example: `webhook_url=https://example.com/webhook`.

### webhook\_signed

This parameter indicates whether the webhook should be signed for security. It is a boolean value with a default of `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](https://docs.screenshotmax.com/guides/start/signed-requests).
