Browserless Screenshot Request
Schema for the POST /chrome/screenshot, /chromium/screenshot, and /edge/screenshot REST endpoints. Captures a screenshot of a URL or HTML payload after navigation/JavaScript settles, with viewport, full-page, clipping, header, and cookie options.
Properties
| Name | Type | Description |
|---|---|---|
| url | string | URL to navigate to before capture. Either `url` or `html` must be set. |
| html | string | Inline HTML payload to render. Either `url` or `html` must be set. |
| options | object | Screenshot capture options passed to Puppeteer's `page.screenshot`. |
| viewport | object | Browser viewport for the capture. |
| gotoOptions | object | Navigation options for the initial page.goto call. |
| waitForSelector | object | Wait for a selector to appear before capture. |
| cookies | array | Cookies to inject into the page before navigation. |
| setExtraHTTPHeaders | object | Extra HTTP headers to send with the initial navigation. |
| blockAds | boolean | When true, load uBlock-Lite to suppress ads and trackers. |
| rejectResourceTypes | array | Resource types to block during the capture (e.g. image, font, media). |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.com/schemas/browserless/browserless-screenshot-schema.json",
"title": "Browserless Screenshot Request",
"description": "Schema for the POST /chrome/screenshot, /chromium/screenshot, and /edge/screenshot REST endpoints. Captures a screenshot of a URL or HTML payload after navigation/JavaScript settles, with viewport, full-page, clipping, header, and cookie options.",
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "URL to navigate to before capture. Either `url` or `html` must be set."
},
"html": {
"type": "string",
"description": "Inline HTML payload to render. Either `url` or `html` must be set."
},
"options": {
"type": "object",
"description": "Screenshot capture options passed to Puppeteer's `page.screenshot`.",
"properties": {
"fullPage": {
"type": "boolean",
"description": "When true, capture the full scrollable page height."
},
"type": {
"type": "string",
"enum": ["png", "jpeg", "webp"],
"description": "Image format."
},
"quality": {
"type": "integer",
"minimum": 0,
"maximum": 100,
"description": "JPEG/WebP quality, ignored for PNG."
},
"omitBackground": {
"type": "boolean",
"description": "When true, render with a transparent background (PNG/WebP only)."
},
"clip": {
"type": "object",
"description": "Region of the page to capture.",
"required": ["x", "y", "width", "height"],
"properties": {
"x": { "type": "number" },
"y": { "type": "number" },
"width": { "type": "number" },
"height": { "type": "number" }
}
}
}
},
"viewport": {
"type": "object",
"description": "Browser viewport for the capture.",
"properties": {
"width": { "type": "integer", "minimum": 1 },
"height": { "type": "integer", "minimum": 1 },
"deviceScaleFactor": { "type": "number", "minimum": 0.1 },
"isMobile": { "type": "boolean" }
}
},
"gotoOptions": {
"type": "object",
"description": "Navigation options for the initial page.goto call.",
"properties": {
"waitUntil": {
"type": "string",
"enum": ["load", "domcontentloaded", "networkidle0", "networkidle2"]
},
"timeout": { "type": "integer", "minimum": 0 }
}
},
"waitForSelector": {
"type": "object",
"description": "Wait for a selector to appear before capture.",
"properties": {
"selector": { "type": "string" },
"timeout": { "type": "integer", "minimum": 0 },
"visible": { "type": "boolean" }
}
},
"cookies": {
"type": "array",
"description": "Cookies to inject into the page before navigation.",
"items": {
"type": "object",
"required": ["name", "value"],
"properties": {
"name": { "type": "string" },
"value": { "type": "string" },
"domain": { "type": "string" },
"path": { "type": "string" },
"secure": { "type": "boolean" },
"httpOnly": { "type": "boolean" },
"sameSite": { "type": "string", "enum": ["Strict", "Lax", "None"] }
}
}
},
"setExtraHTTPHeaders": {
"type": "object",
"description": "Extra HTTP headers to send with the initial navigation.",
"additionalProperties": { "type": "string" }
},
"blockAds": {
"type": "boolean",
"description": "When true, load uBlock-Lite to suppress ads and trackers."
},
"rejectResourceTypes": {
"type": "array",
"description": "Resource types to block during the capture (e.g. image, font, media).",
"items": { "type": "string" }
}
},
"oneOf": [
{ "required": ["url"] },
{ "required": ["html"] }
]
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/browserless-screenshot"
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.