> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# zenrows

> Web Scraping API

**Server path:** `/zenrows` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                        | Description      |
| ------------------------------------------- | ---------------- |
| [`zenrows_scrape_url`](#zenrows_scrape_url) | Scrape a webpage |

***

## zenrows\_scrape\_url

Scrape a webpage

**Parameters:**

| Parameter              | Type    | Required | Default | Description                                                                                                                     |
| ---------------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `url`                  | string  | Yes      | —       | The target webpage URL to scrape.                                                                                               |
| `mode`                 | string  | No       | —       | Adaptive Stealth Mode that auto-escalates anti-bot bypass features as needed.                                                   |
| `js_render`            | boolean | No       | —       | Enable headless browser JavaScript execution for pages that require JS to render content.                                       |
| `premium_proxy`        | boolean | No       | —       | Route requests through residential IP network for better success rates on heavily protected sites.                              |
| `proxy_country`        | string  | No       | —       | Specify residential proxy geolocation using ISO country codes (e.g., 'us', 'gb', 'de'). Requires premium\_proxy to be enabled.  |
| `css_extractor`        | string  | No       | —       | JSON object mapping field names to CSS selectors for extracting specific elements. Example: \{"title": "h1", "price": ".price"} |
| `autoparse`            | boolean | No       | —       | Automatically extract structured data from the page (product details, article content, etc.).                                   |
| `response_type`        | string  | No       | —       | Convert the HTML output to a different format.                                                                                  |
| `custom_headers`       | boolean | No       | —       | Enable sending custom HTTP headers with the scraping request.                                                                   |
| `js_instructions`      | string  | No       | —       | Custom JavaScript instructions to execute on the page before extracting content. Requires js\_render to be enabled.             |
| `wait`                 | integer | No       | —       | Fixed delay in milliseconds to wait after page load before extracting content.                                                  |
| `wait_for`             | string  | No       | —       | CSS selector to wait for before extracting content. Pauses until the specified DOM element appears.                             |
| `block_resources`      | string  | No       | —       | Block specific resource types from loading (e.g., 'image', 'font', 'stylesheet') to speed up scraping.                          |
| `json_response`        | boolean | No       | —       | Capture network requests and XHR data from the page as JSON.                                                                    |
| `screenshot`           | boolean | No       | —       | Capture an above-the-fold screenshot of the page.                                                                               |
| `screenshot_fullpage`  | boolean | No       | —       | Capture a full-page screenshot.                                                                                                 |
| `screenshot_selector`  | string  | No       | —       | CSS selector for capturing a screenshot of a specific element on the page.                                                      |
| `screenshot_format`    | string  | No       | —       | Image format for screenshots.                                                                                                   |
| `screenshot_quality`   | integer | No       | —       | JPEG compression quality for screenshots (1-100). Only applies when screenshot\_format is jpeg.                                 |
| `session_id`           | integer | No       | —       | Maintain the same IP address across multiple requests within a 10-minute window.                                                |
| `original_status`      | boolean | No       | —       | Return the original HTTP status code from the target site instead of ZenRows status.                                            |
| `allowed_status_codes` | string  | No       | —       | Comma-separated HTTP status codes. Return content even when the target site returns these error codes.                          |
| `outputs`              | string  | No       | —       | Specify extraction data types to filter the output.                                                                             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "url": {
        "type": "string",
        "description": "The target webpage URL to scrape."
      },
      "mode": {
        "type": "string",
        "description": "Adaptive Stealth Mode that auto-escalates anti-bot bypass features as needed.",
        "enum": [
          "auto"
        ]
      },
      "js_render": {
        "type": "boolean",
        "description": "Enable headless browser JavaScript execution for pages that require JS to render content."
      },
      "premium_proxy": {
        "type": "boolean",
        "description": "Route requests through residential IP network for better success rates on heavily protected sites."
      },
      "proxy_country": {
        "type": "string",
        "description": "Specify residential proxy geolocation using ISO country codes (e.g., 'us', 'gb', 'de'). Requires premium_proxy to be enabled."
      },
      "css_extractor": {
        "type": "string",
        "description": "JSON object mapping field names to CSS selectors for extracting specific elements. Example: {\"title\": \"h1\", \"price\": \".price\"}"
      },
      "autoparse": {
        "type": "boolean",
        "description": "Automatically extract structured data from the page (product details, article content, etc.)."
      },
      "response_type": {
        "type": "string",
        "description": "Convert the HTML output to a different format.",
        "enum": [
          "markdown",
          "plaintext",
          "pdf"
        ]
      },
      "custom_headers": {
        "type": "boolean",
        "description": "Enable sending custom HTTP headers with the scraping request."
      },
      "js_instructions": {
        "type": "string",
        "description": "Custom JavaScript instructions to execute on the page before extracting content. Requires js_render to be enabled."
      },
      "wait": {
        "type": "integer",
        "description": "Fixed delay in milliseconds to wait after page load before extracting content."
      },
      "wait_for": {
        "type": "string",
        "description": "CSS selector to wait for before extracting content. Pauses until the specified DOM element appears."
      },
      "block_resources": {
        "type": "string",
        "description": "Block specific resource types from loading (e.g., 'image', 'font', 'stylesheet') to speed up scraping."
      },
      "json_response": {
        "type": "boolean",
        "description": "Capture network requests and XHR data from the page as JSON."
      },
      "screenshot": {
        "type": "boolean",
        "description": "Capture an above-the-fold screenshot of the page."
      },
      "screenshot_fullpage": {
        "type": "boolean",
        "description": "Capture a full-page screenshot."
      },
      "screenshot_selector": {
        "type": "string",
        "description": "CSS selector for capturing a screenshot of a specific element on the page."
      },
      "screenshot_format": {
        "type": "string",
        "description": "Image format for screenshots.",
        "enum": [
          "png",
          "jpeg"
        ]
      },
      "screenshot_quality": {
        "type": "integer",
        "description": "JPEG compression quality for screenshots (1-100). Only applies when screenshot_format is jpeg."
      },
      "session_id": {
        "type": "integer",
        "description": "Maintain the same IP address across multiple requests within a 10-minute window."
      },
      "original_status": {
        "type": "boolean",
        "description": "Return the original HTTP status code from the target site instead of ZenRows status."
      },
      "allowed_status_codes": {
        "type": "string",
        "description": "Comma-separated HTTP status codes. Return content even when the target site returns these error codes."
      },
      "outputs": {
        "type": "string",
        "description": "Specify extraction data types to filter the output."
      }
    },
    "required": [
      "PCID",
      "url"
    ]
  }
  ```
</Expandable>
