ZenRows · JSON Structure

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.

Properties

apikey url mode js_render premium_proxy proxy_country custom_headers session_id js_instructions wait wait_for block_resources css_extractor autoparse json_response response_type screenshot screenshot_fullpage screenshot_selector screenshot_format screenshot_quality outputs original_status allowed_status_codes

Meta-schema: https://json-schema.org/draft/2020-12/schema

JSON Structure

Raw ↑
{
  "$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."
    }
  }
}