# ZenRows

ZenRows is a web scraping API allowing developers to bypass CAPTCHAs and blocks, gather structured data from dynamic websites, and quickly integrate results into applications

- **Category:** ai web scraping
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 14
- **Triggers:** 0
- **Slug:** `ZENROWS`
- **Version:** 20260312_00

## Tools

### Get ZenRows API Usage Statistics

**Slug:** `ZENROWS_GET_API_USAGE`

This tool retrieves the current API usage statistics and limits for your ZenRows account. It is an independent action that requires no additional parameters besides authentication. It is useful for monitoring API usage and ensuring that the account has sufficient remaining credits.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Detailed Concurrency Status

**Slug:** `ZENROWS_GET_CONCURRENCY_STATUS_DETAILED`

This tool provides detailed information about the current concurrency status and limits of your ZenRows account by making a request to the API and analyzing the response headers. It is essential for monitoring real-time API usage, managing concurrent requests, and ensuring optimal performance within plan limits.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Original Status Code

**Slug:** `ZENROWS_GET_ORIGINAL_STATUS`

This tool retrieves the original HTTP status code returned by the target website, which is useful for debugging purposes. It returns the original status code in the response headers under 'x-zenrows-original-status'. It can also provide the full response body and error messages, helping with debugging scraping issues, verifying website responses, monitoring availability, and understanding website behavior.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The URL of the website to check the original status code |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get PDF from URL

**Slug:** `ZENROWS_GET_PDF_FROM_URL`

This tool generates a PDF version of the scraped content from a given URL. It requires JavaScript rendering to be enabled and sets the response type to PDF, making it ideal for archiving web pages, creating documentation, generating reports, or saving articles for offline reading.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The URL of the webpage to convert to PDF |
| `wait` | integer | No | Time to wait before generating PDF in milliseconds |
| `premium_proxy` | boolean | No | Whether to use premium proxies |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Plaintext Response

**Slug:** `ZENROWS_GET_PLAINTEXT`

This tool extracts plain text content from a webpage using the ZenRows API. By using the response_type=plaintext parameter, it strips HTML tags and formats the content into clean, plain text. It's useful for extracting readable content for NLP, summarization, or archiving purposes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The URL of the webpage to extract text from |
| `wait` | integer | No | Time to wait for JavaScript execution in milliseconds |
| `js_render` | boolean | No | Enable JavaScript rendering |
| `premium_proxy` | boolean | No | Use premium proxy |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Real Estate Property Data

**Slug:** `ZENROWS_GET_REAL_ESTATE_DATA`

A specialized tool for extracting structured data from real estate platforms like Zillow and Idealista. It leverages ZenRows' Real Estate API to fetch comprehensive property information, including property details, location information, features, seller details, and more, in a structured format.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tld` | string | No | Optional: Top-level domain for Idealista (com, it, pt). Default is com. |
| `country` | string | No | Optional: Target specific country. For Zillow, use 'us'. For Idealista, it's determined by the TLD. |
| `language` | string | No | Optional: Language code for Idealista results. Supported values: en, es, ca, it, pt, fr, de, da, fi, nb, nl, pl, ro, ru, sv, el, zh, uk. |
| `platform` | string ("zillow" | "idealista") | Yes | The real estate platform to fetch data from. Currently supports 'zillow' or 'idealista'. |
| `property_id` | string | Yes | The property ID from the respective platform. For Zillow, it's the ZPID (7-10 digits). For Idealista, it's the property ID from the URL. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Response with Compression

**Slug:** `ZENROWS_GET_RESPONSE_COMPRESSION`

A tool to fetch content from a URL using the ZenRows API with compression enabled to optimize bandwidth usage and improve performance. It supports gzip, deflate, and br compression encodings, handles decompression automatically, and provides compression statistics along with the decompressed content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The URL to fetch content from with compression enabled |
| `custom_headers` | object | No | Optional custom headers to include in the request. The Accept-Encoding header will be automatically set. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get response headers

**Slug:** `ZENROWS_GET_RESPONSE_HEADERS`

A tool to retrieve and parse response headers from ZenRows API requests. It provides critical metadata such as concurrency limits, available request slots, request cost, unique request ID, and final URL after redirects, which is essential for monitoring usage, debugging, and optimizing requests.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The URL to scrape and get response headers from |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Session ID

**Slug:** `ZENROWS_GET_SESSION_ID`

This tool implements ZenRows' session management functionality to maintain the same IP address across multiple requests for up to 10 minutes. It supports parameters like url, session_id, and premium_proxy, and is useful for maintaining consistent scraping sessions, simulating real user behavior, and avoiding detection by anti-bot systems.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The target URL to scrape |
| `session_id` | integer | Yes | A number between 1 and 99999 to maintain the same IP address across requests |
| `premium_proxy` | boolean | No | Whether to use premium proxies |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Walmart Product Details

**Slug:** `ZENROWS_GET_WALMART_PRODUCT`

This tool allows users to extract detailed product information from Walmart using ZenRows' specialized e-commerce scraping API. It provides structured data for Walmart products including product details, pricing, availability, and more.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The Walmart product URL to scrape |
| `js_render` | boolean | No | Enable JavaScript rendering for dynamic content |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Scrape url autoparse

**Slug:** `ZENROWS_SCRAPE_URL_AUTOPARSE`

The ZENROWS_SCRAPE_URL_AUTOPARSE tool automatically parses and extracts structured data from any given URL using intelligent parsing capabilities. It eliminates the need for manual CSS selectors by auto-identifying relevant content on web pages, returning data such as titles, main content, meta descriptions, images, links, prices, and contact information in a structured JSON format.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The URL to be scraped and automatically parsed. |
| `wait` | integer | No | Time to wait for JavaScript execution in milliseconds. |
| `js_render` | boolean | No | Enable JavaScript rendering for dynamic content. |
| `premium_proxy` | boolean | No | Use premium proxy for better success rate. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Scrape URL HTML

**Slug:** `ZENROWS_SCRAPE_URL_HTML`

This tool extracts raw HTML data from a given URL using ZenRows' Universal Scraper API. It focuses on retrieving the pure HTML content of the webpage without automatic parsing or data extraction. It supports parameters such as js_render for enabling JavaScript rendering, custom_headers for custom HTTP headers, premium_proxy for using premium proxies, and session_id for maintaining the same IP across multiple requests.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The URL to scrape content from |
| `wait` | integer | No | Time to wait in milliseconds after page load |
| `wait_for` | string | No | CSS selector to wait for before returning content |
| `js_render` | boolean | No | Enable JavaScript rendering for dynamic content |
| `session_id` | string | No | Session ID to maintain the same IP across requests |
| `premium_proxy` | boolean | No | Use premium proxies for the request |
| `proxy_country` | string | No | Country code for proxy location (requires premium_proxy) |
| `custom_headers` | object | No | Custom HTTP headers to include in the request |
| `original_status` | boolean | No | Return original HTTP status code |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Scrape URL with CSS Selectors

**Slug:** `ZENROWS_SCRAPE_WITH_CSS_SELECTORS`

This tool allows users to scrape specific elements from a webpage using CSS selectors. It is particularly useful for targeted data extraction rather than retrieving the entire page content. The endpoint takes a URL and a JSON object containing CSS selectors for parsing elements such as titles, links, images, and prices, and includes optional parameters like using premium proxies, specifying response wait times, and custom headers among others.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The URL of the webpage to scrape |
| `wait` | integer | No | Time to wait in milliseconds before scraping |
| `wait_for` | string | No | CSS selector to wait for before scraping |
| `js_render` | boolean | No | Enable JavaScript rendering for dynamic content |
| `css_selectors` | object | Yes | A dictionary of CSS selectors where keys are labels and values are the selectors |
| `premium_proxy` | boolean | No | Use premium proxies for the request |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Screenshot URL

**Slug:** `ZENROWS_SCREENSHOT_URL`

A tool to capture screenshots of web pages using ZenRows API. This tool allows you to take screenshots of entire web pages or specific elements, with customizable options for format and quality.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The URL of the webpage to capture screenshot. |
| `wait` | integer | No | Time to wait before taking screenshot (in milliseconds). |
| `screenshot_format` | string | No | Image format for the screenshot. Either 'png' or 'jpeg'. |
| `screenshot_quality` | integer | No | Image quality (1-100). Only applicable when format is 'jpeg'. |
| `screenshot_fullpage` | boolean | No | Set to true to capture the entire page instead of just the visible viewport. |
| `screenshot_selector` | string | No | CSS selector to capture a specific element. Cannot be used with screenshot_fullpage. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
