API Documentation

Generate website screenshots with one GET request.

Endpoint

GET/api/screenshotGenerate screenshot image
ParameterTypeRequiredDescription
urlstringYesTarget HTTP/HTTPS URL.
widthnumberNoViewport width. Default 1280.
heightnumberNoViewport height. Default 720.
formatpng | jpeg | webpNoOutput image format. Default png.
quality1-100NoJPEG/WebP quality. Default 80.
fullPagebooleanNoCapture full scroll height. Default false.
delaymsNoDelay before capture, max 5000. Default 0.

Required header: x-api-key: your_api_key

Auth and Billing Endpoints

POST/api/keysCreate API key for an email
GET/api/keys?email=you@example.comList keys for an email
GET/api/usageCurrent monthly usage and remaining quota (requires x-api-key header)
POST/api/checkoutCreate Lemon Squeezy checkout URL
POST/api/webhooks/lemonsqueezyLemon Squeezy webhook receiver

Examples

curl

curl -L "https://your-domain.com/api/screenshot?url=https%3A%2F%2Fexample.com&width=1280&height=720&format=png" \
  -H "x-api-key: your_api_key" \
  --output screenshot.png

JavaScript

const params = new URLSearchParams({
  url: "https://example.com",
  width: "1280",
  height: "720",
  format: "webp",
  quality: "80",
  fullPage: "true",
});

const res = await fetch(`/api/screenshot?${params.toString()}`, {
  headers: { "x-api-key": "your_api_key" },
});
const blob = await res.blob();

Pricing Limits

PlanPriceRequests / Month
Free₩050
Starter₩7,0005,000
Pro₩27,00030,000