Een paar maanden geleden stuurde een van onze gebruikers ons een screenshot van een n8n-workflow met 14 nodes, een half dozijn sticky notes en als onderwerpregel alleen: "Help." Ze hadden een populaire n8n-webscrapingtutorial gevolgd, een mooie demo met 10 rijen op een testsite laten werken en daarna geprobeerd om echte prijsgegevens van concurrenten te scrapen over 200 productpagina's. Het resultaat? Een kapotte paginatieslus, een muur van 403-fouten en een stille planner die na de eerste dinsdag niet meer afging.
Dat gat — tussen de demo en de echte pipeline — is waar de meeste n8n-scrapingprojecten vastlopen. Ik heb jaren gewerkt aan en in automatisering, en ik kan je dit vertellen: het scrapen zelf is zelden het lastige deel. Het is alles ná de eerste succesvolle scrape waar mensen op vastlopen. Paginatie, planning, anti-botbeveiliging, opschoning van data, export en — de grote — onderhoud wanneer de site voor de derde keer dit kwartaal van lay-out verandert. Deze gids behandelt de volledige pipeline, van je eerste HTTP Request-node tot een terugkerende, productieklare n8n-webscrapingworkflow. En waar n8n's doe-het-zelfaanpak tegen grenzen aanloopt, laat ik zien hoe AI-tools zoals Thunderbit je uren (of dagen) frustratie kunnen besparen.
Wat is n8n-webscraping (en waarom de meeste tutorials maar het oppervlak raken)
n8n is een open-source workflowautomatiseringsplatform met een low-code aanpak. Zie het als een visueel canvas waarop je "nodes" aan elkaar koppelt — elk met een eigen taak (een webpagina ophalen, HTML parsen, een Slack-bericht sturen, naar Google Sheets schrijven) — en die samenvoegt tot geautomatiseerde workflows. Zwaar programmeren is niet nodig, al kun je wel JavaScript gebruiken wanneer dat handig is.
"n8n webscraping" betekent dat je n8n's ingebouwde HTTP Request- en HTML-nodes (plus community nodes) gebruikt om websitegegevens op te halen, te parseren 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 Parseren (de HTML-node gebruikt CSS-selectors om de gegevens eruit te halen 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, ruim 9.166 community-workflowtemplates en brengt het ongeveer elke week een nieuwe minor release uit. In maart 2025 haalde het op. Er zit dus flink wat vaart achter.
Maar er is een gat waar 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 aflevering kwam er ook — en het oordeel van de auteur zelf was: "N8N gives us a default Pagination Mode inside the HTTP Request node under Options, and while it sounds convenient, it didn't behave reliably in my experience for typical web scraping use cases." Uiteindelijk liet de auteur paginatie via een betaalde externe API lopen. Ondertussen blijven gebruikers op het n8n-forum "pagination, throttling, login" noemen als het punt waar n8n-scraping "snel complex wordt". Deze gids is bedoeld om dat gat te dichten.
Waarom n8n-webscraping belangrijk is voor sales-, operations- en e-commerce teams
n8n-webscraping is geen hobby voor developers. Het is een zakelijke tool. De ligt in 2025 rond de $1–1,3 miljard en groeit naar verwachting door naar $2–2,3 miljard in 2030. Alleen al dynamische prijsstelling wordt gebruikt door ongeveer , en vertrouwt inmiddels op alternatieve data — waarvan veel van het web wordt gescrapet. McKinsey meldt dat dynamische prijsstelling oplevert voor organisaties die het toepassen.
Hier komt n8n echt tot zijn recht: het gaat niet alleen om data ophalen. Het gaat om wat er daarna gebeurt. n8n laat je scraping koppelen aan vervolgacties — CRM-updates, Slack-meldingen, exports naar spreadsheets, AI-analyse — in één workflow.
| Toepassing | Voor wie | Wat je scrapt | Zakelijk resultaat |
|---|---|---|---|
| Leadgeneratie | Salesteams | Bedrijvengidsen, contactpagina's | Vul CRM met gekwalificeerde leads |
| Monitoring van concurrentieprijzen | E-commerce operations | Productoverzichtspagina's | Pas prijzen realtime aan |
| Tracking van vastgoedaanbod | Makelaars | Zillow, Realtor, lokale MLS-sites | Nieuwe objecten sneller vinden dan concurrenten |
| Marktonderzoek | Marketingteams | Reviewsites, forums, nieuws | Trends en klantgevoel ontdekken |
| Voorraadmonitoring van leveranciers/SKU's | Supply chain teams | Productpagina's van leveranciers | Out-of-stock voorkomen en inkopen optimaliseren |
De cijfers laten zien dat de ROI echt is: wil in 2025 meer investeren in AI, en geautomatiseerde lead nurturing heeft aangetoond dat het de in negen maanden. Als je team nog steeds handmatig van websites naar spreadsheets kopieert, laat je geld liggen.
Je n8n-webscrapingtoolbox: 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 eruit te halen — titels, prijzen, links, afbeeldingen, wat je maar nodig hebt.
- Code-node: Laat je JavaScript-fragmenten schrijven voor opschoning van data, normaliseren van URL's, deduplicatie en eigen logica.
- Edit Fields (Set)-node: Herschikt of hernoemt velden voor vervolg-nodes.
- Split Out-node: Splitst arrays op in losse items voor verwerking.
- Convert to File-node: Exporteert gestructureerde data naar CSV, JSON, enz.
- Loop Over Items-node: Doorloopt lijsten (cruciaal voor paginatie — daarover zo meer).
- Schedule Trigger: Start je workflow volgens een cron-schema.
- Error Trigger: Waarschuwt je wanneer een workflow faalt (essentieel in productie).
Voor geavanceerd scrapen — sites met JavaScript-rendering of zware anti-botbescherming — heb je community nodes nodig:
| Aanpak | Het meest geschikt voor | Niveau | Kan JS-gerenderde sites aan | Anti-botbescherming |
|---|---|---|---|---|
| n8n HTTP Request + HTML-nodes | Statische sites, API's | Beginner–intermediate | Nee | Handmatig (headers, proxies) |
| n8n + ScrapeNinja/Firecrawl community node | Dynamische/beschermde sites | Intermediate | Ja | Ingebouwd (proxy-rotatie, CAPTCHA) |
| n8n + headless browser (Puppeteer) | Complexe JS-interacties | Geavanceerd | Ja | Gedeeltelijk (afhankelijk van de setup) |
| Thunderbit (AI-webscraper) | Elke site, niet-technische gebruikers | Beginner | Ja (browser- of cloudmodus) | Ingebouwd (erft browsersessie of cloudafhandeling) |
Er is geen native headless-browsernode in n8n per v2.15.1. Elke scrape met JS-rendering vereist dus een community node of een externe API.
Een korte noot over Thunderbit: dit is een AI-aangedreven die ons team heeft gebouwd. Je klikt op "AI Suggest Fields", daarna op "Scrape", en je krijgt gestructureerde data — geen CSS-selectors, geen node-configuratie, geen onderhoud. In deze gids laat ik zien waar het past (en waar n8n juist beter is).
Stap voor stap: bouw je eerste n8n-webscrapingworkflow
Nu de toolbox bekend is, laten we vanaf nul een werkende n8n-webscraper bouwen. Ik gebruik een productoverzichtspagina als voorbeeld — precies het soort pagina dat je zou scrapen voor prijsmonitoring of concurrentieanalyse.
Voordat je begint:
- Moeilijkheidsgraad: Beginner–intermediate
- Benodigde tijd: ongeveer 20–30 minuten
- Wat je nodig hebt: n8n (zelf gehost 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 "Concurrent Price Scraper." Sleep een Manual Trigger-node erin. (Later vervangen we die door een geplande trigger.)
Je zou nu één node op je canvas moeten zien, klaar om af te vuren 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 komt de cruciale stap die de meeste tutorials overslaan: voeg een realistische User-Agent-header toe. Standaard stuurt n8n axios/xx als user agent — en dat is meteen herkenbaar als botverkeer. Voeg onder "Headers" het volgende toe:
| Headernaam | Waarde |
|---|---|
| User-Agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like 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, schakel dan Batching in (onder Options) en stel een wachttijd in van 1–3 seconden tussen requests. Dat helpt om rate limits te vermijden.
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 HTTP Request. 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 hebben (bijvoorbeeld een producttitel) en kies je "Inspect." Klik in het Elements-paneel met rechts op het gemarkeerde HTML-element en selecteer "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 in de output een tabel met gestructureerde data moeten zien — productnamen, prijzen en URL's.
Stap 4: opschonen en normaliseren met de Code-node
Ruwe gescrapete data is rommelig. Prijzen bevatten extra spaties, URL's kunnen relatief zijn en tekstvelden hebben soms afsluitende regeleinden. Voeg een Code-node toe en verbind die met de HTML-node.
Hier is een eenvoudig JavaScript-fragment 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 productieniveau. Sla je hem over, dan staat je spreadsheet vol met regels 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, selecteer je spreadsheet en tabblad, en map de velden uit de output van de Code-node naar je kolomkoppen.
Voer de volledige workflow uit. Je zou schone, gestructureerde data in je spreadsheet moeten zien verschijnen.
Terzijde: naar Google Sheets, Airtable, Notion en Excel zonder node-instelling. Als je niet de volledige workflowketen nodig hebt en alleen de data wilt, is dat een handige shortcut.
Het deel dat elke n8n-webscrapingtutorial overslaat: complete paginatiworkflows
Paginatie is de grootste ontbrekende schakel in n8n-scrapingcontent — en de grootste bron van frustratie in de n8n-communityforums.
Er zijn twee hoofdpatronen voor paginatie:
- Klikgebaseerde / URL-verhogende paginatie — pagina's als
?page=1,?page=2, enz. - Infinite scroll — content laadt terwijl je omlaag scrolt (denk aan Twitter, Instagram of veel moderne productcatalogi).
Klikgebaseerde paginatie in n8n (URL verhogen met Loop-nodes)
De ingebouwde Pagination-optie onder 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." Forumgebruikers melden dat het , en de laatste pagina niet goed herkent.

De betrouwbare aanpak: bouw de URL-lijst expliciet in een Code-node en doorloop die vervolgens met Loop Over Items.
Zo doe je dat:
- Voeg een Code-node toe die je pagin-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 de lijst te doorlopen.
- Binnen de lus voeg je je HTTP Request-node toe (zet de URL op
{{ $json.url }}), gevolgd door de HTML-node om te parseren. - Voeg een Wait-node toe (1–3 seconden, willekeurig) binnen de lus om 429 rate limits te vermijden.
- Na de lus bundel je de resultaten en exporteer je ze naar Google Sheets of CSV.
De volledige keten: Code (URL's bouwen) → Loop Over Items → HTTP Request → HTML → Wait → (terug naar de lus) → Bundelen → Exporteren.
Eén valkuil: de Loop Over Items-node heeft een waarbij geneste lussen items stilletjes overslaan. Als je zowel pagineert als subpagina's verrijkt, test dan zorgvuldig — het "done"-aantal kan afwijken van je invoeraantal.
Paginatie via infinite scroll: waarom de ingebouwde nodes van n8n moeite hebben
Infinite scroll-pagina's laden content via JavaScript terwijl je scrolt. De HTTP Request-node haalt alleen de eerste HTML op — die kan geen JavaScript uitvoeren of scrollacties triggeren. Je hebt twee opties:
- Gebruik een headless-browser community node (bijv. of ) om de pagina te renderen en scrollen te simuleren.
- Gebruik een scraping-API (ScrapeNinja, Firecrawl, ZenRows) met JS-rendering ingeschakeld.
Beide opties maken het geheel een stuk 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 groot:
| Mogelijkheid | n8n (DIY-workflow) | Thunderbit |
|---|---|---|
| Klikgebaseerde paginatie | Handmatige loop-node setup, URL-verhoging | Automatisch — detecteert en volgt paginatie |
| Infinite scroll-pagina's | Vereist headless browser + community node | Ingebouwde ondersteuning, geen configuratie nodig |
| Setup-inspanning | 30–60 min per site | 2 klikken |
| Aantal pagina's per batch | Sequentieel (één tegelijk) | 50 pagina's tegelijk (Cloud Scraping) |
Als je 200 productpagina's over 10 gepagineerde lijsten moet scrapen, kost n8n je een hele middag. Thunderbit kost je ongeveer twee minuten. Dat is geen afkraken van n8n — het is gewoon een ander gereedschap voor een andere klus.
Instellen en vergeten: n8n-webscrapingpipelines op cron
Eenmalig scrapen is nuttig, maar de echte kracht van n8n-webscraping zit in terugkerende, geautomatiseerde gegevensverzameling. Verrassend genoeg behandelt bijna geen enkele n8n-scrapingtutorial de Schedule Trigger voor scraping — terwijl dit juist een van de meest gevraagde functies in de community is.
Een dagelijkse prijsmonitoringspipeline bouwen
Vervang je Manual Trigger door een Schedule Trigger-node. Je kunt de n8n-interface gebruiken ("Every day at 8:00 AM") of een cron-expressie (0 8 * * *).
De volledige workflowketen:
- Schedule Trigger (dagelijks 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 hiernaast een Error Trigger-workflow die afgaat bij elke mislukte uitvoering en Slack op de hoogte brengt. Anders ontdek je — als selectors breken, en dat gebeurt zeker — pas drie weken later dat het rapport leeg is.
Twee niet-zichtbare vereisten:
- n8n moet 24/7 draaien. Een self-host op je laptop triggert niet als je de deksel sluit. Gebruik een server, Docker of n8n Cloud.
- Zet na elke workflowwijziging de workflow uit en weer aan. n8n Cloud heeft een waarbij planners na wijzigingen stilletjes worden gederegistreerd, zonder foutmelding.
Een wekelijkse leadextractiepipeline 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) → push naar Airtable of HubSpot.

De onderhoudslast is hier de onderbelichte kostenpost. Als de site van die gids de lay-out wijzigt, breken je CSS-selectors en faalt de workflow stilletjes. HasData schat dat van de initiële bouwtijd per jaar gereserveerd moet worden voor onderhoud in elk pipeline-systeem dat op selectors is gebaseerd. Zodra je ongeveer 20 sites onderhoudt, voel je die overhead echt.
Thunderbit's Scheduled Scraper: het no-code alternatief
Thunderbit's Scheduled Scraper laat je het interval in gewone taal beschrijven (bijv. "elke maandag om 9:00"), je URL's invoeren en op "Schedule" klikken. Het draait in de cloud — geen hosting, geen cron-expressies, geen stille deregistraties.
| Aspect | n8n geplande workflow | Thunderbit Scheduled Scraper |
|---|---|---|
| Planning instellen | Cron-expressie of n8n-schedule-UI | Beschrijf in gewone taal |
| Data opschonen | Handmatige Code-node vereist | AI reinigt/labelt/vertaalt automatisch |
| Exportdoelen | Integratie-nodes nodig | Google Sheets, Airtable, Notion, Excel (gratis) |
| Hostingvereiste | Zelf gehost 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. Forumgebruikers zeggen het heel duidelijk: "de meeste zijn prima totdat een site de lay-out verandert." Thunderbit's AI-aanpak haalt die pijn weg, omdat die niet leunt op vaste CSS-selectors.
ÔµÖ€Õ¢ 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 hordeur tegen een orkaan.
Volgens het Imperva 2025 Bad Bot Report vormen , en daarvan is kwaadaardig. Anti-botleveranciers (Cloudflare, Akamai, DataDome, HUMAN, PerimeterX) reageren daarop met TLS-fingerprinting, JavaScript-uitdagingen en gedragsanalyse. De n8n HTTP Request-node, die onder de motorkap Axios gebruikt, produceert een herkenbare, niet-browserachtige TLS-fingerprint. Alleen de User-Agent-header aanpassen helpt niet — de verraadt je al voordat er ook maar een HTTP-header wordt gelezen.
De anti-botbeslissingsboom
Hier is een gestructureerde aanpak voor troubleshooting — niet alleen "voeg een User-Agent toe":
Request geblokkeerd?
- 403 Forbidden → Voeg User-Agent- en Accept-headers toe (zie stap 2 hierboven) → Nog steeds geblokkeerd?
- Ja → Voeg roterende residential proxies toe → Nog steeds geblokkeerd?
- Ja → Schakel over naar een scraping-API (ScrapeNinja, Firecrawl, ZenRows) of een headless-browser community node
- Nee → Ga verder
- Nee → Ga verder
- Ja → Voeg roterende residential 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 limit bereikt (429-fout) → Schakel batching in op de HTTP Request-node, stel 2–5 seconden wachttijd in tussen batches, verlaag concurrency
Nog een valkuil: n8n heeft een waarbij de HTTP Request-node HTTPS niet goed via een HTTP-proxy kan tunnelen. De Axios-library faalt dan op de TLS-handshake, terwijl curl in dezelfde container prima werkt. Als je een proxy gebruikt en vreemde verbindingsfouten krijgt, is dat waarschijnlijk de oorzaak.
Waarom Thunderbit de meeste anti-botproblemen omzeilt
Thunderbit biedt twee scrapingmodi:
- Browser Scraping: draait binnen je eigen Chrome-browser en gebruikt je sessiecookies, inlogstatus en browserfingerprint. Daardoor worden veel anti-botmaatregelen omzeild die server-side requests blokkeren — omdat de request zelf een echte browser is.
- Cloud Scraping: voor openbaar beschikbare sites handelt Thunderbit anti-bot op schaal af — .
Als je meer tijd kwijt bent aan het bevechten van Cloudflare dan aan het analyseren van data, dan is dit het praktische alternatief.
Eerlijke conclusie: wanneer n8n-webscraping werkt — en wanneer je iets anders moet gebruiken
n8n is een geweldig platform. Maar het is niet de juiste tool voor elke scrapingklus, en geen enkel concurrerend artikel is daar eerlijk over. Gebruikers vragen letterlijk op forums: "how difficult is it to create a web scraper with n8n?" en "which scraping tool works best with n8n?"
Waar n8n-webscraping uitblinkt
- Workflow met meerdere stappen waarin scraping samenkomt met vervolgverwerking — CRM-updates, Slack-meldingen, AI-analyse, exports naar spreadsheets. Dat is de kernkracht van n8n.
- Situaties waarin scraping éé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 pijn doet
- Niet-technische gebruikers die gewoon snel data nodig hebben. De node-setup, het vinden van CSS-selectors en het debuggen is pittig voor zakelijke gebruikers.
- Sites met zware anti-botbeveiliging. Proxy- en API-uitbreidingen voegen kosten en complexiteit toe.
- Onderhoud wanneer site-layouts veranderen. CSS-selectors breken, workflows falen stilletjes.
- Bulk scraping over veel verschillende sitetypen. Elke site heeft zijn eigen selectorconfiguratie nodig.
- Verrijking van subpagina's. Vereist het bouwen van aparte sub-workflows in n8n.
Zij aan zij: n8n vs. Thunderbit vs. Python-scripts
| Factor | n8n DIY-scraping | Thunderbit | Python-script |
|---|---|---|---|
| Benodigde technische kennis | Intermediate (nodes + CSS-selectors) | Geen (AI stelt velden voor) | Hoog (coderen) |
| Setup-tijd per nieuwe site | 30–90 min | ~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 workflows met meerdere stappen | Uitstekend (kernkracht) | Export naar Sheets/Airtable/Notion | Vereist maatwerkcode |
| Kosten op schaal | n8n-hosting + proxy/API-kosten | Creditgebaseerd (~1 credit per rij) | Server- + proxykosten |
| Verrijking van subpagina's | Handmatig — aparte sub-workflow bouwen | 1-klik subpagescraping | Aangepaste scripting |
De les: gebruik n8n wanneer scraping onderdeel is 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. Het zijn geen concurrenten — ze vullen elkaar aan.

Praktische n8n-webscrapingworkflows die je echt kunt kopiëren
Forumgebruikers blijven vragen: "Heeft iemand deze al gekoppeld tot workflows met meerdere stappen?" Drie concrete workflows — echte nodeketens die je vandaag nog kunt bouwen.
Workflow 1: prijsmonitor voor e-commerceconcurrenten
Doel: Concurrentieprijzen dagelijks volgen en een melding krijgen 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 (2s) → (terug naar de lus) → Code (data opschonen, prijzen normaliseren) → Google Sheets (rijen toevoegen) → IF (prijs onder drempel?) → Slack (melding sturen)
Complexiteit: 8–10 nodes, 30–60 min setup per concurrentensite.
Thunderbit-shortcut: Thunderbit's Scheduled Scraper + kunnen in minuten vergelijkbare resultaten opleveren, met gratis export naar Google Sheets.
Workflow 2: pipeline voor sales leadgeneratie
Doel: Wekelijks een bedrijvengids scrapen, leads opschonen en categoriseren, en naar CRM pushen.
Nodeketen: Schedule Trigger (wekelijks, maandag 9:00) → HTTP Request (lijstpagina van bedrijvengids) → HTML (naam, telefoon, e-mail, adres extraheren) → Code (dedupliceren, opmaak opschonen) → OpenAI/Gemini-node (categoriseren op branche) → HubSpot-node (contacten aanmaken)
Opmerking: n8n heeft een native — handig voor CRM-pushes. Maar de scraping- en opschoonstappen vereisen nog steeds handwerk met CSS-selectors.
Thunderbit-shortcut: Thunderbit's gratis en Phone Number Extractor halen contactgegevens in 1 klik op, zonder workflow te bouwen. Dankzij AI-labeling kun je leads tijdens het extraheren al categoriseren. Gebruikers die niet de volledige automatiseringsketen nodig hebben, kunnen n8n helemaal overslaan.
Workflow 3: tracker voor nieuwe vastgoedaanbiedingen
Doel: Wekelijks nieuwe listings op Zillow of Realtor.com spotten en een samenvattende e-mail versturen.
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 automatiseringsketen nodig hebben (scrape → vergelijken → waarschuwen) 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 draaiend te houden
Productiescraping is 20% bouwen en 80% onderhouden.
Gebruik batching en vertragingen om rate limits te vermijden
Schakel batching in op de HTTP Request-node en stel een wachttijd in van 1–3 seconden tussen batches. Gelijktijdige requests zijn de snelste manier om een IP-ban te krijgen. Een beetje geduld nu bespaart later veel ellende.
Monitor workflow-uitvoeringen op stille fouten
Gebruik het tabblad Executions in n8n om mislukte runs te controleren. Gescrapete data kan stilletjes leeg terugkomen als een site van lay-out verandert — de workflow "slaagt" dan, maar je spreadsheet staat vol lege velden.
Stel een Error Trigger-workflow in die afgaat bij elke mislukte uitvoering en een Slack- of e-mailmelding stuurt. Dit is niet optioneel voor productiepipelines.
Bewaar je CSS-selectors extern voor makkelijke updates
Houd CSS-selectors bij in een Google Sheet of in n8n-omgevingsvariabelen, zodat je ze kunt bijwerken zonder de workflow zelf te openen. Als een site van lay-out verandert, hoef je alleen de selector op één plek aan te passen.
Weet wanneer je moet overstappen op een AI-aangedreven scraper
Als je merkt dat je constant CSS-selectors bijwerkt, tegen anti-botmaatregelen vecht of meer tijd kwijt bent aan onderhoud dan aan het gebruik 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 telkens breekt zodra een site een <div> aanpast), exporteert naar Google Sheets of Airtable, en n8n pakt de nieuwe rijen vervolgens op via de native Sheets/Airtable-trigger voor de orchestration — CRM-updates, alerts, conditionele logica, uitwaaiering naar meerdere systemen.
Afronding: bouw de pipeline die past bij je team
n8n-webscraping is krachtig wanneer je scraping nodig hebt als één stap in een grotere automatiseringsworkflow. Maar het vraagt technische setup, doorlopend onderhoud en geduld met paginatie-, anti-bot- en planningsconfiguratie. Deze gids behandelde de volledige pipeline: je eerste workflow, paginatie (het stuk dat elke tutorial overslaat), planning, anti-bot-troubleshooting, een eerlijke beoordeling van waar n8n past en praktijkworkflows die je kunt kopiëren.
Zo kijk ik ernaar:
- Gebruik n8n wanneer scraping onderdeel is van een complexe automatiseringsketen met meerdere stappen — CRM-updates, Slack-meldingen, 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 hebt.
En eerlijk gezegd is voor veel teams de beste setup een combinatie van beide: Thunderbit voor extractie, n8n voor orchestration. Als je wilt zien hoe AI-aangedreven scraping zich verhoudt tot je n8n-workflow, kun je met op kleine schaal experimenteren — en de installeer je in enkele seconden. Voor video-uitleg en workflow-ideeën kun je terecht op het .
Veelgestelde vragen
Kan n8n websites scrapen die zwaar op JavaScript leunen?
Niet met alleen de ingebouwde HTTP Request-node. De HTTP Request-node haalt ruwe HTML op en kan geen JavaScript uitvoeren. Voor JS-gerenderde sites heb je een community node nodig zoals of een scraping-API-integratie (ScrapeNinja, Firecrawl) die JavaScript server-side rendert. Thunderbit verwerkt JS-zware sites standaard in zowel Browser- als Cloud Scraping-modus.
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 uitvoeringen. Voor het scrapen van beschermde sites kunnen ook betaalde proxyservices nodig zijn ($5–15/GB voor residential proxies) of scraping-API's ($49–200+/maand, afhankelijk van volume).
Hoe verhoudt n8n-webscraping zich tot Thunderbit?
n8n is beter voor multi-step automatiseringen waarbij scraping slechts één onderdeel is van een grotere workflow (bijv. scrape → verrijken → filteren → pushen 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 orchestration.
Kan ik data scrapen van sites waarvoor je moet inloggen met n8n?
Ja, maar je moet dan cookies of sessietokens configureren in de HTTP Request-node, en dat kan lastig zijn om te onderhouden. Thunderbit's Browser Scraping-modus gebruikt automatisch de ingelogde Chrome-sessie van de gebruiker — als jij bent ingelogd, kan Thunderbit scrapen wat je ziet.
Wat moet ik doen als mijn n8n-scraper ineens geen data meer teruggeeft?
Controleer eerst het tabblad Executions in n8n op fouten. De meest voorkomende oorzaak is een wijziging in de lay-out van de site waardoor je CSS-selectors stuk zijn gegaan — de workflow "slaagt" dan wel, maar geeft lege velden terug. Controleer je selectors in Chrome's Inspect-tool, werk ze bij in je workflow (of in je externe selectorsheet) en test opnieuw. Als je tegen anti-botblokkades aanloopt, volg dan de troubleshootingbeslisboom in deze gids. Voor betrouwbare werking op de lange termijn kun je een AI-aangedreven scraper zoals Thunderbit overwegen, die zich automatisch aanpast aan lay-outwijzigingen.
Meer weten