Skip to content

Screenshot & Web Rendering API

POST /api/v1/capture. Bearer key. Same fields as Studio — including format mp4 for a 5–15s scroll preview. Full documentation lives on Docs. This page is the API landing.

Authentication

Authorization: Bearer $ANEARST_KEY. Keys are hashed at rest. Never embed a live key in public JavaScript.

Request

curl -X POST '$ORIGIN/api/v1/capture' \
  -H 'Authorization: Bearer $ANEARST_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "url": "https://example.com",
  "device": "desktop",
  "width": 1440,
  "height": 900,
  "scale": 1,
  "mode": "viewport",
  "format": "png",
  "dark_mode": false,
  "block_ads": true,
  "block_cookies": true,
  "hide_chats": true,
  "disable_animations": true,
  "js_enabled": true,
  "delay_ms": 400,
  "wait_until": "networkidle"
}'

Response

{
  "capture": {
    "id": "cap_…",
    "file_url": "https://…/api/v1/files/cap_….png",
    "credits": 1
  },
  "report": {
    "status": 200,
    "durationMs": 1820,
    "waitStrategy": "networkidle"
  }
}

Error

{
  "error": "That URL is not allowed.",
  "hint": "Use a public http or https URL. Local and private networks are blocked."
}

Rate limits and credits match the live capture route. See Docs for plan limits, monitoring, and visual regression.