Screenshot Studio API Authentication

Screenshot Studio has two API surfaces. Editor utility endpoints such as /api/screenshot are anonymous and shaped by per-IP limits. Versioned /api/v1 tenant endpoints require a workspace API key with the declared scope or a signed-in user session with the matching permission.

Anonymous utility endpoints

The utility endpoints listed below do not require credentials. An Authorization header does not grant tenant access to them. A complete capture request looks like this:

curl -X POST https://www.screenshot-studio.com/api/screenshot \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}'

Tenant API credentials

Calls to /api/v1 operate on workspace data. Machine callers send an organization key in X-API-Key. Browser callers may use their signed-in session. The server checks workspace membership, role permission, API-key scope, plan feature, and quota where the operation requires them.

curl https://www.screenshot-studio.com/api/v1/releases \
  -H "X-API-Key: $SCREENSHOT_STUDIO_API_KEY"

Rate limits

EndpointLimitNotes
POST /api/screenshot20 requests per minute per IPReturns 429 with Retry-After and X-RateLimit-* headers.
POST /api/exportUnmeteredBounded by request body size and server processing time.
GET /api/tweet/{id}UnmeteredBounded by the upstream syndication API.
GET /api/image-proxyUnmeteredRestricted to an allowlist of Twitter media hosts.

Handling 429

When the limit is exceeded the response carries Retry-After in seconds alongside X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset. Wait for Retry-After before retrying.

{
  "error": "Rate limit exceeded. Please try again later.",
  "code": "rate_limited",
  "message": "Rate limit exceeded. Please try again later.",
  "hint": "Wait 42 seconds, then retry. This endpoint allows 20 requests per minute per IP address.",
  "status": 429,
  "documentation": "https://www.screenshot-studio.com/docs#errors",
  "retryAfter": 42
}

Credentialed maintenance endpoints

A small number of cache-maintenance endpoints require a shared secret held by the maintainers. They are internal operations and are deliberately absent from the OpenAPI specification.

Next steps

Read the full API documentation, browse the developer portal, or fetch the OpenAPI 3.1 specification.