Zorgkaartnederland Healthcare Provider Review Scraper avatar

Zorgkaartnederland Healthcare Provider Review Scraper

Pricing

from $0.80 / 1,000 record scrapeds

Go to Apify Store
Zorgkaartnederland Healthcare Provider Review Scraper

Zorgkaartnederland Healthcare Provider Review Scraper

Extracts the Netherlands' national care-quality directory: care organisations, named care professionals, and patient ratings with per-dimension subscores, free-text reviews, and provider replies. Includes BIG registration and AGB codes where published. Covers the full published sitemap corpus.

Pricing

from $0.80 / 1,000 record scrapeds

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

ZorgkaartNederland Healthcare Provider & Review Scraper

Extracts the Netherlands' national care-quality directory from ZorgkaartNederland — care organisations, named care professionals, and the patient ratings behind their scores. Returns three joined record types: organisations, professionals, and individual ratings with per-dimension subscores, free-text review bodies, and the provider's own reply.


Features

  • Covers ZorgkaartNederland's full published directory by default — care organisations, named care professionals, and patient ratings, no category or region filter required to get started.
  • Returns the review corpus, not just provider listings — individual patient ratings with per-dimension subscores (appointments, treatment effect, staff interaction, information, listening, accommodation), free-text review body, treatment context, and the provider's own reply where published.
  • Emits all three record types the site models separately — organisation, professional, and rating — each carrying an entity_id so they join, rather than flattening professionals into their practice.
  • Captures Dutch BIG registration numbers and AGB care-provider codes where published — the national identifiers that let you join this to other Dutch healthcare and insurer datasets.
  • Every Dutch-language field (care_type, professional_role) ships with an English translation alongside it (care_type_en, professional_role_en), so the dataset is usable without a Dutch speaker on staff.
  • Optional recordTypes filter to scope a run to just organisations, just professionals, or just ratings.

Who Uses This Data?

  • Health insurers (Zilveren Kruis, VGZ, CZ and peers) — benchmarking provider quality and patient sentiment for contracting and network decisions.
  • Hospital and care-group marketing teams — tracking their own review position and per-dimension scores against competitors.
  • Care-comparison and patient-routing platforms — building or refreshing a provider directory backed by real patient ratings.
  • B2B vendors selling into Dutch practices — using the directory as a complete, contactable list of care organisations by care type and location.
  • Researchers and market analysts — studying patient-reported quality across the Dutch healthcare system at scale.

How It Works

  1. Leave recordTypes empty (or set maxItems) to walk ZorgkaartNederland's full published directory — care organisations, named care professionals, and patient ratings.
  2. Set recordTypes to ["organisation"], ["professional"], ["rating"], or any combination to scope a run to just the record types you want.
  3. Set maxItems to cap the total number of records returned across all selected types. Leave it at 0 for a full crawl.
  4. Records land in your dataset as they're found. Stop the run early and you keep everything collected so far.

Input

{
"recordTypes": ["organisation", "professional", "rating"],
"maxItems": 500
}
FieldTypeDefaultDescription
recordTypesarray of string["organisation", "professional", "rating"]Which record types to include: organisation, professional, rating. Leave empty for all three.
maxItemsinteger10Maximum number of records to save across all selected record types. Set to 0 for a full crawl.

Output Fields

Organisation rows (record_type: "organisation")

{
"record_type": "organisation",
"url": "https://www.zorgkaartnederland.nl/zorginstelling/tandartsenpraktijk-tandartspraktijk-dentoart-huizen-3042722",
"entity_id": "3042722",
"name": "Tandartspraktijk DentoArt",
"care_type": "tandartsenpraktijk",
"care_type_en": "dental practice",
"specialisms": [],
"street": "Golfstroom 16",
"postal_code": "1271 CP",
"city": "Huizen",
"province": "Noord-Holland",
"latitude": 52.3091952,
"longitude": 5.2481257,
"phone": "035-5262175",
"website": "http://www.dentoart.nl",
"score_average": 9.8,
"score_count": 4,
"agb_code": null,
"big_registration": null,
"accepts_new_patients": null,
"insurers_contracted": [],
"opening_hours": {}
}
FieldTypeDescription
record_typestringAlways "organisation" on this row shape.
urlstringCanonical ZorgkaartNederland URL for the organisation.
entity_idstringNumeric id, unique per organisation — the join key for related professional/rating rows.
namestringOrganisation display name.
care_type / care_type_enstringDutch care-type code and its English translation (e.g. tandartsenpraktijk / dental practice).
specialismsarraySpecialisms as published, where listed.
street / postal_code / citystringAddress components.
provincestringDerived from postal_code (Dutch province).
latitude / longitudenumberMap coordinates, where published.
phone / websitestringContact details, where published.
score_averagenumberComposite average patient score.
score_countintegerNumber of ratings behind score_average.
agb_code / big_registrationstringDutch national provider identifiers, where published.
accepts_new_patientsbooleanWhether the organisation is accepting new patients, where published.
insurers_contractedarrayContracted health insurers, where published.
opening_hoursobjectOpening hours by day, where published.

Professional rows (record_type: "professional")

{
"record_type": "professional",
"url": "https://www.zorgkaartnederland.nl/zorgverlener/tandarts-abdullah-a-350090",
"entity_id": "350090",
"name": "Tandarts Abdullah, A.",
"professional_role": "tandarts",
"professional_role_en": "dentist",
"specialisms": [],
"organisation_name": "Dental Clinics Krommenie, Krommenie",
"score_average": null,
"score_count": null,
"agb_code": null,
"big_registration": null
}
FieldTypeDescription
record_typestringAlways "professional" on this row shape.
urlstringCanonical ZorgkaartNederland URL for the professional.
entity_idstringNumeric id, unique per professional.
namestringProfessional display name.
professional_role / professional_role_enstringDutch role code and its English translation (e.g. tandarts / dentist).
specialismsarraySpecialisms as published, where listed.
organisation_namestringThe practice/organisation the professional works at, where published.
score_average / score_countnumber/integerComposite score and rating count, where the professional has ratings.
agb_code / big_registrationstringDutch national provider identifiers, where published.

Rating rows (record_type: "rating")

{
"record_type": "rating",
"url": "https://www.zorgkaartnederland.nl/zorginstelling/tandartsenpraktijk-tandartspraktijk-dentoart-huizen-3042722/waardering/na-jarenlang-bij-een-andere-73eb679a95bb33759c96020b401da237",
"entity_id": "3042722",
"rating_id": "73eb679a95bb33759c96020b401da237",
"rating_score": 9.3,
"rating_title": "Waardering van Tandartspraktijk DentoArt - Huizen op 4 september 2024",
"rating_text": "Na jarenlang bij een andere tandarts geholpen te zijn is Dentoart een verademing...",
"rating_date": "2024-09-04",
"rating_author_role": "editorial",
"rating_treatment": "Gebitsaandoeningen",
"provider_response": null,
"subscores": {
"appointments": 9,
"treatment_effect": 10,
"staff_interaction": 10,
"information": 9,
"listening": 9,
"accommodation": 8
}
}
FieldTypeDescription
record_typestringAlways "rating" on this row shape.
urlstringCanonical ZorgkaartNederland URL for this individual rating.
entity_idstringNumeric id of the organisation or professional this rating belongs to — the join key.
rating_idstringUnique id for this individual rating.
rating_scorenumberOverall score given in this rating.
rating_titlestringRating headline as shown on the page.
rating_textstringThe reviewer's free-text review body.
rating_datestringPublication date (ISO YYYY-MM-DD where parseable).
rating_author_rolestringpatient, family member, editorial, or the raw author label where none of those match.
rating_treatmentstringTreatment or condition context, where published.
provider_responsestringThe provider's own reply to the rating, where published.
subscoresobjectPer-dimension scores (0-10): appointments, treatment_effect, staff_interaction, information, listening, accommodation.

Every record also carries a scraped_at timestamp.


Resuming a large crawl

Every run emits a resumeCursor in its Output. If a large crawl stops before it finishes — because it hit maxItems, your spend cap (maxTotalChargeUsd), or was aborted — start a new run with the same input plus that resumeCursor to continue from where it left off. The crawl resumes from the queued work the previous run didn't reach.

  • You are not re-charged for records the earlier run already delivered.
  • Resume within your account's run-retention window — on the free tier, roughly your 10 most recent runs. Once the source run is pruned, its resumeCursor is no longer valid.
  • resumeCursor is opaque — supply it unmodified.

FAQ

How do I scrape ZorgkaartNederland data?

Set maxItems (and optionally recordTypes) and run. The scraper walks ZorgkaartNederland's full published directory by default — no category, care type, or region filter required to get started.

What data can I get?

Care organisation listings, named care professional profiles, and individual patient ratings with per-dimension subscores, free-text review bodies, and provider replies — all three record types land in the same dataset, joined by entity_id.

Is this scoped to one care type or region?

No. The scraper covers every care type and region ZorgkaartNederland publishes — dental practices, GP practices, hospitals, nursing homes, physiotherapy practices, and more — with no filter required.

Do I need an account or API key?

No. This works from pages that are publicly visible on ZorgkaartNederland — no login required.

Why are some fields empty on a given record?

Not every provider or rating publishes every field — BIG registration, AGB codes, opening hours, and insurer lists are only shown where the source itself publishes them. The scraper never fabricates a value for a field the source doesn't show.


Need More Features?

Need a different field, a filtered subset, or another data point from ZorgkaartNederland? File an issue or get in touch.

Why Use This Scraper?

  • The review corpus, not just the directory — per-dimension subscores, free-text reviews, and provider replies, not just provider contact details.
  • Three record types, joined — organisation, professional, and rating rows all carry entity_id, so you're not reconciling separate exports.
  • National identifiers included — BIG registration and AGB codes, where published, for joining against other Dutch healthcare datasets.
  • English translations included — Dutch care types and professional roles ship with an English label alongside the original.