Zenrows Scrape Request Structure
Structural documentation of the query parameters accepted by GET https://api.zenrows.com/v1/. Used to drive request builders, dashboards, and Naftiko capability inputs.
Type: object
Properties: 24
Required: 2
Web ScrapingData ExtractionAnti-BotProxiesResidential ProxiesBrowser AutomationScreenshotsCAPTCHAAIMCPSpain
Zenrows Scrape Request Structure is a JSON Structure definition published by ZenRows, describing 24 properties, of which 2 are required. It conforms to the https://json-schema.org/draft/2020-12/schema meta-schema.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/zenrows/refs/heads/main/json-structure/zenrows-scrape-request-structure.json",
"title": "ZenRows Universal Scraper API Request",
"description": "Structural documentation of the query parameters accepted by GET https://api.zenrows.com/v1/. Used to drive request builders, dashboards, and Naftiko capability inputs.",
"type": "object",
"required": ["apikey", "url"],
"properties": {
"apikey": {
"type": "string",
"description": "ZenRows API key."
},
"url": {
"type": "string",
"format": "uri",
"description": "Target URL to scrape."
},
"mode": {
"type": "string",
"enum": ["auto"],
"description": "Set to auto to enable Adaptive Stealth Mode anti-bot bypass."
},
"js_render": {
"type": "boolean",
"default": false,
"description": "Render the page in a real browser before returning content."
},
"premium_proxy": {
"type": "boolean",
"default": false,
"description": "Route the request through the residential proxy pool."
},
"proxy_country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code for proxy geolocation."
},
"custom_headers": {
"type": "boolean",
"default": false,
"description": "Forward custom HTTP headers from the request to the target site."
},
"session_id": {
"type": "integer",
"description": "Pin the same proxy IP across requests for up to 10 minutes."
},
"js_instructions": {
"type": "string",
"description": "Base64-encoded list of browser instructions to execute after page load."
},
"wait": {
"type": "integer",
"description": "Fixed delay in milliseconds after page load before returning the response."
},
"wait_for": {
"type": "string",
"description": "CSS selector to wait for before returning the response."
},
"block_resources": {
"type": "string",
"description": "Comma-separated resource types to block during rendering (image, stylesheet, font, media, etc.)."
},
"css_extractor": {
"type": "string",
"description": "URL-encoded JSON object mapping field names to CSS selectors for structured extraction."
},
"autoparse": {
"type": "boolean",
"default": false,
"description": "Automatically parse the page into structured JSON via ZenRows' built-in extractors."
},
"json_response": {
"type": "boolean",
"default": false,
"description": "Return the response wrapped in JSON, including network requests and metadata."
},
"response_type": {
"type": "string",
"enum": ["markdown", "plaintext", "pdf"],
"description": "Convert the rendered response into another format."
},
"screenshot": {
"type": "boolean",
"default": false,
"description": "Capture an above-the-fold screenshot of the page."
},
"screenshot_fullpage": {
"type": "boolean",
"default": false,
"description": "Capture a full-page screenshot of the page."
},
"screenshot_selector": {
"type": "string",
"description": "CSS selector to scope the screenshot to a single element."
},
"screenshot_format": {
"type": "string",
"enum": ["png", "jpeg"],
"default": "png",
"description": "Output format for screenshot bytes."
},
"screenshot_quality": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "JPEG quality (1-100), used with screenshot_format=jpeg."
},
"outputs": {
"type": "string",
"description": "Comma-separated structured outputs to extract (e.g. emails,phone_numbers,links,images)."
},
"original_status": {
"type": "boolean",
"default": false,
"description": "Return the target site's original HTTP status code rather than ZenRows' normalized code."
},
"allowed_status_codes": {
"type": "string",
"description": "Comma-separated HTTP status codes for which content should still be returned."
}
}
}