Skip to main content
POST
Capture a page snapshot

Authorizations

Authorization
string
header
required

Customer API key from the Scrinly dashboard.

Headers

X-Scrinly-Provider-API-Key
string
write-only

Ephemeral server-to-server key for the selected AI provider. Never put it in a URL or JSON body.

Body

application/json
url
string<uri>
required
Maximum string length: 2048
Pattern: ^https?://
timeout
integer
default:30
Required range: 10 <= x <= 60
waitUntil
enum<string>
default:networkidle2
Available options:
load,
domcontentloaded,
networkidle0,
networkidle2
width
integer
Required range: 100 <= x <= 3840
height
integer
Required range: 100 <= x <= 2160
device
string

Supported device preset; overrides width and height.

theme
enum<string>
default:light
Available options:
light,
dark
blockAds
boolean
default:true
blockChatWidgets
boolean
default:true
blockPopups
boolean
default:true
blockAccessibilityWidgets
boolean
default:true
hideSelectors
string[]
Minimum string length: 1
clickSelectors
string[]
Minimum string length: 1
scrollToElement
string
Minimum string length: 1
headers
object
write-only
cookies
object[]
write-only
priority
enum<string>
default:normal
Available options:
low,
normal,
high
cache
boolean
default:false
webhookUrl
string<uri>
Maximum string length: 2048
Pattern: ^https?://
webhookSecret
string
write-only
store
boolean
default:false
storage_provider
enum<string>
Available options:
b2,
s3,
r2
storage_path
string
storage_bucket
string
storage_endpoint
string<uri>
storage_region
string
default:auto
storage_access_key_id
string
write-only
storage_secret_access_key
string
write-only
storage_public_domain
string<uri>
storage_return_location
boolean
markdown
boolean
default:false
html
boolean
default:false
images
boolean
default:false
videos
boolean
default:false
fonts
boolean
default:false
colors
boolean
default:false
structure
boolean
default:false
design
boolean
default:false
blueprint
boolean
default:false

Implies design and requires synchronous mode. Adds 6 credits.

viewports
enum<string>[]

Widest first. Only valid with blueprint=true.

Available options:
desktop,
mobile
screenshots
boolean
default:true

One stored screenshot per viewport. Only valid with blueprint=true.

interpret
boolean
default:false

Generate a grounded prose reading of the blueprint. Only valid with blueprint=true. Adds 3 credits, or 1 with your own provider key.

provider
enum<string>
default:deepseek
Available options:
deepseek,
openai
refresh
boolean
default:false
async
boolean
default:false

Response

Snapshot, optionally carrying a blueprint and its interpretation. blueprint_only reports a capture that succeeded with a failed interpretation.

success
any
required
type
any
required
url
string<uri>
required
Maximum string length: 2048
Pattern: ^https?://
metadata
object
required
renderTime
integer
required
Required range: x >= 0
status
enum<string>

blueprint_only means the capture succeeded and the interpretation did not — see blueprint.interpretationError. The blueprint is present and its credits are not refunded.

Available options:
completed,
blueprint_only
markdown
string
html
string
images
string[]
videos
string[]
fonts
object[]
colors
object[]
structure
object
design
object

Deterministic extraction of authored tokens and observed design signals.

blueprint
object

Everything needed to rebuild the page, attributed to the parts of the page it belongs to. Motion and responsive layout are filed under regions rather than listed flat, so "what does the hero do" is answerable. url, metadata, markdown, links, images and design are not restated here — they are already top-level fields of the same response.

credits
object
startedAt
string<date-time>
completedAt
string<date-time>