SYSTEM all green source goudengids.be queue 14,920 pages p99 latency 215ms dataflirt.com · scraper/goudengids-be
RUN - 38 active pipelines - goudengids.be live

Belgian firm data,
at warehouse scale.

We extract business listings, contact details, VAT numbers, operating hours, and review corpuses from goudengids.be. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.

Listings extracted
142K /day
Phone numbers
89K /run
Review records
34K /24h
Active pipelines
38
Uptime
99.94%
Data Dictionary

Every field we extract from goudengids.be

Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.

Complete list of extractable fields for Business Profiles objects from goudengids.be. All fields typed and schema-versioned.

listing_idcompany_nameprimary_categorysecondary_categoriesvat_numberstreet_addresspostal_codecityregiondescriptionyear_establishedprofile_url
business_profiles
● 200 OK
"listing_id": "GG-BE-8472910",
"company_name": "Janssen Loodgieters BV",
"primary_category": "Plumbing",
"vat_number": "BE0412345678",
"postal_code": "2000",
"city": "Antwerp",
"year_established": 1998
# listing_idcompany_nameprimary_categorysecondary_categoriesvat_numberstreet_address
1
2
3

Complete list of extractable fields for Contact Intelligence objects from goudengids.be. All fields typed and schema-versioned.

listing_idphone_primaryphone_secondaryfax_numberemail_addresswebsite_urlfacebook_urllinkedin_urlwhatsapp_numbercontact_person
contact_intelligence
● 200 OK
"listing_id": "GG-BE-8472910",
"phone_primary": "+32 3 123 45 67",
"email_address": "info@janssen-loodgieters.be",
"website_url": "https://www.janssen-loodgieters.be",
"facebook_url": "https://facebook.com/janssenloodgieters",
"whatsapp_number": "+32 475 12 34 56"
# listing_idphone_primaryphone_secondaryfax_numberemail_addresswebsite_url
1
2
3

Complete list of extractable fields for Operating Hours objects from goudengids.be. All fields typed and schema-versioned.

listing_idmondaytuesdaywednesdaythursdayfridaysaturdaysundayholiday_exceptionstimezoneis_open_now
operating_hours
● 200 OK
"listing_id": "GG-BE-8472910",
"monday": "08:00-17:00",
"tuesday": "08:00-17:00",
"wednesday": "08:00-17:00",
"saturday": "Closed",
"sunday": "Closed",
"timezone": "Europe/Brussels"
# listing_idmondaytuesdaywednesdaythursdayfriday
1
2
3

Complete list of extractable fields for Reviews & Ratings objects from goudengids.be. All fields typed and schema-versioned.

review_idlisting_idauthor_namestar_ratingreview_textreview_dateresponse_textresponse_dateplatform_sourcehelpful_votes
reviews_& ratings
● 200 OK
"review_id": "REV-99281",
"listing_id": "GG-BE-8472910",
"author_name": "Marc Peeters",
"star_rating": 4.5,
"review_text": "Fast intervention for a leaking pipe. Fair pricing.",
"review_date": "2026-03-14",
"platform_source": "goudengids"
# review_idlisting_idauthor_namestar_ratingreview_textreview_date
1
2
3

Complete list of extractable fields for Location & Maps objects from goudengids.be. All fields typed and schema-versioned.

listing_idlatitudelongitudemap_urlneighborhooddirections_urlpublic_transit_infoparking_availableservice_radius
location_& maps
● 200 OK
"listing_id": "GG-BE-8472910",
"latitude": 51.2194,
"longitude": 4.4025,
"neighborhood": "Zuid",
"parking_available": true,
"service_radius": "25km",
"map_url": "https://maps.goudengids.be/..."
# listing_idlatitudelongitudemap_urlneighborhooddirections_url
1
2
3

Capabilities

Everything you need from Goudengids - nothing you do not

Our directory scraper handles every layer of the platform: business listings, obfuscated contact details, VAT registrations, and review corpuses - with JavaScript rendering and pagination bypass built in.

Full Business Profile Extraction

Company name, registered address, primary and secondary categories, description, and founding year scraped at the listing level.

Contact Detail Parsing

Capture primary phones, secondary lines, email addresses, and social media links normally hidden behind JavaScript click-to-reveal events.

VAT & Legal Entity Data

Extract official Belgian enterprise numbers (KBO/BCE) and VAT details to cross-reference with official state registries.

Review Corpus Mining

Full review text, star ratings, author names, and business response texts paginated across all available review pages.

Multi-Language Handling

Normalise listings across French (Pages d'Or) and Dutch (Goudengids) interfaces to prevent duplicate records in your database.

Category & Taxonomy Mapping

Maintain the exact hierarchical category tree Goudengids uses to classify businesses for accurate vertical segmentation.

Geolocation Coordinates

Extract latitude and longitude pairs from embedded map widgets for spatial analysis and routing applications.

Operating Hours & Exceptions

Parse daily opening hours, lunch breaks, and holiday exceptions into structured chron formats.

Scheduled Change Detection

Run continuous pipelines at weekly or monthly cadences with change-detection diffing to monitor closed businesses and new entrants.

// engagement pipeline

From category list to warehouse record

Brief in. Clean data out.

Define Scope
d 0

Provide postal codes, category URLs, or search terms. We design the extraction schema together.

Pipeline Build
d 2–4

We configure Scrapy crawlers, proxy rotation, session management, and JavaScript rendering for goudengids.be.

Validation & QA
d 4–6

Schema validation, null-rate checks, and contact detail verification before full launch.

Delivery
ongoing

JSON, CSV, or Parquet pushed to your S3 bucket, BigQuery dataset, or Snowflake stage on agreed cadence.

Under the hood

How our pipeline handles directory scraping challenges

European business directories invest heavily in bot mitigation. Here is how we stay resilient - and why teams choose managed infrastructure over DIY.

pipeline-monitor · goudengids.be · live ● active
// fingerprinting
Identity rotation
TLS fingerprintrandomised
User-agentrotated
IP poolresidential
Challenges blocked0
// pagination
Page coverage
48,291 pages queued running
// observability
Pipeline health
99.9%
uptime
142ms
p99 lat
0.3%
null rate
2
alerts
Anti-bot layer
Residential proxy rotation and fingerprint spoofing

Goudengids employs strict rate limiting and bot protection. Our crawlers use Belgian residential ISP proxies with realistic browser fingerprints and randomised request timing to maintain high extraction throughput.

Contact obfuscation
JavaScript rendering for hidden fields

Phone numbers and email addresses are often protected by click-to-reveal JavaScript events. We run full Playwright browser sessions to trigger these events and extract the underlying data.

Pagination caps
Search depth circumvention via postal grids

Directory search results truncate after a certain number of pages. We bypass this by programmatically dividing searches into granular postal code grids, ensuring 100% coverage of dense urban areas.

Language normalisation
Merging French and Dutch listings

Belgium's bilingual nature means businesses often have duplicate listings in French and Dutch. Our pipeline cross-references VAT numbers and addresses to deliver a deduplicated, normalised dataset.

Change detection
Only re-scrape what has changed

For full-country monitoring, we maintain a hash index of last-seen values per listing. Subsequent runs only push diffs - reducing compute cost and downstream processing load.

Applications

Who uses Goudengids data - and how

Teams across industries use goudengids.be data to build competitive products and smarter operations.

01
B2B Lead Generation

Sales teams feed verified phone numbers, emails, and contact names directly into their CRM for targeted outbound campaigns.

02
Master Data Management

Enterprises cross-reference their existing vendor and client databases against Goudengids to update stale addresses and missing VAT numbers.

03
Local SEO Audits

Marketing agencies monitor NAP (Name, Address, Phone) consistency across directories for their client portfolios.

04
Competitor Analysis

Retailers and service providers map competitor density in specific postal codes to identify underserved geographic markets.

05
Market Research

Consultancies track category growth, counting new business registrations versus closures across different Belgian provinces.

06
Investment Due Diligence

Private equity firms aggregate review sentiment and operating history to evaluate local franchise health and brand reputation.

Why DataFlirt

"Goudengids.be holds the most accurate local business registry in Belgium, but extracting it requires navigating strict rate limits and obfuscated contact fields."

Most teams fail at directory scraping because they ignore JavaScript-rendered phone numbers and regional search pagination caps. DataFlirt handles the proxy rotation, session management, and postal-code grid searches so your engineers can focus on consuming clean B2B data.

Technical Spec

Goudengids scraper - technical capabilities

Everything supported by our goudengids.be scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.

JavaScript rendering
Full Playwright sessions - required for click-to-reveal phone numbers and emails
Supported
CAPTCHA bypass
Automated solver integration for strict bot protection layers
Supported
Residential proxy rotation
ISP-grade residential IPs from BE pools - rotated per request
Supported
VAT number extraction
Capture official Belgian KBO/BCE enterprise numbers
Supported
Bilingual record merging
Deduplicate listings across French and Dutch language interfaces
Supported
Review pagination
Extract all historical reviews, not just the front page
Supported
Change detection (diffs)
Hash-based diff: only emit records with changed fields since last run
Supported
User account creation
Automated creation of Goudengids user profiles for leaving reviews
Partial
Direct business messaging
Automated submission of contact forms to listed businesses
Partial
Infrastructure

Infrastructure powering the directory pipeline

Open-source tooling on proven cloud infra — no vendor lock-in, full observability.

ScrapyPlaywrightPython 3.12RedisPostgreSQLApache AirflowAWS LambdaS3CloudWatch2CaptchaCapSolverResidential ProxiesDockerKubernetesGrafanaPrometheus
Scrapy + Playwright Stack

Scrapy handles crawl orchestration, deduplication, and retry logic. Playwright handles JavaScript rendering, cookie sessions, and interaction flows. Combined via scrapy-playwright middleware.

Residential Proxy Infrastructure

We maintain pools of residential ISP proxies across European regions. Rotation happens per-request with sticky sessions where required. IP score monitoring prevents blacklisted pool contamination.

Cloud-Native Orchestration

Pipelines run on AWS Lambda and ECS. Airflow handles scheduling, dependency management, and SLA alerting. All state stored in managed Postgres.

Output & Delivery

Your data, your destination

Data delivered to where your team already works — no new tooling required.

JSON
Newline-delimited or nested - schema versioned per run
CSV
Flat file with typed columns - Excel compatible
XLS
Standard Excel spreadsheet format for non-technical teams
Parquet
Columnar format for BigQuery, Snowflake, Athena
AWS S3
Direct bucket delivery - compatible with any data lake
Webhook
HTTP POST per record for real-time downstream processing
API
REST endpoint to query your extracted directory dataset
Snowflake
Stage and COPY INTO workflow - incremental or full-replace
S3
Direct bucket delivery — compatible with any data lake
// faq

Common questions.

About goudengids.be scraping, legality, and pipeline operations.

Ask us directly →
Is scraping Goudengids legal?

Scraping publicly available business information is generally permissible under European law, provided it does not extract protected personal data or violate GDPR. DataFlirt targets only public business profiles, VAT numbers, and corporate contact details. Clients should review platform terms of service and consult legal counsel for specific use cases.

How do you handle obfuscated phone numbers?

We use full Playwright browser sessions to execute the JavaScript required to reveal hidden contact fields, capturing the data exactly as a human user would see it in their browser.

Can you handle both French and Dutch listings?

Yes. We scrape both Pages d'Or (French) and Goudengids (Dutch) interfaces and use VAT numbers and physical addresses to merge duplicate records into a single, normalised entity.

How do you bypass search result limits?

Directories often limit search results to 1,000 listings per query. We circumvent this by programmatically dividing searches into granular postal code grids, ensuring complete coverage of dense areas like Brussels and Antwerp.

How fresh is the directory data?

Full catalogue refreshes at a weekly or monthly cadence complete within a 12-24 hour window depending on target size. We provide delta exports containing only new, modified, or closed businesses.

What is the minimum viable engagement?

Our smallest packages start at a defined category or province list (typically 10,000-50,000 listings) with monthly delivery. For full-country monitoring, we price based on volume and delivery frequency.

Can I request a sample dataset before committing?

Absolutely. We provide a sample run of up to 1,000 listings in a specific category or postal code as part of the pre-engagement scoping process so you can validate schema fit and data quality.

$ dataflirt scope --new-project --source=goudengids.be ready

Tell us what
to extract.
We do the rest.

20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a one-off provincial export or a continuous monitoring feed across all Belgian businesses - we scope, build, and operate the pipeline. Tell us what you need.

hello@dataflirt.com · Bengaluru · IST · typical reply < 4h
Related Scrapers

More in business directories

Services

Data Extraction for Every Industry

View All Services →