Een paar maanden geleden stuurde een van onze gebruikers ons een screenshot van een n8n-workflow met 14 nodes, een paar plakbriefjes erbij en als onderwerpregel alleen: “Help.” Hij had een populaire n8n-webscrapingtutorial gevolgd, kreeg een mooie demo met 10 rijen werkend op een testsite, en probeerde daarna echte prijsdata van concurrenten te scrapen over 200 productpagina’s. Het resultaat? Een kapotte paginatie-loop, een muur van 403-fouten en een stille planner die na de eerste dinsdag niet meer afging.
Juist die kloof — tussen demo en productieworkflow — is waar de meeste n8n-scrapingprojecten vastlopen. Ik heb jarenlang gebouwd aan en gewerkt in automatisering, en ik kan je zeggen: het scrapen zelf is zelden het moeilijke deel. Het is alles na de eerste geslaagde scrape waar mensen op vastlopen. Paginatie, planning, anti-botmaatregelen, opschoning van data, export en — de grote boosdoener — onderhoud wanneer de site voor de derde keer dit kwartaal van layout verandert. In deze gids behandelen we het complete traject: van je eerste HTTP Request-node tot een terugkerende, productieklare n8n-webscrapingworkflow. En waar n8n’s doe-het-zelfaanpak vastloopt, laat ik zien hoe AI-tools zoals Thunderbit je uren (of dagen) frustratie kunnen besparen.
Wat is n8n-webscraping eigenlijk? En waarom raken de meeste tutorials maar de oppervlakte?
n8n is een open-source, low-code platform voor workflowautomatisering. Zie het als een visueel canvas waarop je “nodes” aan elkaar koppelt — elke node doet een specifieke taak (een webpagina ophalen, HTML parsen, een Slack-bericht sturen, data wegschrijven naar Google Sheets) — en die samenvoegt tot geautomatiseerde workflows. Je hebt nauwelijks code nodig, al kun je altijd JavaScript toevoegen als dat nodig is.
“n8n-webscraping” betekent dat je de ingebouwde HTTP Request- en HTML-nodes van n8n (plus community nodes) gebruikt om websitegegevens op te halen, te parsen en te verwerken binnen die geautomatiseerde workflows. De kern bestaat uit twee stappen: Ophalen (de HTTP Request-node haalt de ruwe HTML op van een URL) en Parsen (de HTML-node gebruikt CSS-selectors om de gegevenspunten te extraheren die je nodig hebt — productnamen, prijzen, e-mails, noem maar op).
Het platform is enorm: per april 2026 heeft n8n , meer dan 230.000 actieve gebruikers, 9.166+ community workflowtemplates en brengt het ongeveer elke week een nieuwe minor release uit. In maart 2025 haalde het op. Er zit dus flinke vaart in.
Maar er is een kloof waar bijna niemand het over heeft. De populairste n8n-scrapingtutorial op dev.to (van Lakshay Nasa, gepubliceerd onder de organisatie “Extract by Zyte”) beloofde paginatie in “Part 2.” Die tweede part kwam er ook — en de conclusie van de auteur was: “N8N geeft ons standaard Pagination Mode binnen de HTTP Request-node onder Options, en hoewel dat handig klinkt, werkte het in mijn ervaring niet betrouwbaar voor typische webscraping use-cases.” Uiteindelijk stuurde de auteur de paginatie via een betaalde externe API. Ondertussen blijven gebruikers in het n8n-forum wijzen op “paginatie, throttling, login” als het punt waarop n8n-scraping “snel complex wordt.” Deze gids is geschreven om die kloof te dichten.
Waarom n8n-webscraping belangrijk is voor sales-, operations- en ecommerce-teams
n8n-webscraping is geen hobby voor developers. Het is een zakelijk hulpmiddel. De zit in 2025 rond de $1–1,3 miljard en zal naar verwachting groeien naar $2–2,3 miljard in 2030. Alleen al dynamische pricing wordt door ongeveer gebruikt, en vertrouwt inmiddels op alternatieve data — waarvan een groot deel van het web wordt gescrapet. McKinsey meldt dat dynamische pricing bij gebruikers leidt tot .
Hier komt de echte kracht van n8n naar voren: het gaat niet alleen om data ophalen. Het gaat om wat er daarna gebeurt. n8n laat je scraping in één workflow koppelen aan vervolgstappen — CRM-updates, Slack-alerts, export naar spreadsheets, AI-analyse.
| Use Case | Wie profiteert | Wat je scrapt | Zakelijk resultaat |
|---|---|---|---|
| Leadgeneratie | Salesteams | Bedrijvengidsen, contactpagina’s | Vul CRM met gekwalificeerde leads |
| Prijsbewaking van concurrenten | Ecommerce-operations | Productoverzichtspagina’s | Pas prijzen in real time aan |
| Tracking van vastgoedaanbod | Makelaars | Zillow, Realtor, lokale MLS-sites | Vind nieuwe listings vóór concurrenten |
| Marktonderzoek | Marketingteams | Reviewsites, forums, nieuws | Ontdek trends en klantgevoel |
| Voorraadbewaking van leveranciers/SKU’s | Supply chain operations | Productpagina’s van leveranciers | Voorkom out-of-stocks, optimaliseer inkoop |
De data laten zien dat de ROI echt is: is van plan in 2025 meer in AI te investeren, en geautomatiseerde lead nurturing heeft in negen maanden laten zien. Als je team nog steeds websites kopieert en plakt naar spreadsheets, laat je geld liggen.
Je n8n-webscrapingtoolbox: de kernnodes en beschikbare oplossingen
Voordat je iets bouwt, moet je weten wat er in de toolbox zit. Dit zijn de essentiële n8n-nodes voor webscraping:
- HTTP Request-node: Haalt ruwe HTML op van elke URL. Werkt als een browser die een pagina opvraagt, maar geeft de code terug in plaats van de pagina te renderen. Ondersteunt GET/POST, headers, batching en (in theorie) ingebouwde paginatie.
- HTML-node (voorheen “HTML Extract”): Parseert HTML met CSS-selectors om specifieke data op te halen — titels, prijzen, links, afbeeldingen, alles wat je nodig hebt.
- Code-node: Laat je JavaScript-fragmenten schrijven voor opschoning van data, URL-normalisatie, deduplicatie en aangepaste logica.
- Edit Fields (Set)-node: Herstructureert of hernoemt datavelden voor vervolg-nodes.
- Split Out-node: Splitst arrays op in losse items voor verwerking.
- Convert to File-node: Exporteert gestructureerde data naar CSV, JSON, enzovoort.
- Loop Over Items-node: Itereert over lijsten (cruciaal voor paginatie — daarover straks meer).
- Schedule Trigger: Start je workflow volgens een cron-schema.
- Error Trigger: Waarschuwt je wanneer een workflow faalt (essentieel voor productie).
Voor geavanceerde scraping — sites met JavaScript-rendering of zware anti-botbescherming — heb je community nodes nodig:
| Aanpak | Het beste voor | Niveau | Ondersteunt JS-gerenderde sites | Anti-botafhandeling |
|---|---|---|---|---|
| n8n HTTP Request + HTML-nodes | Statische sites, API’s | Beginner–Gemiddeld | Nee | Handmatig (headers, proxies) |
| n8n + ScrapeNinja/Firecrawl community node | Dynamische/beveiligde sites | Gemiddeld | Ja | Ingebouwd (proxyrotatie, CAPTCHA) |
| n8n + headless browser (Puppeteer) | Complexe JS-interacties | Gevorderd | Ja | Gedeeltelijk (afhankelijk van setup) |
| Thunderbit (AI Web Scraper) | Elke site, niet-technische gebruikers | Beginner | Ja (Browser- of Cloud-modus) | Ingebouwd (neemt browsersessie over of handelt in de cloud af) |
Er is geen native headless-browsernode in n8n per v2.15.1. Elke scrape van een JS-renderende site vereist dus een community node of een externe API.
Nog even over Thunderbit: dat is een AI-aangedreven die ons team heeft gebouwd. Je klikt op “AI Suggest Fields”, daarna op “Scrape”, en krijgt gestructureerde data — zonder CSS-selectors, zonder node-configuratie, zonder onderhoud. In deze gids laat ik zien waar het past (en waar n8n de betere keuze is).
Stap voor stap: bouw je eerste n8n-webscrapingworkflow
Nu de toolbox duidelijk is, bouwen we vanaf nul een werkende n8n-webscraper. Ik gebruik een productoverzichtspagina als voorbeeld — precies het soort pagina dat je in de praktijk zou scrapen voor prijsmonitoring of concurrentieonderzoek.
Voordat je begint:
- Moeilijkheidsgraad: Beginner–Gemiddeld
- Benodigde tijd: ongeveer 20–30 minuten
- Wat je nodig hebt: n8n (self-hosted of Cloud), een doel-URL, Chrome-browser (om CSS-selectors te vinden)
Stap 1: maak een nieuwe workflow en voeg een Manual Trigger toe
Open n8n, klik op “New Workflow” en geef het een duidelijke naam — bijvoorbeeld “Competitor Price Scraper.” Sleep een Manual Trigger-node in je canvas. (Later schakelen we over op een scheduled trigger.)
Je zou nu één node op je canvas moeten zien, klaar om te starten zodra je op “Test Workflow” klikt.
Stap 2: haal de pagina op met de HTTP Request-node
Voeg een HTTP Request-node toe en verbind die met de Manual Trigger. Zet de methode op GET en vul je doel-URL in (bijv. https://example.com/products).
Nu de cruciale stap die de meeste tutorials overslaan: voeg een realistische User-Agent-header toe. Standaard verstuurt n8n axios/xx als user agent — meteen herkenbaar als bot. Voeg onder “Headers” het volgende toe:
| Headernaam | Waarde |
|---|---|
| User-Agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, zoals Gecko) Chrome/124.0.0.0 Safari/537.36 |
| Accept | text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 |
Als je meerdere URL’s scrapt, zet dan Batching aan (onder Options) en stel een wachttijd van 1–3 seconden in tussen verzoeken. Zo verklein je de kans dat je rate limits activeert.
Voer de node uit. Je zou ruwe HTML in het outputpaneel moeten zien.
Stap 3: parse de data met de HTML-node
Verbind een HTML-node met de output van de HTTP Request-node. Zet de operatie op Extract HTML Content.
Om de juiste CSS-selectors te vinden, open je de doelpagina in Chrome, klik je met rechts op de data die je wilt (bijvoorbeeld een producttitel) en kies je “Inspect.” Klik in het Elements-paneel met rechts op het gemarkeerde HTML-element en kies “Copy → Copy selector.”
Stel je extractiewaarden zo in:
| Sleutel | CSS-selector | Teruggegeven waarde |
|---|---|---|
| product_name | .product-title | Tekst |
| price | .price-current | Tekst |
| url | .product-link | Attribuut: href |
Voer de node uit. Je zou een tabel met gestructureerde data moeten zien — productnamen, prijzen en URL’s — in de output.
Stap 4: opschonen en normaliseren met de Code-node
Ruwe gescrapete data is rommelig. Prijzen hebben extra spaties, URL’s kunnen relatief zijn en tekstvelden hebben afsluitende nieuwe regels. Voeg een Code-node toe en verbind die met de HTML-node.
Hier is een eenvoudige JavaScript-snippet om alles op te schonen:
1return items.map(item => {
2 const d = item.json;
3 return {
4 json: {
5 product_name: (d.product_name || '').trim(),
6 price: parseFloat((d.price || '').replace(/[^0-9.]/g, '')),
7 url: d.url && d.url.startsWith('http') ? d.url : `https://example.com${d.url}`
8 }
9 };
10});
Deze stap is essentieel voor data van productiekwaliteit. Sla je dit over, dan staat je spreadsheet vol met waarden als “$ 29.99\n”.
Stap 5: exporteer naar Google Sheets, Airtable of CSV
Verbind een Google Sheets-node (of Airtable, of Convert to File voor CSV). Koppel je Google-account, kies je spreadsheet en tabblad, en map de velden uit de Code-node naar je kolomkoppen.
Voer de volledige workflow uit. Je zou schone, gestructureerde data in je spreadsheet moeten zien landen.
Terzijde: naar Google Sheets, Airtable, Notion en Excel zonder enige node-setup. Als je niet de volledige workflowketen nodig hebt en gewoon de data wilt, is dat een handige shortcut.
Het deel dat elke n8n-webscrapingtutorial overslaat: complete paginaworkflows
Paginatie is de grootste kloof in n8n-scrapingcontent — en de grootste frustratiebron in de n8n-communityfora.
Er zijn twee hoofdpatronen voor paginatie:
- Klikgebaseerde / URL-increment-paginatie — pagina’s zoals
?page=1,?page=2, enzovoort. - Infinite scroll — content laadt terwijl je naar beneden scrolt (denk aan Twitter, Instagram of veel moderne productcatalogi).
Klikgebaseerde paginatie in n8n (URL’s ophogen met loop-nodes)
De ingebouwde Pagination-optie in het Options-menu van de HTTP Request-node klinkt handig. In de praktijk is het onbetrouwbaar. De auteur van de populairste n8n-scrapingtutorial (Lakshay Nasa) probeerde het en schreef: “it didn't behave reliably in my experience.” Gebruikers in het forum melden dat het , en de laatste pagina niet detecteert.

De betrouwbare aanpak: bouw de URL-lijst expliciet in een Code-node en iterer daarna met Loop Over Items.
Zo doe je dat:
- Voeg een Code-node toe die je pagina-URL’s genereert:
1const base = 'https://example.com/products';
2const totalPages = 10; // of dynamisch bepalen
3return Array.from({length: totalPages}, (_, i) => ({
4 json: { url: `${base}?page=${i + 1}` }
5}));
- Verbind een Loop Over Items-node om door de lijst te itereren.
- In de loop voeg je je HTTP Request-node toe (zet de URL op
{{ $json.url }}), daarna de HTML-node voor parsing. - Voeg een Wait-node toe (1–3 seconden, willekeurig) binnen de loop om 429-rate limits te vermijden.
- Na de loop verzamel je de resultaten en exporteer je naar Google Sheets of CSV.
De volledige keten: Code (URL’s bouwen) → Loop Over Items → HTTP Request → HTML → Wait → (terug in de loop) → Samenvoegen → Exporteren.
Eén valkuil: de Loop Over Items-node heeft een waarbij geneste loops stilletjes items overslaan. Als je pagineert en subpagina’s verrijkt, test dan extra zorgvuldig — het aantal “done”-items kan afwijken van je input.
Infinite scroll-paginatie: waarom de ingebouwde nodes van n8n tekortschieten
Infinite-scrollpagina’s laden content via JavaScript terwijl je scrolt. De HTTP Request-node haalt alleen de eerste HTML op — die kan JavaScript niet uitvoeren en scrollacties niet simuleren. Je hebt twee opties:
- Gebruik een headless-browser community node (bijv. of ) om de pagina te renderen en scrollen te emuleren.
- Gebruik een scraping-API (ScrapeNinja, Firecrawl, ZenRows) met JS-rendering ingeschakeld.
Beide opties maken het flink complexer. Reken op 30–60+ minuten setup per site, plus doorlopend onderhoud.
Hoe Thunderbit paginatie afhandelt zonder configuratie
Ik ben bevooroordeeld, maar het contrast is duidelijk:
| Mogelijkheid | n8n (DIY-workflow) | Thunderbit |
|---|---|---|
| Klikgebaseerde paginatie | Handmatige loop-node setup, URL’s ophogen | Automatisch — detecteert en volgt paginatie |
| Pagina’s met infinite scroll | Vereist headless browser + community node | Ingebouwde ondersteuning, geen configuratie nodig |
| Inzet per site | 30–60 min | 2 klikken |
| Aantal pagina’s per batch | Sequentieel (één tegelijk) | 50 pagina’s tegelijk (Cloud Scraping) |
Als je 200 productpagina’s scrapt over 10 gepagineerde listings, kost n8n je een hele middag. Thunderbit doet dat in ongeveer twee minuten. Dat is geen aanval op n8n — het is gewoon een ander hulpmiddel voor een ander type klus.
Inregelen en vergeten: n8n-webscrapingpipelines met cron-trigger
Eenmalig scrapen is handig, maar de echte kracht van n8n-webscraping zit in terugkerende, geautomatiseerde dataverzameling. Verrassend genoeg behandelt bijna geen enkele n8n-scrapingtutorial de Schedule Trigger voor scraping — terwijl het een van de meest gevraagde functies in de community is.
Een dagelijkse prijsmonitoringpipeline bouwen
Vervang je Manual Trigger door een Schedule Trigger-node. Je kunt de n8n-UI gebruiken (“Every day at 8:00 AM”) of een cron-expressie (0 8 * * *).
De volledige workflowketen:
- Schedule Trigger (elke dag om 8:00)
- Code-node (gepagineerde URL’s genereren)
- Loop Over Items → HTTP Request → HTML → Wait (alle pagina’s scrapen)
- Code-node (data opschonen, prijzen normaliseren)
- Google Sheets (nieuwe rijen toevoegen)
- IF-node (is een prijs onder de drempel gezakt?)
- Slack (stuur een melding als dat zo is)
Koppel daarnaast een Error Trigger-workflow die afgaat bij elke mislukte uitvoering en een Slack-melding stuurt. Anders ontdek je pas drie weken later, wanneer een selector breekt (en dat gebeurt), dat het rapport leeg is.
Twee minder voor de hand liggende vereisten:
- n8n moet 24/7 draaien. Een self-hosted installatie op je laptop start niet als het deksel dicht is. Gebruik een server, Docker of n8n Cloud.
- Schakel de workflow na elke wijziging even uit en daarna weer in. n8n Cloud heeft een waarbij schedulers zich stilletjes afmelden na aanpassingen, zonder foutmelding.
Een wekelijkse lead-extractiepipeline bouwen
Zelfde patroon, ander doel: Schedule Trigger (elke maandag om 9:00) → HTTP Request (bedrijvengids) → HTML (naam, telefoon, e-mail extraheren) → Code (dedupliceren, opmaak opschonen) → Airtable of HubSpot push.

De onderhoudslast is hier de onderschatte kostenpost. Als de site van de bedrijvengids van layout verandert, breken je CSS-selectors en faalt de workflow stilletjes. HasData schat dat van de initiële bouwtijd per jaar moet worden gereserveerd voor doorlopend onderhoud in elk selector-gebaseerd pipeline. Zodra je ongeveer 20 sites onderhoudt, voel je die overhead echt.
Thunderbit’s Scheduled Scraper: het no-code alternatief
Met Thunderbit’s Scheduled Scraper beschrijf je het interval gewoon in normale taal (bijv. “elke maandag om 9:00”), voer je je URL’s in en klik je op “Schedule.” Het draait in de cloud — geen hosting, geen cron-expressies, geen stille afmeldingen.
| Aspect | n8n Scheduled Workflow | Thunderbit Scheduled Scraper |
|---|---|---|
| Inrichten van planning | Cron-expressie of n8n-plannerinterface | Beschrijf in gewone taal |
| Opschoning van data | Handmatige Code-node vereist | AI ruimt op, labelt en vertaalt automatisch |
| Exportdoelen | Vereist integratienodes | Google Sheets, Airtable, Notion, Excel (gratis) |
| Hostingvereiste | Self-hosted of n8n Cloud | Geen — draait in de cloud |
| Onderhoud bij sitewijzigingen | Selectors breken, handmatige fix nodig | AI leest de site elke keer opnieuw |
Die laatste rij is de belangrijkste. Gebruikers in het forum zeggen het ronduit: “de meeste werken prima totdat een site van layout verandert.” Thunderbit’s AI-aanpak haalt die pijn weg, omdat het niet afhankelijk is van vaste CSS-selectors.
Wanneer je n8n-webscraper wordt geblokkeerd: een anti-bot troubleshootinggids
Geblokkeerd worden is de grootste frustratie na paginatie. Het standaardadvies — “voeg een User-Agent-header toe” — is ongeveer net zo nuttig als een schermdeur op slot doen tijdens een orkaan.
Volgens het Imperva 2025 Bad Bot Report vormen , en daarvan is kwaadaardig. Anti-botleveranciers (Cloudflare, Akamai, DataDome, HUMAN, PerimeterX) reageren met TLS-fingerprinting, JavaScript-challenges en gedragsanalyse. De n8n HTTP Request-node, die onder water de Axios-bibliotheek gebruikt, produceert een unieke, makkelijk herkenbare TLS-fingerprint die niet op een echte browser lijkt. Alleen de User-Agent aanpassen helpt niet — de verraadt je al voordat er überhaupt een HTTP-header wordt gelezen.
De anti-bot-beslisboom
Hier is een systematisch troubleshootingkader — dus niet alleen “voeg een User-Agent toe”:
Wordt je request geblokkeerd?
- 403 Forbidden → Voeg User-Agent- en Accept-headers toe (zie stap 2 hierboven) → Nog steeds geblokkeerd?
- Ja → Voeg rotatie van residentiële proxies toe → Nog steeds geblokkeerd?
- Ja → Schakel over op een scraping-API (ScrapeNinja, Firecrawl, ZenRows) of een headless-browser community node
- Nee → Ga verder
- Nee → Ga verder
- Ja → Voeg rotatie van residentiële proxies toe → Nog steeds geblokkeerd?
- CAPTCHA verschijnt → Gebruik een scraping-API met ingebouwde CAPTCHA-oplossing (bijv. )
- Lege respons (JS-gerenderde content) → Gebruik een headless-browser community node of een scraping-API met JS-rendering
- Rate limited (429-fout) → Schakel batching in op de HTTP Request-node, zet een wachttijd van 2–5 seconden tussen batches en verlaag de concurrency
Nog een valkuil: n8n heeft een waarbij de HTTP Request-node HTTPS niet goed via een HTTP-proxy kan tunnelen. De Axios-bibliotheek faalt op de TLS-handshake, terwijl curl in dezelfde container prima werkt. Als je een proxy gebruikt en mysterieuze verbindingsfouten krijgt, is dat waarschijnlijk de oorzaak.
Waarom Thunderbit de meeste anti-botproblemen omzeilt
Thunderbit biedt twee scrapesmodi:
- Browser Scraping: draait in je eigen Chrome-browser en neemt je sessiecookies, loginstatus en browserfingerprint over. Daarmee omzeil je veel anti-botmaatregelen die server-side requests blokkeren — omdat het verzoek daadwerkelijk van een echte browser komt.
- Cloud Scraping: voor openbaar beschikbare sites handelt Thunderbit anti-bot op schaal af — .
Als je meer tijd kwijt bent aan vechten met Cloudflare dan aan het analyseren van data, is dit een praktisch alternatief.
Eerlijke conclusie: wanneer n8n-webscraping werkt — en wanneer je iets anders moet gebruiken
n8n is een geweldig platform. Maar het is niet voor elke scrapingklus de juiste tool, en geen enkel concurrerend artikel is daar eerlijk over. Gebruikers vragen letterlijk op fora: “hoe moeilijk is het om met n8n een webscraper te maken?” en “welke scrapingtool werkt het best met n8n?”
Waar n8n-webscraping in uitblinkt
- Meertrapsworkflows die scraping combineren met vervolgbewerking — CRM-updates, Slack-alerts, AI-analyse, databasewrites. Dat is n8n’s kernsterkte.
- Situaties waarin scraping slechts één node is in een grotere automatiseringsketen — scrape → verrijk → filter → push naar CRM.
- Technische gebruikers die comfortabel zijn met CSS-selectors en node-gebaseerde logica.
- Scenario’s waarin aangepaste datatransformatie nodig is tussen scraping en opslag.
Waar n8n-webscraping lastig wordt
- Niet-technische gebruikers die gewoon snel data nodig hebben. De node-setup, het vinden van CSS-selectors en de debuglus is pittig voor zakelijke gebruikers.
- Sites met zware anti-botbescherming. Proxy- en API-add-ons brengen extra kosten en complexiteit mee.
- Onderhoud wanneer layouts wijzigen. CSS-selectors breken, workflows falen stilletjes.
- Bulk scraping over veel verschillende sitetypen. Elke site heeft zijn eigen selectorconfiguratie nodig.
- Subpagina-verrijking. Daarvoor moet je aparte subworkflows bouwen in n8n.
Vergelijking naast elkaar: n8n vs. Thunderbit vs. Python-scripts
| Factor | n8n DIY-scraping | Thunderbit | Python-script |
|---|---|---|---|
| Benodigde technische skill | Gemiddeld (nodes + CSS-selectors) | Geen (AI suggereert velden) | Hoog (coderen) |
| Opzettijd per nieuwe site | 30–90 min | ongeveer 2 minuten | 1–4 uur |
| Anti-botafhandeling | Handmatig (headers, proxies, API’s) | Ingebouwd (browser-/cloudmodi) | Handmatig (libraries) |
| Onderhoud bij sitewijzigingen | Handmatige selectorupdates | Geen — AI past zich automatisch aan | Handmatige code-updates |
| Ondersteuning voor meertrapsworkflows | Uitstekend (kernsterkte) | Export naar Sheets/Airtable/Notion | Vereist custom code |
| Kosten op schaal | n8n-hosting + proxy/API-kosten | Credit-gebaseerd (~1 credit per rij) | Server- en proxykosten |
| Subpagina-verrijking | Handmatig — aparte subworkflow bouwen | 1-klik subpagina-scraping | Aangepaste scripting |
De kernboodschap: gebruik n8n wanneer scraping deel uitmaakt van een complexe automatiseringsketen met meerdere stappen. Gebruik Thunderbit wanneer je snel data nodig hebt zonder workflows te bouwen. Gebruik Python wanneer je maximale controle nodig hebt en ontwikkelcapaciteit hebt. Ze zijn geen concurrenten — ze vullen elkaar aan.

Praktische n8n-webscrapingworkflows die je echt kunt kopiëren
Gebruikers op fora blijven vragen: “Heeft iemand dit gekoppeld in meerstapsworkflows?” Drie specifieke workflows — echte nodeketens die je vandaag nog kunt bouwen.
Workflow 1: prijsmonitor voor ecommerce-concurrenten
Doel: Houd de prijzen van concurrenten dagelijks bij en krijg een melding wanneer ze dalen.
Nodeketen: Schedule Trigger (dagelijks, 8:00) → Code (gepagineerde URL’s genereren) → Loop Over Items → HTTP Request → HTML (productnaam, prijs, beschikbaarheid extraheren) → Wait (2 sec) → (terug naar de loop) → Code (data opschonen, prijzen normaliseren) → Google Sheets (rijen toevoegen) → IF (prijs onder drempel?) → Slack (stuur melding)
Complexiteit: 8–10 nodes, 30–60 min setup per concurrerende site.
Thunderbit-shortcut: Thunderbit’s Scheduled Scraper + leveren vergelijkbare resultaten in enkele minuten, met gratis export naar Google Sheets.
Workflow 2: pipeline voor sales leadgeneratie
Doel: Scrape wekelijks een bedrijvengids, maak leads schoon en categoriseer ze, en stuur ze door naar CRM.
Nodeketen: Schedule Trigger (wekelijks, maandag 9:00) → HTTP Request (overzichtspagina van de gids) → HTML (naam, telefoon, e-mail, adres extraheren) → Code (dedupliceren, opmaak opschonen) → OpenAI/Gemini-node (indelen per sector) → HubSpot-node (contacten aanmaken)
Opmerking: n8n heeft een native — handig om data naar CRM te pushen. Maar het scrapen en opschonen vereist nog steeds handwerk met CSS-selectors.
Thunderbit-shortcut: Thunderbit’s gratis en Phone Number Extractor halen contactgegevens met 1 klik op, zonder workflow te bouwen. De AI-labeling kan leads al tijdens het extraheren categoriseren. Gebruikers die de volledige automatiseringsketen niet nodig hebben, kunnen de n8n-setup helemaal overslaan.
Workflow 3: tracker voor nieuwe vastgoedaanbiedingen
Doel: Vind wekelijks nieuwe listings op Zillow of Realtor.com en stuur een samenvattende e-mail.
Nodeketen: Schedule Trigger (wekelijks) → HTTP Request (listingpagina’s) → HTML (adres, prijs, slaapkamers, link extraheren) → Code (data opschonen) → Google Sheets (toevoegen) → Code (vergelijken met data van vorige week, nieuwe listings markeren) → IF (nieuwe listings gevonden?) → Gmail/SendGrid (digest versturen)
Opmerking: Thunderbit heeft — geen CSS-selectors nodig. Gebruikers die de volledige keten nodig hebben (scrape → vergelijk → alert) profiteren van n8n; gebruikers die alleen de listingdata nodig hebben, profiteren van Thunderbit.
Voor meer workflow-inspiratie heeft de communitybibliotheek van n8n templates voor , en .
Tips om je n8n-webscrapingpipelines soepel te laten draaien
Productiescraping bestaat voor 20% uit bouwen en voor 80% uit onderhouden.
Gebruik batching en vertragingen om rate limits te vermijden
Schakel batching in op de HTTP Request-node en stel een wachttijd van 1–3 seconden in tussen batches. Gelijktijdige requests zijn de snelste weg naar een IP-ban. Een beetje geduld hier bespaart later veel ellende.
Monitor workflow-uitvoeringen op stille fouten
Gebruik het Executions-tabblad in n8n om mislukte runs te controleren. Gescrapete data kan stilletjes leeg terugkomen als een site van layout verandert — de workflow “slaagt”, maar je spreadsheet staat vol lege velden.
Stel een Error Trigger-workflow in die afgaat bij elke mislukte uitvoering en een Slack- of e-mailwaarschuwing stuurt. Voor productiepipelines is dit niet onderhandelbaar.
Bewaar je CSS-selectors extern voor eenvoudige updates
Houd CSS-selectors in een Google Sheet of in n8n-omgevingsvariabelen, zodat je ze kunt aanpassen zonder de workflow zelf te bewerken. Als een site van layout verandert, hoef je alleen de selector op één plek bij te werken.
Weet wanneer je moet overstappen op een AI-scraper
Als je merkt dat je voortdurend CSS-selectors moet aanpassen, anti-botmaatregelen moet bevechten of meer tijd kwijt bent aan onderhoud dan aan het gebruiken van de data, overweeg dan een AI-tool zoals die de site elke keer opnieuw leest en zich automatisch aanpast. De werkt goed: Thunderbit verzorgt de kwetsbare extractielaag (het deel dat breekt zodra een site een <div> aanpast), exporteert naar Google Sheets of Airtable, en n8n pakt de nieuwe rijen op via de native Sheets/Airtable-trigger om de orkestratie te doen — CRM-updates, alerts, conditionele logica, distributie naar meerdere systemen.
Afsluiting: bouw de pipeline die past bij jouw team
n8n-webscraping is krachtig wanneer scraping één stap is in een grotere automatiseringsworkflow. Maar het vraagt technische inrichting, doorlopend onderhoud en geduld met paginatie-, anti-bot- en planningsconfiguratie. Deze gids behandelde de volledige pipeline: je eerste workflow, paginatie (het onderdeel dat elke tutorial overslaat), planning, anti-bot troubleshooting, een eerlijke inschatting van waar n8n past en realistische workflows die je kunt kopiëren.
Zo kijk ik ernaar:
- Gebruik n8n wanneer scraping deel uitmaakt van een complexe, meerstaps automatiseringsketen — CRM-updates, Slack-alerts, AI-verrijking, conditionele routing.
- Gebruik wanneer je snel data nodig hebt zonder workflows te bouwen — AI regelt veldsuggesties, paginatie, anti-bot en export in 2 klikken.
- Gebruik Python wanneer je maximale controle nodig hebt en ontwikkelcapaciteit beschikbaar hebt.
En eerlijk gezegd is de beste setup voor veel teams allebei: Thunderbit voor de extractie, n8n voor de orkestratie. Als je wilt zien hoe AI-aangedreven scraping zich verhoudt tot je n8n-workflow, kun je met de op kleine schaal experimenteren — en de installeer je in een paar seconden. Voor video-uitleg en workflow-ideeën kun je ook het bekijken.
Veelgestelde vragen
Kan n8n websites met veel JavaScript scrapen?
Niet met alleen de ingebouwde HTTP Request-node. De HTTP Request-node haalt ruwe HTML op en kan JavaScript niet uitvoeren. Voor sites die via JS worden gerenderd heb je een community node nodig zoals of een scraping-API-integratie (ScrapeNinja, Firecrawl) die JavaScript server-side rendert. Thunderbit verwerkt zware JS-sites native in zowel Browser- als Cloud-scrapingmodus.
Is n8n-webscraping gratis?
De self-hosted versie van n8n is gratis en open source. n8n Cloud had eerder een gratis tier, maar biedt per april 2026 alleen nog een proefperiode van 14 dagen — daarna beginnen de plannen bij $24 per maand voor 2.500 executies. Het scrapen van beveiligde sites kan ook betaalde proxyservices vereisen ($5–15/GB voor residentiële proxies) of scraping-API’s ($49–200+/maand, afhankelijk van volume).
Hoe verhoudt n8n-webscraping zich tot Thunderbit?
n8n is beter voor meerstapsautomatisering waarin scraping slechts één onderdeel is van een grotere workflow (bijv. scrape → verrijk → filter → push naar CRM → alert in Slack). Thunderbit is beter voor snelle, no-code data-extractie met AI-gestuurde veldherkenning, automatische paginatie en geen onderhoud wanneer sites veranderen. Veel teams gebruiken beide samen — Thunderbit voor extractie, n8n voor orkestratie.
Kan ik data scrapen van sites waarvoor ik moet inloggen met n8n?
Ja, maar dan moet je cookies of sessietokens configureren in de HTTP Request-node, en dat kan lastig zijn om te onderhouden. Thunderbit’s Browser Scraping-modus neemt automatisch de ingelogde Chrome-sessie van de gebruiker over — als je bent ingelogd, kan Thunderbit zien wat jij ziet.
Wat moet ik doen als mijn n8n-scraper ineens geen data meer teruggeeft?
Controleer eerst het Executions-tabblad in n8n op fouten. De meest voorkomende oorzaak is een wijziging in de site-layout waardoor je CSS-selectors kapot zijn gegaan — de workflow “slaagt”, maar geeft lege velden terug. Controleer je selectors met Chrome’s Inspect-tool, werk ze bij in je workflow (of in je externe selector-sheet) en test opnieuw. Als je tegen anti-botblokkades aanloopt, volg dan de troubleshooting-beslisboom in deze gids. Voor langdurige betrouwbaarheid kun je een AI-scraper zoals Thunderbit overwegen, die zich automatisch aanpast aan layoutwijzigingen.
Meer weten