Activepieces - Scrape.do Integration
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:
| Key | Value |
|---|---|
token | YOUR_SCRAPEDO_TOKEN |
url | {{step_2.item.url}} |
- Replace the placeholder with your API token from your dashboard.
- Leave the
urlmapping 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
trueto render the page in a headless browser - super - Set to
trueto 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_lengthandscraped_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)

