NL Kinderopvang Vestigingslocatiescan
Pricing
from $25.00 / 1,000 gebied-vestigingsscans
NL Kinderopvang Vestigingslocatiescan
Combines the Dutch childcare register (LRK), DUO primary-school locations, CBS population (age 0-4) and CBS new-build housing permits into one coverage-ratio signal per municipality, to help childcare entrepreneurs find underserved locations.
Pricing
from $25.00 / 1,000 gebied-vestigingsscans
Rating
0.0
(0)
Developer
Dennis
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Find underserved Dutch municipalities for a new childcare location. This Actor combines the official childcare register (LRK), the DUO primary-school register, CBS population data (children aged 0-4) and CBS new-build housing permits into one coverage-ratio scan per municipality — no configuration required.
When should an AI agent use this?
- "Which Dutch municipalities have the fewest childcare places relative to young children?"
- "I'm a childcare entrepreneur — where should I open a new kinderdagverblijf in the Randstad?"
- "Compare childcare coverage in Amsterdam, Utrecht and Rotterdam."
- "Is there new housing construction in [municipality] that could mean more demand for childcare?"
- "How many primary schools and childcare locations does [municipality] have?"
- "List all registered childcare locations (KDV/BSO) in [municipality]."
What this Actor does
- Downloads and parses the official LRK (Landelijk Register Kinderopvang) bulk dataset: every
registered kinderdagverblijf (KDV), buitenschoolse opvang (BSO), gastouderbureau (GOB) and individual
host-parent location (VGO) in the Netherlands, with capacity (
aantal_kindplaatsen). - Downloads and parses the DUO Open Onderwijsdata primary-school register.
- Fetches the current CBS population count for children aged 0-4 per municipality (CBS StatLine 03759NED).
- Fetches the latest quarter's new-build housing permits per municipality (CBS StatLine 83671NED) as a simple momentum signal.
- Combines all four into one record per municipality: existing supply, demand proxy, a coverage ratio
(
kindplaatsenPer100Kinderen0tot4), a market-fragmentation signal (aantalUniekeHouders) and a nationwide opportunity rank out of all ~342 municipalities — not just the ones in your run, since the underlying data is fetched nationwide either way. - Optionally returns individual childcare-location records for the selected municipalities.
- Degrades gracefully if a CBS source is temporarily unavailable: you still get the LRK/DUO-based supply
numbers, with the affected fields set to
nullinstead of the whole run failing.
Input
| Field | Type | Description |
|---|---|---|
gemeenten | array of strings | Municipality names (e.g. "Amsterdam") or GM-codes (e.g. "GM0363", "GM363" or plain "363" all work). Leave empty for all ~342 municipalities. |
opnemenLocaties | boolean | Also output one record per existing childcare location in the selected municipalities. Default false. |
maxLocatieRecords | integer | Caps how many location records a run can produce when opnemenLocaties is on. Default 1000, max 5000. |
Output
One gebied-vestigingsscan record per municipality:
{"type": "gebied-vestigingsscan","gemeente": "Utrecht","gemeenteCode": "GM0344","kinderopvang": {"kdvAantal": 205,"kdvKindplaatsen": 8716,"bsoAantal": 185,"bsoKindplaatsen": 10596,"vgoAantal": 159,"vgoKindplaatsen": 925,"gobAantal": 4,"totaalKindplaatsen0tot4": 9598,"aantalUniekeHouders": 229},"aantalSchoolvestigingenBasisonderwijs": 97,"inwoners0tot4Jaar": 19490,"inwonersJaar": "2026JJ00","nieuwbouwAantalWoningenLaatsteKwartaal": 356,"nieuwbouwPeriode": "2026KW01","kindplaatsenPer100Kinderen0tot4": 49.2,"vestigingskansRangLandelijk": 203,"totaalGemeentenLandelijk": 342,"bronnen": ["Landelijk Register Kinderopvang (LRK)", "..."]}
Optional kinderopvang-locatie record (only when opnemenLocaties: true):
{"type": "kinderopvang-locatie","lrkId": "100248640","typeOko": "KDV","naam": "2 Voices-Parkside","aantalKindplaatsen": 52,"adres": "Zocherstraat 68","postcode": "1054MA","woonplaats": "Amsterdam","gemeente": "Amsterdam","gemeenteCode": "GM0363","naamHouder": "2 Voices B.V.","kvkNummerHouder": "55449417"}
Use cases
- Site selection for a new childcare business: find municipalities with a low childcare-places-per-child ratio and recent new-build activity (future demand signal).
- Franchise/investor due diligence: compare coverage across a shortlist of candidate municipalities.
- Market research: existing supply and school density per municipality, updated with each run.
Pricing
This Actor uses Apify's Pay-Per-Event (PPE) pricing model.
- Actor Start: $0.00005 (Apify default)
gebied-vestigingsscan: $0.025 per municipalitykinderopvang-locatie-record: $0.004 per childcare location (only whenopnemenLocatiesis on)
Legal
Data sources: LRK (Belastingdienst/DUO, CC-0), DUO Open Onderwijsdata (open), CBS StatLine (open,
CC-BY-achtig gebruiksrecht). No personal data of children or parents is processed — LRK's naam_houder/
kvk_nummer_houder fields are business-level register data (comparable to a KVK registration), not
personal data.
vestigingskansRangLandelijk is computed across all ~342 municipalities (1 = lowest childcare-places-
per-child ratio nationwide), regardless of which municipalities you actually requested — it is not an
absolute externally-published benchmark (no official national coverage-ratio benchmark could be verified
during development), but it is a genuine nationwide comparison, not just a rank within your own selection.
FAQ
Q: Does this include a demand forecast for future years? A: No. CBS discontinued its regional age-specific population forecast in 2023/2024 (confirmed live during development). This Actor uses the current population aged 0-4 as the best available demand proxy instead, plus recent new-build activity as a forward-looking signal — not a forecast.
Q: What's the difference between KDV, BSO, GOB and VGO? A: KDV = kinderdagverblijf (daycare, ages 0-4), BSO = buitenschoolse opvang (after-school care, school-age), VGO = an individual registered host-parent location (also serves 0-4), GOB = gastouderbureau (an intermediary agency, not a physical location — excluded from capacity totals).
Q: Can I request all municipalities at once?
A: Yes — leave gemeenten empty. Keep opnemenLocaties off for a nationwide run unless you also set a
sensible maxLocatieRecords, otherwise you'll only get the first locations found before the cap.
Q: What does aantalUniekeHouders tell me?
A: The number of distinct childcare operators (by KVK number, or by name when no KVK number is
registered) active in that municipality, across all location types. A number close to the total location
count means a fragmented market of many small, independent operators (easier to enter without competing
against an established chain); a number much lower than the location count means a few large chains
dominate (each running several locations under one KVK number).
Q: What happens if a CBS source is temporarily down?
A: The run still completes using LRK/DUO. The affected fields (inwoners0tot4Jaar, nieuwbouw*,
vestigingskansRangLandelijk) come back as null for that run instead of failing the whole Actor.
Related Actors
- NL New-Build Housing Permits Monitor — the same CBS 83671NED source with full quarter-range and QoQ/YoY trend options, for deeper new-build analysis than the single-quarter signal used here.
Zoekwoorden: kinderopvang, kinderdagverblijf, LRK, vestigingslocatie, buitenschoolse opvang, gastouderbureau, kinderopvangondernemer.
Keywords
netherlands, childcare, kinderopvang, lrk, kinderdagverblijf, site-selection, education, cbs, open-data, government-data, mcp-tool
Changelog
0.2.0
vestigingskansRang/totaalGemeentenInRunreplaced byvestigingskansRangLandelijk/totaalGemeentenLandelijk— the opportunity rank is now computed nationwide (all ~342 municipalities) instead of only within the municipalities you requested, at no extra cost (the underlying data is already fetched nationwide).- New
aantalUniekeHoudersfield per municipality: a market-fragmentation signal (unique operators vs. total locations). - Fixed: GM-codes without leading zeros (e.g.
"GM363"or"363") now resolve correctly. - Fixed: duplicate municipalities in the
gemeenteninput (e.g. a name and its GM-code both listed) no longer produce duplicate — and duplicately charged — records. - The Actor now degrades gracefully instead of failing entirely if a CBS source is temporarily unavailable.
0.1.0
- Initial release.