---
title: "Take a screenshot of the website or render HTML or Markdown"
method: POST
path: "/bulk"
---

# Take a screenshot of the website or render HTML or Markdown

`POST /bulk`

Take a screenshot by URL or render HTML or Markdown

## Request body

- BulkOptions
  - `access_key` string
  - `execute` boolean, required
  - `optimize` boolean, required
  - `options` ScreenshotOptions, required
    - `url` string, uri
    - `html` string
    - `markdown` string
    - `selector` string
    - `error_on_selector_not_found` boolean
    - `response_type` 'by_format' | 'empty'
    - `format` 'png' | 'jpeg' | 'jpg' | 'webp' | 'gif' | 'jp2' | 'tiff' | 'avif' | 'heif' | 'html'
    - `clip_x` integer
    - `clip_y` integer
    - `clip_width` integer
    - `clip_height` integer
    - `dark_mode` boolean
    - `reduced_motion` boolean
    - `media_type` 'screen' | 'print'
    - `scripts` string
    - `scripts_wait_until` 'load' | 'domcontentloaded' | 'networkidle0' | 'networkidle2'
    - `styles` string
    - `hide_selectors` string[]
    - `hover` string
    - `error_on_hover_selector_not_found` boolean
    - `click` string
    - `image_quality` integer
    - `image_width` integer
    - `image_height` integer
    - `omit_background` boolean
    - `viewport_device` string
    - `viewport_width` integer
    - `viewport_height` integer
    - `device_scale_factor` integer
    - `viewport_mobile` boolean
    - `viewport_has_touch` boolean
    - `viewport_landscape` boolean
    - `full_page` boolean
    - `full_page_scroll` boolean
    - `full_page_scroll_delay` integer
    - `full_page_scroll_by` integer
    - `geolocation_latitude` integer
    - `geolocation_longitude` integer
    - `geolocation_accuracy` integer
    - `block_cookie_banners` boolean
    - `block_banners_by_heuristics` boolean
    - `block_chats` boolean
    - `block_ads` boolean
    - `block_socials` boolean
    - `block_trackers` boolean
    - `block_requests` string[]
    - `block_resources` string[]
    - `cache` boolean
    - `cache_ttl` integer
    - `cache_key` string
    - `user_agent` string
    - `authorization` string
    - `headers` string[]
    - `cookies` string[]
    - `proxy` string, uri
    - `proxy_bypass_hosts` string[]
    - `time_zone` 'America/Santiago' | 'Asia/Shanghai' | 'Europe/Berlin' | 'America/Guayaquil' | 'Europe/Madrid' | 'Pacific/Majuro' | 'Asia/Kuala_Lumpur' | 'Pacific/Auckland' | 'Europe/Lisbon' | 'Europe/Kiev' | 'Asia/Tashkent' | 'Europe/London'
    - `delay` integer
    - `timeout` integer
    - `wait_until` string[]
    - `wait_for_selector` string
    - `store` boolean
    - `storage_bucket` string
    - `storage_path` string
    - `storage_class` 'standard' | 'reduced_redundancy' | 'standard_ia' | 'onezone_ia' | 'intelligent_tiering' | 'glacier' | 'deep_archive' | 'outposts' | 'glacier_ir'
  - `requests` ScreenshotOptions[], required
    - `url` string, uri
    - `html` string
    - `markdown` string
    - `selector` string
    - `error_on_selector_not_found` boolean
    - `response_type` 'by_format' | 'empty'
    - `format` 'png' | 'jpeg' | 'jpg' | 'webp' | 'gif' | 'jp2' | 'tiff' | 'avif' | 'heif' | 'html'
    - `clip_x` integer
    - `clip_y` integer
    - `clip_width` integer
    - `clip_height` integer
    - `dark_mode` boolean
    - `reduced_motion` boolean
    - `media_type` 'screen' | 'print'
    - `scripts` string
    - `scripts_wait_until` 'load' | 'domcontentloaded' | 'networkidle0' | 'networkidle2'
    - `styles` string
    - `hide_selectors` string[]
    - `hover` string
    - `error_on_hover_selector_not_found` boolean
    - `click` string
    - `image_quality` integer
    - `image_width` integer
    - `image_height` integer
    - `omit_background` boolean
    - `viewport_device` string
    - `viewport_width` integer
    - `viewport_height` integer
    - `device_scale_factor` integer
    - `viewport_mobile` boolean
    - `viewport_has_touch` boolean
    - `viewport_landscape` boolean
    - `full_page` boolean
    - `full_page_scroll` boolean
    - `full_page_scroll_delay` integer
    - `full_page_scroll_by` integer
    - `geolocation_latitude` integer
    - `geolocation_longitude` integer
    - `geolocation_accuracy` integer
    - `block_cookie_banners` boolean
    - `block_banners_by_heuristics` boolean
    - `block_chats` boolean
    - `block_ads` boolean
    - `block_socials` boolean
    - `block_trackers` boolean
    - `block_requests` string[]
    - `block_resources` string[]
    - `cache` boolean
    - `cache_ttl` integer
    - `cache_key` string
    - `user_agent` string
    - `authorization` string
    - `headers` string[]
    - `cookies` string[]
    - `proxy` string, uri
    - `proxy_bypass_hosts` string[]
    - `time_zone` 'America/Santiago' | 'Asia/Shanghai' | 'Europe/Berlin' | 'America/Guayaquil' | 'Europe/Madrid' | 'Pacific/Majuro' | 'Asia/Kuala_Lumpur' | 'Pacific/Auckland' | 'Europe/Lisbon' | 'Europe/Kiev' | 'Asia/Tashkent' | 'Europe/London'
    - `delay` integer
    - `timeout` integer
    - `wait_until` string[]
    - `wait_for_selector` string
    - `store` boolean
    - `storage_bucket` string
    - `storage_path` string
    - `storage_class` 'standard' | 'reduced_redundancy' | 'standard_ia' | 'onezone_ia' | 'intelligent_tiering' | 'glacier' | 'deep_archive' | 'outposts' | 'glacier_ir'

## Response `200`

A list of URLs.

- object
  - `url` string, uri

## Other responses

- `400` — An error response.
- `500` — An error response.

---

[API](https://skmtc.net/screenshotone/apis/screenshotone-a-screenshot-and-html-rendering-api.md) · [All operations](https://skmtc.net/screenshotone/apis/screenshotone-a-screenshot-and-html-rendering-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/screenshotone/screenshotone-a-screenshot-and-html-rendering-api/versions/5a976deb0c8a/schema)
