Request schema
{
"type": "object",
"description": "A render request. The body is JSON and is bounded by the service at 8 KiB.",
"properties": {
"url": {
"type": "string",
"maxLength": 4096,
"description": "The public page to render (http or https, port 80 or 443)."
},
"formats": {
"type": "array",
"items": {
"type": "string",
"enum": [
"markdown",
"text",
"html",
"links"
]
},
"description": "Which renderings to return (default markdown)."
},
"max_chars": {
"type": "integer",
"minimum": 1,
"maximum": 100000,
"description": "Cap on returned characters (default 20000)."
},
"screenshot": {
"type": "boolean",
"description": "Include a base64 screenshot, at most 1 MB (default false)."
},
"screenshot_format": {
"type": "string",
"enum": [
"png",
"jpeg"
],
"description": "Screenshot encoding (default png)."
},
"full_page": {
"type": "boolean",
"description": "Screenshot the full page, clipped to 4000 px high (default false)."
},
"viewport": {
"type": "object",
"description": "Viewport size in pixels.",
"properties": {
"width": {
"type": "integer",
"minimum": 320,
"maximum": 1920
},
"height": {
"type": "integer",
"minimum": 240,
"maximum": 1600
}
}
},
"wait_until": {
"type": "string",
"enum": [
"domcontentloaded",
"load",
"networkidle"
],
"description": "When the page counts as loaded (default domcontentloaded)."
},
"wait_for_selector": {
"type": "string",
"maxLength": 300,
"description": "A CSS selector to wait for, at most 1.5 s."
},
"wait_ms": {
"type": "integer",
"minimum": 0,
"maximum": 1500,
"description": "Extra wait after load, in milliseconds (default 0)."
},
"block": {
"type": "array",
"items": {
"type": "string",
"enum": [
"image",
"media",
"font",
"stylesheet"
]
},
"description": "Resource types not to load (default media and font)."
}
},
"required": [
"url"
]
}
Response schema
{
"type": "object",
"description": "For POST /v1/render, a JSON object with request_id, url, requested_url, status_code, title, meta (render_ms, fetched_at, chars, truncated, js, robots, content_type, lang), error (null on success), warnings, links and the requested renderings, plus screenshot when asked. A page that cannot be rendered answers 200 with an error code such as ROBOTS_DISALLOWED; a bad request answers 4xx with `{ error: { code, message, retryable } }`."
}