Web Scraping in n8n with the ScrapeUnblocker Node
If you have ever tried to add web scraping to an n8n workflow, you know where it falls apart. The HTTP Request node works fine until you point it at a real target. Then Cloudflare returns a challenge page, DataDome serves a CAPTCHA, or the site renders everything client-side and your selectors find nothing. Suddenly your clean automation is a pile of retries, proxy configs and brittle workarounds.
We built the ScrapeUnblocker node to make that problem disappear. It is now available directly inside n8n, so you can fetch any page through our anti-bot bypass engine without leaving your workflow.
What the node does
ScrapeUnblocker takes a URL and returns the page. The hard part - figuring out how to get past the protection - happens on our side. For each request we pick the cheapest route that actually works for that domain: a direct fetch, a residential proxy in the right country, a stealth browser with a randomized fingerprint, or a custom plugin built for sites like Mobile.de, Zillow and Amazon. You never configure any of it. You pass a URL, you get the page.
Inside n8n that turns into a single node with a few fields. The three things most workflows need:
- Get Page Source (HTML) - returns the fully rendered HTML of the page, after JavaScript has run and any challenge has been cleared. This is the default and covers most scraping jobs.
- Parsed data (JSON) - instead of raw HTML, get a structured JSON payload. ScrapeUnblocker extracts the meaningful content using Schema.org markup, embedded page data and AI-generated rules, so you can wire fields straight into the rest of your workflow without writing a parser.
- Country targeting - force the request through a specific country’s proxy pool with a two-letter ISO code (for example
US,DE,GB). Over 150 countries are available, so geo-restricted content and localized pricing are one field away.
Getting started
The node is verified on n8n, so there is nothing to install from npm or compile yourself.
- Open any workflow and click to add a node.
- Search for ScrapeUnblocker in the node panel.
- Add it, then create a credential with your API key. You can grab a key from your ScrapeUnblocker dashboard - new accounts get 500 free requests, no card needed.
That is the whole setup. The credential is stored once and reused by every ScrapeUnblocker node in your instance.
A first workflow
Here is the shape of a typical scrape-and-process workflow:
- Trigger - a Schedule node firing every morning, or a Webhook, or a manual run.
- ScrapeUnblocker node - set the operation to Get Page Source, paste the target URL (or map it from a previous node), and pick a proxy country if you need one.
- Process - feed the output into whatever comes next. Raw HTML goes to an HTML Extract node; parsed JSON goes straight to a Set, Filter or Code node.
- Store or notify - append rows to Google Sheets, insert into a database, post to Slack, or push to your own API.
Because the node returns regular n8n items, everything downstream behaves exactly as it would with any other data source. You get retries, error branches, batching and expressions for free.
Where this gets useful
The combination of n8n’s scheduling and branching with a scraper that does not get blocked opens up a lot of recurring jobs that used to need a dedicated script and a server to run it on:
- Price and stock monitoring - scrape competitor product pages on a schedule, diff against yesterday, and alert when something changes.
- Lead and listing collection - pull marketplace or directory listings into a sheet or CRM without maintaining proxies.
- Content and SEO tracking - watch ranking pages, news sites or job boards and route new entries into your pipeline.
- Feeding LLMs - grab clean page content or parsed JSON and pass it to an AI node for summarizing, classifying or extracting.
All of it lives in one n8n canvas, on a schedule, with no scraping infrastructure to maintain.
Why route scraping through ScrapeUnblocker
The HTTP Request node is great for APIs that want to be called. Scraping is the opposite problem: the target is actively trying to tell bots apart from people. Rotating proxies, rendering JavaScript, matching cookie and header order, and solving challenges is a full-time job, and it changes every time a site updates its defenses.
Offloading that to ScrapeUnblocker means your workflow stops caring how a page is protected. The node asks for a URL and gets the page back, whether that page sits behind Cloudflare, DataDome, PerimeterX or Akamai. Your automation stays simple, and it keeps working when the target tightens its protection.
Try it
If you already run n8n, search for ScrapeUnblocker in the node panel and connect it to a free key. If you are new to ScrapeUnblocker, create an account and start with 500 free requests - point the node at a site that normally blocks you and watch the HTML come back clean.
Try ScrapeUnblocker free
99%+ success rate · from 0.55€ per 1,000 calls · 500 free requests on signup.