View raw JSON
{
"type": "object",
"required": [],
"properties": {
"queryParams": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"~standard": {
"vendor": "zod",
"version": 1,
"jsonSchema": {}
},
"properties": {
"page": {
"enum": [
"login",
"signup",
"blog",
"careers",
"pricing",
"terms",
"privacy",
"contact"
],
"type": "string",
"description": "Capture a specific page TYPE instead of the landing page: Context.dev crawls the domain's links and picks the best match (30 languages supported). Only valid with domain."
},
"domain": {
"type": "string",
"minLength": 3,
"description": "Domain to screenshot, e.g. 'example.com'. Mutually exclusive with directUrl."
},
"country": {
"type": "string",
"maxLength": 2,
"minLength": 2,
"description": "Two-letter ISO 3166-1 alpha-2 country code (e.g. 'us', 'gb', 'de'). Must be one of Context.dev's supported countries."
},
"maxAgeMs": {
"type": "integer",
"maximum": 2592000000,
"minimum": 0,
"description": "Reuse a cached result younger than this many milliseconds. Default 86400000 (1 day), max 2592000000 (30 days). Set 0 to always fetch fresh."
},
"directUrl": {
"type": "string",
"format": "uri",
"description": "Exact URL to use, bypassing domain resolution (e.g. 'https://example.com/pricing'). Mutually exclusive with domain."
},
"timeoutMS": {
"type": "integer",
"maximum": 300000,
"minimum": 1000,
"description": "Upstream timeout in milliseconds (max 300000). Context.dev aborts the call with a 408 when exceeded. Keep it below the endpoint's requestTimeoutMs so the provider answers before the platform's own budget expires."
},
"waitForMs": {
"type": "integer",
"maximum": 30000,
"minimum": 0,
"description": "Extra browser wait in milliseconds after page load before the content is captured (0-30000). Useful for JavaScript-heavy pages."
},
"colorScheme": {
"enum": [
"light",
"dark"
],
"type": "string",
"description": "Browser color scheme to emulate for sites that honor prefers-color-scheme."
},
"scrollOffset": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Vertical scroll offset in pixels: returns the viewport-sized slice starting at this Y offset, so a long page can be walked in chunks. Takes precedence over fullScreenshot."
},
"fullScreenshot": {
"type": "boolean",
"description": "Capture the entire page instead of a single viewport. Default false."
},
"handleCookiePopup": {
"type": "boolean",
"description": "Dismiss the cookie/consent banner before capturing. Default false."
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}