Capture a screenshot
Sync by default (holds up to 28s). Pass `?async=true` to return 202 immediately. Poll via GET /v1/screenshots/{id}.
Authorization
AuthorizationRequiredBearer <token>API key. Obtain from POST /v1/account/api-keys.
In: header
Request Body
application/jsonRequiredurlRequiredstring"uri"devicestring"desktop"Value in: "desktop" | "mobile"viewportobjectnullfull_pagebooleanfalseformatstring"jpeg"Value in: "jpeg" | "png" | "webp"qualityinteger80Minimum: 1Maximum: 100block_adsbooleantrueblock_cookie_bannersbooleantruewait_untilstring"load"Value in: "load" | "domcontentloaded" | "networkidle"wait_for_selectorstring | nullnulldelay_msinteger0Minimum: 0Maximum: 10000scrollbooleantrueclipobjectnullheadersobject{}cookiesarray<object>[]dark_modebooleanfalsedevice_scale_factorinteger | nullnullValue in: 1 | 2 | nullinclude_htmlbooleanfalsecountrystring"US"Pattern: "^[A-Z]{2}$"languagestring | nullnulltimezonestring | nullnullgeolocationobjectnullmetadataobjectArbitrary key-value metadata. Max 4096 bytes when JSON-serialized.
Query Parameters
asyncbooleanfalseScreenshot completed (sync mode).
Reveal API key
Returns the plaintext API key value (the full `sk_live_...` / `sk_test_...` token). Display it once; it will not be returned again from this endpoint without an explicit re-reveal call. Any active member of the owning account may reveal a key. ## Error codes | HTTP | error_code | Meaning | |------|---------------------|---------| | 401 | unauthenticated | Missing or invalid Clerk JWT. | | 403 | forbidden | Caller is not a member of the owning account. | | 404 | not_found | No API key matches the given ID. | | 409 | api_key_revoked | The API key has been revoked and cannot be revealed. | | 409 | reveal_unavailable | This key was created before the reveal feature was enabled. Revoke and recreate to enable reveal. | | 429 | rate_limited | Per-account reveal rate limit exceeded. | | 500 | internal_error | |
Get screenshot status
Next Page