GET /v1/capture
Query-string shorthand for simple integrations and signed URLs. For server integrations, prefer POST.

Authentication

Bearer Token

Query Parameters

site string (uri) optional query
Alias for `url`.
url string (uri) optional query
device string optional query
bg string optional query
Alias for `background_preset`.
background_preset string optional query
shadow string optional query
aspect_ratio string optional query
selector string optional query
element string optional query
format string optional query
width integer optional query
height integer optional query
project_id string optional query
expires integer optional query
Required for signed URL requests.
signature string optional query
Required for signed URL requests.
payload string optional query
Base64url encoded JSON capture payload.

Responses

201 Capture created
application/json
id string
url string (uri)
width integer
height integer
format string
duration_ms integer
credits_used integer
cached boolean
warnings string[]
Array of:
created_at string
resolved_params object
ai_decisions object
element_resolved object
400 Error response
401 Error response
402 Error response
422 Error response
429 Error response
curl -X GET 'https://screenframed.com/v1/capture' \  -H 'Authorization: Bearer YOUR_API_TOKEN'
const response = await fetch('https://screenframed.com/v1/capture', {  method: 'GET',  headers: {      "Authorization": "Bearer YOUR_API_TOKEN"  }});const data = await response.json();console.log(data);
import requestsheaders = {    'Authorization': 'Bearer YOUR_API_TOKEN'}response = requests.get('https://screenframed.com/v1/capture', headers=headers)print(response.json())
201 Response
{  "id": "<string>",  "url": "<uri>",  "width": 123,  "height": 123,  "format": "<string>",  "duration_ms": 123,  "credits_used": 123,  "cached": true,  "warnings": [    "<string>"  ],  "created_at": "<string>",  "resolved_params": "<object>",  "ai_decisions": "<object>",  "element_resolved": "<object>"}
Ask a question... ⌘I