API ReferenceScreenshots

Capture a screenshot

Sync by default (holds up to 28s). Pass `?async=true` to return 202 immediately. Poll via GET /v1/screenshots/{id}.

POST
/v1/screenshots

Authorization

AuthorizationRequiredBearer <token>

API key. Obtain from POST /v1/account/api-keys.

In: header

Request Body

application/jsonRequired
urlRequiredstring
Format: "uri"
devicestring
Default: "desktop"Value in: "desktop" | "mobile"
viewportobject
Default: null
full_pageboolean
Default: false
formatstring
Default: "jpeg"Value in: "jpeg" | "png" | "webp"
qualityinteger
Default: 80Minimum: 1Maximum: 100
block_adsboolean
Default: true
block_cookie_bannersboolean
Default: true
wait_untilstring
Default: "load"Value in: "load" | "domcontentloaded" | "networkidle"
wait_for_selectorstring | null
Default: null
delay_msinteger
Default: 0Minimum: 0Maximum: 10000
scrollboolean
Default: true
clipobject
Default: null
headersobject
Default: {}
cookiesarray<object>
Default: []
dark_modeboolean
Default: false
device_scale_factorinteger | null
Default: nullValue in: 1 | 2 | null
include_htmlboolean
Default: false
countrystring
Default: "US"Pattern: "^[A-Z]{2}$"
languagestring | null
Default: null
timezonestring | null
Default: null
geolocationobject
Default: null
metadataobject

Arbitrary key-value metadata. Max 4096 bytes when JSON-serialized.

Query Parameters

asyncboolean
Default: false
curl -X POST "https://api.bytekit.com/v1/screenshots" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "http://example.com",
    "device": "desktop",
    "viewport": null,
    "full_page": false,
    "format": "jpeg",
    "quality": 80,
    "block_ads": true,
    "block_cookie_banners": true,
    "wait_until": "load",
    "wait_for_selector": null,
    "delay_ms": 0,
    "scroll": true,
    "clip": null,
    "headers": {},
    "cookies": [],
    "dark_mode": false,
    "device_scale_factor": 1,
    "include_html": false,
    "country": "US",
    "language": null,
    "timezone": null,
    "geolocation": null,
    "metadata": {}
  }'

Screenshot completed (sync mode).

{
  "id": "ss_01j9abc123",
  "status": "pending",
  "url": "string",
  "image_url": "string",
  "page_title": "string",
  "image_width": 0,
  "image_height": 0,
  "file_size_bytes": 0,
  "credits_charged": 0,
  "error_code": "string",
  "error_message": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "completed_at": "2019-08-24T14:15:22Z",
  "expires_at": "2019-08-24T14:15:22Z",
  "poll_url": "string"
}