Menu

Full page options

Reference for the full page options of the shotkit screenshot API, with an example request for each.

Capture the whole scrollable page instead of the viewport. The page is scrolled first so lazy-loaded images and sections render.

full_page

Capture the full scrollable page. Not available for recorded formats (gif, mp4, webm, animated webp); use animation_scroll to record the whole page instead.

Type: boolean · Default: false

curl -X POST "https://shotkit.net/api/take" \
  -H "X-Access-Key: YOUR_ACCESS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","full_page":true}' \
  --fail-with-body -o shot.jpg

full_page_scroll

Scroll to bottom first to load lazy images (auto with full_page).

Type: boolean

curl -X POST "https://shotkit.net/api/take" \
  -H "X-Access-Key: YOUR_ACCESS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","full_page":true,"full_page_scroll":false}' \
  --fail-with-body -o shot.jpg

full_page_scroll_delay

Delay between scroll steps (ms).

Type: number · Default: 400 · Range: 0–5000

curl -X POST "https://shotkit.net/api/take" \
  -H "X-Access-Key: YOUR_ACCESS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","full_page":true,"full_page_scroll_delay":800}' \
  --fail-with-body -o shot.jpg

full_page_scroll_by

Pixels per scroll step (default: viewport height).

Type: number · Min: 50

curl -X POST "https://shotkit.net/api/take" \
  -H "X-Access-Key: YOUR_ACCESS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","full_page":true,"full_page_scroll_by":500}' \
  --fail-with-body -o shot.jpg

full_page_max_height

Cap the full-page height (px).

Type: number · Min: 1

curl -X POST "https://shotkit.net/api/take" \
  -H "X-Access-Key: YOUR_ACCESS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","full_page":true,"full_page_max_height":6000}' \
  --fail-with-body -o shot.jpg

full_page_slices

Split into vertical slices (URLs returned). Returns the slices as URLs: in the JSON body with response_type=json, otherwise in the X-Full-Page-Slices-Url header (a JSON file listing them). The full image is still returned too.

Type: boolean · Default: false

curl -X POST "https://shotkit.net/api/take" \
  -H "X-Access-Key: YOUR_ACCESS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","full_page":true,"full_page_slices":true,"response_type":"json"}' \
  --fail-with-body -o shot.json

full_page_slice_height

Max height per slice.

Type: number · Default: 4000 · Range: 1–16000

curl -X POST "https://shotkit.net/api/take" \
  -H "X-Access-Key: YOUR_ACCESS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","full_page":true,"full_page_slices":true,"full_page_slice_height":2000,"response_type":"json"}' \
  --fail-with-body -o shot.json

full_page_slice_overlap_height

Overlap between slices.

Type: number · Default: 0 · Min: 0

curl -X POST "https://shotkit.net/api/take" \
  -H "X-Access-Key: YOUR_ACCESS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","full_page":true,"full_page_slices":true,"full_page_slice_height":2000,"full_page_slice_overlap_height":100,"response_type":"json"}' \
  --fail-with-body -o shot.json