Skip to content

cURL Screenshot API Quickstart

Start with one cURL call, then add country, device, PDF, automation steps, jq helpers, and a polling loop — with links to the live API reference.

Minimal create call

export SCREENSHOTCENTER_API_KEY="YOUR_API_KEY"
curl -sS "https://api.screenshotcenter.com/api/v1/screenshot/create?key=${SCREENSHOTCENTER_API_KEY}&url=https://example.com" | jq .

Read data.id and data.status. Finished jobs download with /screenshot/thumbnail (PNG) or /screenshot/pdf when pdf=true. Full schemas: API reference. Guides: Developers.

Save the PNG

ID=12345678
curl -fS "https://api.screenshotcenter.com/api/v1/screenshot/thumbnail?key=${SCREENSHOTCENTER_API_KEY}&id=${ID}" -o shot.png

Country and device

curl -sS "https://api.screenshotcenter.com/api/v1/screenshot/create?key=${SCREENSHOTCENTER_API_KEY}&url=https://example.com&country=jp" | jq .
curl -sS "https://api.screenshotcenter.com/api/v1/screenshot/create?key=${SCREENSHOTCENTER_API_KEY}&url=https://example.com&device_name=iphone_15_pro" | jq .

PDF pipeline

curl -sS "https://api.screenshotcenter.com/api/v1/screenshot/create?key=${SCREENSHOTCENTER_API_KEY}&url=https://example.com&pdf=true&pdf_format=a4&pdf_background=true" | jq .data.id
curl -fS "https://api.screenshotcenter.com/api/v1/screenshot/pdf?key=${SCREENSHOTCENTER_API_KEY}&id=${ID}" -o page.pdf

Automation steps

curl -sS -G "https://api.screenshotcenter.com/api/v1/screenshot/create" \
  --data-urlencode "key=${SCREENSHOTCENTER_API_KEY}" \
  --data-urlencode "url=https://example.com/login" \
  --data-urlencode "step[0][command]=type" \
  --data-urlencode "step[0][element]=input[name=email]" \
  --data-urlencode "step[0][value]=you@example.com" \
  --data-urlencode "step[1][command]=click" \
  --data-urlencode "step[1][element]=button[type=submit]" \
  --data-urlencode "step[2][command]=sleep" \
  --data-urlencode "step[2][value]=2000" \
  --data-urlencode "step[3][command]=screenshot" | jq .

More patterns on Automation.

jq cheat sheet

TaskCommand
Pretty print| jq .
Numeric id| jq -r .data.id
Status| jq -r .data.status

Poll + download

ID=$(curl -sS "https://api.screenshotcenter.com/api/v1/screenshot/create?key=${SCREENSHOTCENTER_API_KEY}&url=https://example.com" | jq -r .data.id)
while true; do
  ST=$(curl -sS "https://api.screenshotcenter.com/api/v1/screenshot/info?key=${SCREENSHOTCENTER_API_KEY}&id=${ID}" | jq -r .data.status)
  [[ "$ST" == "finished" ]] && break
  [[ "$ST" == "error" ]] && exit 1
  sleep 2
done
curl -fS "https://api.screenshotcenter.com/api/v1/screenshot/thumbnail?key=${SCREENSHOTCENTER_API_KEY}&id=${ID}" -o shot.png