Quickstart
From sign-up to your first captured screenshot.
Create an account
Sign up at ssnap.cc with an email and password, or with Google. A personal team is created for you automatically, because every API key, screenshot and subscription belongs to a team, not to an individual user.
Subscribe to a plan
Open Subscriptions in your dashboard and pick a plan. Captures require an active
subscription: without one, the API answers 402 with code subscription_required.
See Plans and billing for allowances and prices.
Create an API key
Go to API keys, give the key a name, and optionally an expiry date.
The key is shown once, at creation. Ssnap stores only a SHA-256 hash of it, so a lost key cannot be recovered. Delete it and create a new one.
Capture a page
curl -G https://ssnap.cc/api/v1/screenshot \
-H "Authorization: Bearer $SSNAP_API_KEY" \
--data-urlencode "url=https://example.com" \
--data-urlencode "format=png" \
--data-urlencode "full_page=true" \
--output example.pngBy default the response body is the image. Ask for a link instead with response=url:
curl -G https://ssnap.cc/api/v1/screenshot \
-H "Authorization: Bearer $SSNAP_API_KEY" \
--data-urlencode "url=https://example.com" \
--data-urlencode "response=url"{
"url": "https://ssnap.cc/screenshots/0193.../file?expires=...&signature=...",
"cached": false
}The returned link is signed and valid for 24 hours.
Go async for slow pages
Pass a callback_url and the request returns immediately with 202; the finished
capture is POSTed to your endpoint.
curl -X POST https://ssnap.cc/api/v1/screenshot \
-H "Authorization: Bearer $SSNAP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com","callback_url":"https://your-app.com/hooks/ssnap"}'See Async callbacks for the payload and signature scheme.