logo

Activepieces - Scrape.do Integration

View as Markdown

Step-by-step guide to integrate Scrape.do with Activepieces for scheduled bulk web scraping flows

Scrape.do works in Activepieces through the built-in HTTP piece, so there is no custom piece to install. Import the ready-made flow, add your token, and it scrapes a list of URLs on a schedule and returns clean fields for each page.

The flow has four steps: Schedule → Build URL List → Loop Over URLs → (Scrape.do Request → Extract Fields).

1. Import the Flow

  • Download the flow template below.
  • Open cloud.activepieces.com or your self-hosted instance and sign in.
  • Go to Flows > Import Flow and select the file. All four steps appear wired up in a new draft.

Download the Activepieces flow to import it into your instance.

2. Add Your Scrape.do Token

Open the Scrape.do Request step. Under Query Params you'll see two entries:

KeyValue
tokenYOUR_SCRAPEDO_TOKEN
url{{step_2.item.url}}
  • Replace the placeholder with your API token from your dashboard.
  • Leave the url mapping as it is. It pulls the current item from the loop.
  • Put the placeholder back before you export the flow for anyone else.

3. Set the URLs to Scrape

Open the Build URL List step and swap in your own URLs. Each object becomes one loop item, so keep the { url: '...' } shape:

export const code = async (inputs) => {
  const urls = [
    'https://books.toscrape.com/catalogue/page-1.html',
    'https://books.toscrape.com/catalogue/page-2.html',
    'https://books.toscrape.com/catalogue/page-3.html',
  ];

  return urls.map((url) => ({ url }));
};

To read the list from a spreadsheet, delete this step and add Google Sheets > Get Rows in its place. Point the loop at that step's output and map the URL column in the HTTP step.

4. Add Parameters for Hard Targets

The template sends plain requests. For JavaScript-heavy or protected pages, add query params in the Scrape.do Request step:

  • render - Set to true to render the page in a headless browser
  • super - Set to true to use residential and mobile proxies

Both use extra credits (5 for render, 10 for super, 25 for both, against 1 for a plain request), so turn them on per target. See request costs for details.

If you're unable to get a response, visit the playground and experiment with parameters like Super, Render JavaScript, and Block Resources until you get a successful response.

5. Test and Publish

  • Click Test Flow. Each loop pass sends one Scrape.do request and returns an object with url, status, title, h1, html_length and scraped_at.
  • Click Publish and the schedule takes over.

Full tutorial with every step: How to Build a Bulk Web Scraper in Activepieces with Scrape.do (Low Code)

On this page