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.
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_id": "GG-BE-8472910", "company_name": "Janssen Loodgieters BV", "primary_category": "Plumbing", "vat_number": "BE0412345678", "postal_code": "2000", "city": "Antwerp", "year_established": 1998
| # | listing_id | company_name | primary_category | secondary_categories | vat_number | street_address |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Contact Intelligence objects from goudengids.be. All fields typed and schema-versioned.
"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_id | phone_primary | phone_secondary | fax_number | email_address | website_url |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Operating Hours objects from goudengids.be. All fields typed and schema-versioned.
"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_id | monday | tuesday | wednesday | thursday | friday |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Reviews & Ratings objects from goudengids.be. All fields typed and schema-versioned.
"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_id | listing_id | author_name | star_rating | review_text | review_date |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Location & Maps objects from goudengids.be. All fields typed and schema-versioned.
"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_id | latitude | longitude | map_url | neighborhood | directions_url |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
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.
Company name, registered address, primary and secondary categories, description, and founding year scraped at the listing level.
Capture primary phones, secondary lines, email addresses, and social media links normally hidden behind JavaScript click-to-reveal events.
Extract official Belgian enterprise numbers (KBO/BCE) and VAT details to cross-reference with official state registries.
Full review text, star ratings, author names, and business response texts paginated across all available review pages.
Normalise listings across French (Pages d'Or) and Dutch (Goudengids) interfaces to prevent duplicate records in your database.
Maintain the exact hierarchical category tree Goudengids uses to classify businesses for accurate vertical segmentation.
Extract latitude and longitude pairs from embedded map widgets for spatial analysis and routing applications.
Parse daily opening hours, lunch breaks, and holiday exceptions into structured chron formats.
Run continuous pipelines at weekly or monthly cadences with change-detection diffing to monitor closed businesses and new entrants.
Brief in. Clean data out.
Provide postal codes, category URLs, or search terms. We design the extraction schema together.
We configure Scrapy crawlers, proxy rotation, session management, and JavaScript rendering for goudengids.be.
Schema validation, null-rate checks, and contact detail verification before full launch.
JSON, CSV, or Parquet pushed to your S3 bucket, BigQuery dataset, or Snowflake stage on agreed cadence.
European business directories invest heavily in bot mitigation. Here is how we stay resilient - and why teams choose managed infrastructure over DIY.
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.
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.
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.
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.
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.
Sales teams feed verified phone numbers, emails, and contact names directly into their CRM for targeted outbound campaigns.
Enterprises cross-reference their existing vendor and client databases against Goudengids to update stale addresses and missing VAT numbers.
Marketing agencies monitor NAP (Name, Address, Phone) consistency across directories for their client portfolios.
Retailers and service providers map competitor density in specific postal codes to identify underserved geographic markets.
Consultancies track category growth, counting new business registrations versus closures across different Belgian provinces.
Private equity firms aggregate review sentiment and operating history to evaluate local franchise health and brand reputation.
"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.
Everything supported by our goudengids.be scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.
Open-source tooling on proven cloud infra — no vendor lock-in, full observability.
Scrapy handles crawl orchestration, deduplication, and retry logic. Playwright handles JavaScript rendering, cookie sessions, and interaction flows. Combined via scrapy-playwright middleware.
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.
Pipelines run on AWS Lambda and ECS. Airflow handles scheduling, dependency management, and SLA alerting. All state stored in managed Postgres.
Data delivered to where your team already works — no new tooling required.
About goudengids.be scraping, legality, and pipeline operations.
Ask us directly →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.
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.
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.
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.
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.
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.
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.
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.