Dutch Government Announcements Monitor – Permits avatar

Dutch Government Announcements Monitor – Permits

Pricing

from $2.00 / 1,000 bekendmaking delivereds

Go to Apify Store
Dutch Government Announcements Monitor – Permits

Dutch Government Announcements Monitor – Permits

Dutch government announcements from officielebekendmakingen.nl as a filterable feed: permits, zoning plans, traffic decisions and regulations by municipality, postcode area, type, keywords and period, with authority, address, coordinates, summary, document links and the derived objection deadline.

Pricing

from $2.00 / 1,000 bekendmaking delivereds

Rating

0.0

(0)

Developer

Leyten Data

Leyten Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Share

What does Dutch Government Announcements Monitor do?

Dutch government announcements for building leads, contractors, environmental consultants, property developers and local journalists: every environmental permit (omgevingsvergunning), zoning or environment plan, traffic decision, regulation, event and operating permit that Dutch municipalities, provinces, water boards and the state publish on officielebekendmakingen.nl, as a feed you filter by municipality, postcode area, type, activity, keywords and period. Each publication comes with the authority, the address and coordinates, a summary, the document links and, the field everyone works with, the objection deadline (bezwaar, zienswijze or beroep), derived from the publication and flagged when it expires within fourteen days. Monitor mode delivers only what is new since the previous run.

Where the data comes from

Everything is read from KOOP's SRU 2.0 service over the official publications collection (bekendmakingen) at repository.overheid.nl/sru, the open-data interface behind officielebekendmakingen.nl, published under CC0 and updated on the day of publication (dataset page). No HTML is parsed: the SRU records carry the OWMS metadata (type, authority, dates, location geometry, activities, subjects) and link to the XML of each publication, which the Actor reads for the deadline and the summary. 6.7 million publications are indexed; a Dutch working day adds roughly 1,200 environmental permits alone.

The objection deadline

Advisers and neighbours work against hard dates: six weeks to object (Awb art. 6:7), counted from the day after the decision was made known (art. 6:8), which for a permit is the day it was sent to the applicant, not the day it appeared in the Gemeenteblad. The Actor derives the last day to object in this order, and tells you which rule applied in objection.basis:

  1. metadata: the authority filled in the end of the reaction period in the publication's OWMS metadata.
  2. text-end-date: the publication names the date itself ("tot en met 21 oktober 2026 … bezwaar").
  3. text-sent-date: the publication names the dispatch date ("Het besluit is verzonden op 11-09-2026"); the deadline is that date plus six weeks (or the term the text states).
  4. text-inspection-period: the publication names the inspection period ("ter inzage van 16 september tot en met 27 oktober 2026"); the last day is the deadline for a zienswijze.
  5. publication-date-estimate: a decision without any date in its text; the publication date plus six weeks, explicitly marked as an estimate because the decision may have been sent earlier.
  6. not-applicable: applications, notifications, procedural notices and regulations, against which no objection lies (Awb art. 8:3 for verordeningen and beleidsregels), with the reason.

expiresWithin14Days is true when the deadline is today or within the next fourteen days; expired when it has passed. In a scheduled task, filter the dataset on those flags or read the Deadlines view.

Monitor mode

Set mode to monitor, keep the filters, schedule the task daily. The first run records a baseline, delivered as baseline records at the lookup price per publication; every later run delivers only publications that appeared since (added, priced as a new publication) with the same fields. Publications older than the window (lookbackDays) leave the state silently: after a run that read its whole window, or, while runs stop early, once the watch knows more publications than one run reads. A watch on a busy filter therefore stays small. A run in which nothing new was published costs the start fee only.

Features

  • Government announcements and permits monitor for the Netherlands, straight from KOOP's open-data SRU service (CC0)
  • Filters by municipality, postcode area, authority, type, activity, keywords and period
  • Objection deadline per decision (bezwaar, zienswijze, beroep) with the rule it was derived from and the sentence it was taken from
  • Fourteen-day deadline flag and a Deadlines dataset view
  • Address, postcode, municipality and coordinates of the marked location, for routing leads
  • Activities of environmental permits (bouwen, slopen, kappen, milieu, reclame, uitweg en inrit) as structured fields
  • Summary with personal names removed, plus links to the publication as HTML, PDF and XML
  • Monitor mode: only new publications since the previous run, with a webhook
  • Runs through the Apify API, on a schedule, or from Make, Zapier and n8n

Use cases

Contractors, installers and suppliers: building leads

types: ["omgevingsvergunning"], activities: ["bouwen"], your working area in gemeenten or postcodeAreas, status aanvraag for the earliest signal (the owner has just decided to build) and besluit for the confirmed one. Address and coordinates route the lead to the right branch.

// npm install apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('lwsdjfls/nl-govt-announcements-monitor').call({ gemeenten: ['Voorst', 'Apeldoorn'], types: ['omgevingsvergunning'], activities: ['bouwen'], lookbackDays: 7 });
const { items } = await client.dataset(run.defaultDatasetId).listItems({ clean: true });
for (const { payload } of items) {
const where = payload.location.address ?? payload.title;
const deadline = payload.objection.deadline ? ` – bezwaar t/m ${payload.objection.deadline}${payload.objection.expiresWithin14Days ? ' (binnen 14 dagen!)' : ''}` : '';
console.log(`${payload.publishedOn} ${payload.status} ${payload.authority.name}: ${where}${deadline} ${payload.documentUrl}`);
}

Environmental consultants and neighbours: never miss a deadline

Watch the municipalities or postcode areas of your clients. Every new decision arrives with its deadline and the sentence it was taken from; the Deadlines view lists what expires within fourteen days.

Property developers and investors

types: ["bestemmingsplan", "omgevingsvergunning"] with keywords such as woningen, appartementen, transformatie: draft plans (ontwerp) show what a municipality is about to allow, months before construction.

Local journalists

A daily feed of everything a council publishes, traffic decisions and regulations included, with the summary and the document link. Keywords such as laadpaal, terras, evenement or kap narrow it to a beat.

How to use it

  1. Say where to look and what to look for. Put municipalities into Gemeenten, or postcode areas into Postcode areas when your interest is geographic rather than administrative, and pick the publication kinds in Types. Keywords narrows it further, for example to a street name or a project.
  2. Run it once over the last few days with Days to see the shape of the output. Each publication comes back with the authority, the address and coordinates where the publication contains them, a summary, the document links and the derived objection deadline. Turn on Read the publication texts when you need the full text rather than the metadata.
  3. Give it a State key, switch Mode to the change feed and schedule it daily. Objection periods are short and they start on the publication date, so a feed with a webhook is the difference between acting and reading about it afterwards.

The deadlines view sorts by the date that matters and flags anything with less than 14 days left, which is the view most people end up living in. bekendmakingen is the full table and changes is what the monitor adds each day.

One thing to understand about the deadline: it is derived, not published. Dutch authorities do not publish a machine-readable objection date, so it is calculated from the publication date and the type of decision. It is a reliable planning signal and a good trigger for a reminder, but for a case you intend to fight, confirm the date in the publication itself.

{
"gemeenten": ["Voorst", "Groningen"],
"types": ["omgevingsvergunning", "verkeersbesluit"],
"lookbackDays": 7
}

Input

FieldWhat it doesExample
modelookup delivers every matching publication in the period; monitor delivers only new publications since the previous run."lookup"
gemeentenMunicipality names as officielebekendmakingen.nl writes them. A publication matches when the municipality is the authority or when the marked location lies in it. Empty for the whole country.["Voorst", "Groningen"]
authoritiesProvinces, water boards or ministries as publishing authority.["Provincie Gelderland"]
postcodeAreasFour-digit areas or full postcodes, matched against the postcode in the address, title or text.["7391", "7391 ST"]
typesPublication types (OWMS rubrieken). Types that exist to publish matters of named persons are never offered.["omgevingsvergunning", "verkeersbesluit"]
activitiesRestrict environmental permits to activities: bouwen, slopen, kappen, milieu, natuur, reclame, uitweg en inrit, brandveilig gebruik, ruimtelijke ordening.["bouwen"]
keywordsWords or phrases searched in the title, metadata and text; any of them must match.["zonnepanelen", "dakkapel"]
publishedFromLookup mode: first publication date.2026-09-01
publishedToLookup mode: last publication date, inclusive.2026-09-15
lookbackDaysLookup mode without dates: the last N days. Monitor mode: the window in which new publications are looked for.7
fetchDocumentsReads each publication's text to derive the objection deadline and the summary.true
maxItemsCaps the charged publications in one run. To find them, a run reads at most five times as many publications, up to 10,000 (or this cap, when it is higher).1000
webhookUrlReceives a POST with a summary after each run that delivered publications; stored encrypted.https://hooks.example.com/announcements
stateKeySeparates independent monitors. Defaults to the task ID.voorst-permits
{
"gemeenten": ["Voorst", "Groningen"],
"types": ["omgevingsvergunning", "verkeersbesluit"],
"lookbackDays": 7
}

gemeenten are municipality names as officielebekendmakingen.nl writes them; a publication matches when the municipality is the authority or when the marked location lies in it (so a provincial permit for a site in your municipality is included). postcodeAreas (7391 or 7391 ST) are matched against the postcode in the address, title or text; publications without a recognisable postcode are then left out. When only the text holds the postcode and a run has no text (fetchDocuments is off, the record has no document link, or the document could not be read), a new publication or a lookup leaves the publication out uncharged, and a watch keeps the version of a known one it delivered before, so the run that reads the document delivers the change free (for a watch that knows more publications than a run reads, see the limitations). The run log counts these publications, and a failed read also logs a warning for each. keywords are searched in title, metadata and full text. In lookup mode, publishedFrom/publishedTo or lookbackDays set the period.

Monitor mode:

{
"mode": "monitor",
"gemeenten": ["Voorst"],
"types": ["omgevingsvergunning", "bestemmingsplan"],
"lookbackDays": 4,
"webhookUrl": "https://hooks.example.com/announcements"
}

Output

One record per publication:

  • id (gmb-2026-432727), title, category and categoryLabel (your type), rubriek (the OWMS type as published), status: aanvraag (application), ontwerp (draft), besluit (decision), melding (notification), regeling (regulation), procedure (procedural notice) or overig
  • authority (name and kind: gemeente, provincie, waterschap, ministerie), publication (Gemeenteblad number and so on), publishedOn, modifiedOn
  • location: address as the authority marked it, postcode, gemeente the location lies in, lat/lon (the marked point, or the centre of the marked area), geometryType
  • activities for environmental permits (bouwen, slopen, kappen, milieu, reclame, uitweg en inrit…), subjects, plansoort, typeVerkeersbesluit
  • summary: the body of the publication (up to 500 characters) with personal names removed
  • objection: deadline, kind (bezwaar, zienswijze, beroep), basis (how it was derived, see above), countedFrom, daysLeft, expiresWithin14Days, expired, and an explanation in Dutch that quotes the sentence it was taken from
  • inspectionUrl (terinzagelegging) when the authority provided one, documentUrl (officielebekendmakingen.nl), pdfUrl, xmlUrl, documentFetched, namesRemoved, checkedAt
{
"envelopeVersion": 1,
"id": "gmb-2026-432391",
"scope": "lookup:895dd46645356973",
"changeType": "added",
"sourceUrl": "https://zoek.officielebekendmakingen.nl/gmb-2026-432391.html",
"scrapedAt": "2026-09-15T20:00:00.000Z",
"firstSeenAt": "2026-09-15T20:00:00.000Z",
"hash": "ef7942c9a1f49ee51df4ed40c392abf9edc75ae969b0371edb401786b59893ca",
"previousHash": null,
"changes": [],
"summary": "Added: Omgevingsvergunning verleend voor het kappen van een boom op de locatie Zwarte Kolkstraat 49, 7384DC Wilp (Voorst, 2026-09-15)",
"diffText": null,
"payload": {
"id": "gmb-2026-432391",
"title": "Omgevingsvergunning verleend voor het kappen van een boom op de locatie Zwarte Kolkstraat 49, 7384DC Wilp",
"category": "omgevingsvergunning",
"categoryLabel": "Omgevingsvergunning",
"rubriek": "omgevingsvergunning",
"status": "besluit",
"authority": {
"name": "Voorst",
"kind": "gemeente"
},
"publication": {
"name": "Gemeenteblad",
"number": "432391"
},
"publishedOn": "2026-09-15",
"modifiedOn": "2026-09-15",
"location": {
"address": "Zwarte Kolkstraat 49, 7384DC Wilp",
"postcode": "7384 DC",
"gemeente": "Voorst",
"lat": 52.213033,
"lon": 6.096149,
"geometryType": "Vlak"
},
"activities": [
"kappen"
],
"subjects": [
"Ruimte en infrastructuur | Organisatie en beleid"
],
"plansoort": null,
"typeVerkeersbesluit": null,
"summary": "Omgevingsvergunning verleend voor het kappen van een boom op de locatie Zwarte Kolkstraat 49, 7384DC Wilp Datum besluit: 11 september 2026 Kenmerk: Z2026-00001584 Informatie Heeft u vragen of wilt u het besluit inzien? Neem dan gerust contact op met de gemeente Voorst. Het telefoonnummer is 0571–27 93 35. Wilt u de stukken digitaal ontvangen? Stuur dan een e-mail aan omgevingsvergunning@voorst.nl en vermeld daarbij het zaaknummer. Niet eens met het besluit? Bezwaar Bent u belanghebbende en bent …",
"objection": {
"deadline": "2026-10-27",
"kind": "bezwaar",
"basis": "publication-date-estimate",
"countedFrom": "2026-09-15",
"daysLeft": 42,
"expiresWithin14Days": false,
"expired": false,
"explanation": "Schatting: zes weken na de publicatiedatum. De publicatie noemt geen verzend- of einddatum; de wettelijke termijn loopt vanaf de dag na bekendmaking aan de aanvrager, die eerder kan liggen dan deze publicatie. Controleer het besluit zelf."
},
"inspectionUrl": null,
"documentUrl": "https://zoek.officielebekendmakingen.nl/gmb-2026-432391.html",
"pdfUrl": "https://repository.overheid.nl/frbr/officielepublicaties/gmb/2026/gmb-2026-432391/1/pdf/gmb-2026-432391.pdf",
"xmlUrl": "https://repository.overheid.nl/frbr/officielepublicaties/gmb/2026/gmb-2026-432391/1/xml/gmb-2026-432391.xml",
"documentFetched": true,
"namesRemoved": 0,
"checkedAt": "2026-09-15T20:00:00.000Z"
}
}

Pricing

EventNameWhat it meansPrice
apify-actor-startActor startCharged by Apify when a run starts: once for a run of up to 1 GB of memory, and once more for every extra GB. It covers the first five seconds of compute.$0.00005 per run up to 1 GB of memory ($0.05 per 1,000)
bekendmaking-delivered (primary)Bekendmaking deliveredOne publication delivered in lookup mode, or in the baseline a monitor records on its first run, with type, authority, location, summary, document links and the derived objection deadline.$0.002 per publication ($2.00 per 1,000)
new-publication-detectedNew publication detectedIn monitor mode: a publication that appeared in a followed filter since the previous run, delivered with the same fields. Publications a watch already delivered are free.$0.01 per new publication ($10.00 per 1,000)

A week of environmental permits and traffic decisions of two municipalities (about 60 publications) costs $0.12. Every environmental permit in the country for a day (about 1,200) costs $2.40. A daily watch on one municipality starts with its current window as a baseline at $0.002 per publication, then delivers a handful of new publications a day, at $0.01 each. If your spending limit ends that first run early, the watch starts from the publications that fit and the next run delivers the rest as new publications.

Not charged: publications already delivered by a watch, and runs on which the SRU service did not answer.

FAQ

Why is the objection deadline an estimate for some decisions?

Because the term runs from the day after the decision was sent to the applicant, and many municipalities do not print that date in the announcement. When neither a dispatch date nor an end date is in the text, the Actor counts six weeks from the publication date and says so in basis and explanation. Treat an estimate as the latest possible date and check the decision itself.

Which types exist, and what is "andere vergunning"?

The types follow KOOP's rubrieken. andere vergunning is the catch-all authorities use for market-stall, terrace, tree-felling (in some municipalities), mooring and similar permits; combine it with keywords.

Can I get the full text of a Dutch government announcement?

The summary holds the first 500 characters of the body; documentUrl, pdfUrl and xmlUrl link to the complete publication in three formats.

The data is published by the Dutch government under CC0 for reuse, on a service KOOP provides for exactly this purpose. Publications are about places, and the Actor delivers addresses, because the address is what a lead or a neighbour needs. Names of natural persons are another matter: publication types that exist to announce matters of named persons (bankruptcies, divorces, court summons, BRP decisions, honours, deregistrations) are not offered at all; publications that KOOP marks as carrying personal data (the OWMS persoonsgegevens element) are skipped, whatever their type; in summaries and texts, names written after a salutation or a role ("de heer J. van der Berg", "aanvrager: mevrouw De Vries") are replaced by [naam verwijderd], and namesRemoved counts them; company names stay. Titles are delivered as published: when an authority put a person's name in the title, it is inseparable from the publication. If you build a marketing database on this feed, you are the controller under the GDPR: inform the people you approach and honour objections.

What are the limitations?

  • The SRU service is occasionally slow or unavailable; such runs are not charged and monitor state is kept.
  • The deadline is derived from the publication's text and metadata; basis tells you how confident to be, and an estimate is the latest possible date, not a guarantee.
  • Only the publication types KOOP offers as rubrieken can be filtered; the catch-all andere vergunning needs keywords.
  • Summaries are truncated at 500 characters; the full text is one link away.
  • A run reads at most five times maxItems publications, up to 10,000 (or maxItems itself, when that is higher). A postcode filter without gemeenten searches the whole country and may stop there with a warning; add the municipalities around your postcode areas. A watch run that stops early keeps the known publications of its window that it did not reach, so they are not charged again; once a watch knows more publications than a run reads, only those whose last known modification date is inside the window are kept, and one of the others that KOOP has modified since is delivered again as a new publication when a later run reaches it. For a known publication a run kept without its text, the last known date is the one of the version the watch delivered, not KOOP's newer one. Publications a watch already knows do not count against maxItems.

Support

Found a bug or need a feature? Open an issue on the Actor page. We usually respond within a day.