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

# How to Integrate Make with ZenRows

> Step-by-step guide to integrating ZenRows with Make for no-code web scraping automation. Build data extraction scenarios without programming.

ZenRows' integration with Make lets you extract web data and build automated pipelines without writing any code. This guide takes you through the steps of integrating ZenRows with Make using a real-life scraping example.

## What Is Make?

<a href="https://www.make.com/en?utm_source=zenrows-app&utm_medium=partner&utm_campaign=zenrows-app-partner-program" target="_blank" rel="noopener noreferrer nofollow">Make</a> is a visual platform that lets you design, build, and automate anything, from simple tasks to complex workflows, in minutes. With Make, you can send information between ZenRows and thousands of apps. It's fast and easy to use, visually intuitive, and requires zero coding expertise.

## Why Connect ZenRows with Make?

* **Automate web data collection end-to-end:** Connect ZenRows with 1,000+ apps in just a few clicks, no coding required. Pull web data from any site and route it directly to Google Sheets, CRMs, databases, or AI pipelines.
* **Visualize your data workflows:** Make lets you visually design and automate scenarios using a drag-and-drop interface. Connect ZenRows to any downstream app, set your scenario to run on a schedule or on demand, and watch it execute in real time whenever you need.
* **Bypass anti-bot protection without code:** ZenRows handles Cloudflare, DataDome, PerimeterX, and other bot protection systems automatically. Combined with Make's scenario builder, you can scrape JS-rendered, bot-protected pages and deliver structured data to any destination, without managing infrastructure or writing a single line of code.
* **Build faster and scale without limits:** Design workflows with as many steps as you need, add as many URLs as your pipeline requires, and schedule scraping jobs to refresh your data at any interval. Debug your workflow in real time rather than searching through logs or code.

## Available ZenRows Integrations

* **Monitor your API usage**: Returns the Universal Scraper API usage information
* **Make an API Call**: Sends a GET, POST, or PUT request to a target URL via the Universal Scraper API.
* **Scraping a URL with Autoparse**: Automates the Universal Scraper API to auto-parse a target website's HTML elements. It returns structured JSON data.
  <Note>The autoparse option only works for some websites. Learn more about how it works in the [autoparse FAQ](/universal-scraper-api/faq#what-is-autoparse).</Note>
* **Scraping a URL with CSS Selectors**: Automates data extraction from an array of CSS selectors.

## Watch the Video Tutorial

Learn how to set up the Make ↔ ZenRows integration step-by-step by watching this video tutorial:

<iframe src="https://demo.arcade.software/5m1NiDq59BxIjvwnUW9a?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="ZenRows ↔ Make" loading="lazy" webkitAllowFullScreen mozAllowFullScreen allowFullScreen allow="clipboard-write" style={{ width: '100%', height: '120%', border: 'none', padding: '2rem', borderRadius: '0' }} />

## Real-World End-to-End Integration Example

We'll build an end-to-end Amazon scraping Scenario using Make and ZenRows with the following steps:

1. Pull target URLs from Google Sheets into Make's Iterator
2. Utilize ZenRows' **Scraping a URL with Autoparse** integration option to extract data from URLs automatically
3. Save the extracted data to Google Sheets

### Step 1: Create a new Scenario on Make

1. Log in to your account at <a href="https://www.make.com/en/register?utm_source=zenrows-app&utm_medium=partner&utm_campaign=zenrows-app-partner-program" target="_blank" rel="noopener noreferrer nofollow">[https://make.com/](https://make.com/)</a>
2. Go to **Scenarios** on the left sidebar
3. Click **+ Create a new scenario** at the top right

<img src="https://static.zenrows.com/content/start_make_scenario_490a0ffe01.png" alt="Start Make scenario" />

### Step 2: Connect the Google Sheets containing the target URLs

1. Enter your Scenario's name at the top-left (e.g., Amazon Scraper)
2. Click the `+` icon in the middle of the screen
   <img src="https://static.zenrows.com/content/name_scenario_b4553a66e4.png" alt="Name scenario" />
3. Search and select **Google Sheets** from the modal
   <img src="https://static.zenrows.com/content/flow_control_module_selection_fa0e34387b.png" alt="Flow control module selection" />
4. Select **Get Range Values** from the options
   <img src="https://static.zenrows.com/content/make_google_sheets_range_setup_e0d1f941dc.png" alt="Make Google Sheets range setup" />
5. If prompted, click **Create a connection** to link Make with your Google account
   <img src="https://static.zenrows.com/content/google_connection_make_6b4d2744bc.png" alt="Google connection Make" />
6. Click the **Search Method** dropdown and select **Enter manually**
7. Paste the Google Sheets ID in the **Spreadsheet ID** field
8. Enter the sheet's name in the Sheet Name field
9. Provide the range of cells containing the target URLs in the **Range** field (e.g., A2:A11)
10. Click **Save**

<img src="https://static.zenrows.com/content/make_google_sheets_setup_box_20299af754.png" alt="Make Google Sheets setup box" />

### Step 3: Load the Target URLs into an Iterator

1. Click `+` next to the Google Sheets module to create a new connection
2. Search and select **Flow Control**, then click **Iterator**
   <img src="https://static.zenrows.com/content/make_iterator_setup_1b87835816.png" alt="Make Iterator setup" />
3. Place your cursor in the Array field and select the column containing the target URLs (i.e., **A**) from the integrated Google Sheets
4. Click **Save**
   <img src="https://static.zenrows.com/content/make_iterator_cell_3b2fc9da90.png" alt="Make Iterator cell" />

### Step 4: Connect ZenRows with the Make workflow

1. Click the `+` icon
2. Search and select **ZenRows**
3. Click **Scrape a URL with Autoparse**
   <img src="https://static.zenrows.com/content/make_zenrows_integration_a447a01ec0.png" alt="Make ZenRows integration" />
4. Click **Create a Connection**
   <img src="https://static.zenrows.com/content/make_zenrows_connection_9b9618ee1e.png" alt="Make ZenRows connection setup" />
5. Under **Connection type**, select **ZenRows**
6. Enter a connection name in the **Connection name** field
7. Provide your ZenRows API key in the **API Key** field
   <img src="https://static.zenrows.com/content/zenrows_new_connection_setup_on_make_7c4c7063c9.png" alt="Make ZenRows connection setup" />
8. Click **Save**
9. Place your cursor in the URL field, then select **Value** from the Flow Control option in the modal box
   <img src="https://static.zenrows.com/content/make_zenrows_url_setup_ceaa98b661.png" alt="Make ZenRows URL field setup" />
10. Click **Show advanced settings**
11. Select **Yes** for **Premium Proxy** and **JavaScript Rendering**
12. Click **Save**

<img src="https://static.zenrows.com/content/make_zenrows_advanced_setup_711163678a.png" alt="Make ZenRows advanced setup" />

### Step 5: Store the scraped data in a Google Sheets

1. Click **Run once** in the lower left corner to scrape data from the URLs
   <img src="https://static.zenrows.com/content/make_zenrows_workflow_run_bb41352247.png" alt="Make ZenRows run" />
2. Add another named sheet (e.g., **Products**) to the connected Google Sheets. Include the following columns in the new sheet:
   * Name
   * Rating Value
   * Review Count
   * Price (USD)
   * Out of Stock
3. Click the `+` icon to add another module. Then, select **Google Sheets**.
4. Select **Add a row**
   <img src="https://static.zenrows.com/content/make_add_a_row_to_google_sheets_92b5d41258.png" alt="Make Google Sheets add row setup" />
5. Select **Enter manually** from the **Search Method** dropdown ⇒ enter the **Spreadsheet ID** and **Sheet Name**.
6. Under **Column Range**, select **A-Z**. Then, map the columns using the data extracted from ZenRows.
   <img src="https://static.zenrows.com/content/make_google_sheets_column_mapping_fb699906bc.png" alt="Make Google Sheets column mapping" />
7. Place your cursor in each column field and map it with the extracted data field as follows:
   * **A** = `Value` (from the Iterator)
   * **B** = `title`
   * **C** = `avg_rating`
   * **D** = `review_count`
   * **E** = `price`
   * **F** = `out_of_stock`
   <img src="https://static.zenrows.com/content/make_zenrows_scraped_data_mapping_7c2e920ae6.png" alt="Make ZenRows scraped data mapping" />
8. Click **Save**

### Step 6: Run the Make Scenario and Validate the Extraction

Click **Run once** in the lower-left corner of the screen. The workflow runs iteratively for each URL in the connected Google Sheets.

The workflow scrapes the data into the Products sheet as shown:

<img src="https://static.zenrows.com/content/google_sheets_result_f919a0ef1e.png" alt="Make Google Sheets add row setup" />

Congratulations! You've successfully integrated ZenRows with Make and automated your web scraping workflow.

## ZenRows Configuration Options

ZenRows supports the following configuration options on Make:

| Configuration               | Function                                                                                                                                                                                                                                      |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **URL**                     | The URL of the target website                                                                                                                                                                                                                 |
| **Headers**                 | <Tooltip tip="ZenRows automatically manages certain headers, especially those related to the browser environment, such as User-Agent. For more information, check the Headers Documentation">Adds the custom headers to the request</Tooltip> |
| **Premium Proxy**           | When activated, it routes requests through the ZenRows Residential Proxies, instead of the default Datacenter proxies                                                                                                                         |
| **Proxy Country**           | <Tooltip tip="Proxy Country requires the Premium Proxy feature to be enabled">The country geolocation to use in a request</Tooltip>                                                                                                           |
| **JavaScript Rendering**    | Ensures that dynamic content loads before scraping                                                                                                                                                                                            |
| **Wait for Selector**       | <Tooltip tip="Requires the JavaScript Rendering feature to be enabled">Pauses scraping execution until a particular selector is visible in the DOM</Tooltip>                                                                                  |
| **Wait Milliseconds**       | <Tooltip tip="Requires the JavaScript Rendering feature to be enabled">Waits for a fixed amount of time before executing the scraper</Tooltip>                                                                                                |
| **Window Width**            | Sets the browser's window width                                                                                                                                                                                                               |
| **Window Height**           | Sets the browser's window height                                                                                                                                                                                                              |
| **JavaScript Instructions** | <Tooltip tip="Requires the JavaScript Rendering feature to be enabled">Passes JavaScript code to execute actions like clicking, scrolling, and more</Tooltip>                                                                                 |
| **Session ID**              | Uses a session ID to maintain the same IP for multiple API requests for up to 10 minutes                                                                                                                                                      |
| **Original Status**         | Returns the original status code returned by the target website                                                                                                                                                                               |

## Troubleshooting

### Issue: The workflow returns incomplete data

**Solution**: Ensure that JavaScript Rendering and Premium Proxy are enabled in the ZenRows configuration.

### Issue: \[400] Error with internal code 'REQS004'

**Solution 1**: Double-check the target URL and ensure it's not malformed or missing essential query strings.

**Solution 2**: If using the CSS selector integration, ensure the extractor parameter is a valid JSON array of objects (e.g., `[{"title":"#productTitle", "price": ".a-price-whole"}]`).

### Issue: Failed request or 401 unauthorized response

**Solution 1**: Ensure you supply your ZenRows API key.

**Solution 2**: Double-check to ensure you've provided the correct ZenRows API key.

### Issue: The Google Sheets module cannot find the spreadsheet

**Solution**: Double-check the Spreadsheet ID and ensure the Google Sheets API is enabled for your account.

## Frequently Asked Questions (FAQ)

<Accordion title="Can I use My Existing ZenRows API Key with Make?">
  Yes. You don't need a separate ZenRows API key for Make. You need to provide your existing API key while connecting Make with ZenRows.
</Accordion>

<Accordion title="Can I Scrape with CSS Selectors on Make?">
  Make supports ZenRows CSS selector integration. It allows you to manually pass the target website's CSS selectors as an array.
</Accordion>

<Accordion title="Can I use the autoparse integration for all websites?">
  The autoparse integration isn't available for all websites. If you use the **Scraping a URL with Autoparse** integration for an unsupported website, the scraper will return empty or incomplete data or an error. Visit the [ZenRows web scraper](https://www.zenrows.com/scraper) page to view the supported websites.
</Accordion>

## How do I get started with Make?

1. <a href="https://www.make.com/en/register?utm_source=zenrows-app&utm_medium=partner&utm_campaign=zenrows-app-partner-program" target="_blank" rel="noopener noreferrer nofollow">Sign up for Make:</a> a free account is available forever.
2. Create a new scenario by connecting app modules and selecting triggers and actions.
3. Run a quick test to verify the scenario works correctly.
4. Set the scenario to run on a schedule and let it run automatically.

<Tip>For more information and templates, visit <a href="https://www.make.com/en/integrations/zenrows?utm_source=zenrows-app&utm_medium=partner&utm_campaign=zenrows-app-partner-program" target="_blank" rel="noopener noreferrer nofollow">Make's ZenRows integration page</a>, <a href="https://apps.make.com/zenrows?utm_source=zenrows-app&utm_medium=partner&utm_campaign=zenrows-app-partner-program" target="_blank" rel="noopener noreferrer nofollow">documentation</a>, or the <a href="https://www.make.com/en/templates?utm_source=zenrows-app&utm_medium=partner&utm_campaign=zenrows-app-partner-program" target="_blank" rel="noopener noreferrer nofollow">Make template library</a>.</Tip>
