Belgian Gazette Monitor — Staatsblad Delta (KBO) avatar

Belgian Gazette Monitor — Staatsblad Delta (KBO)

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Belgian Gazette Monitor — Staatsblad Delta (KBO)

Belgian Gazette Monitor — Staatsblad Delta (KBO)

Delta monitor for the Belgian Official Gazette (Belgisch Staatsblad / Moniteur belge) and KBO company filings: new filings, board changes, dissolutions, new publications — run-over-run events, not a stateless re-export. Full-text + KBO extraction. FPS Justice CC0 open data.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Vesper

Vesper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Belgian Gazette Monitor

Structured, run-over-run monitoring of the Belgian Official Gazette (Belgisch Staatsblad / Moniteur belge) and company registrations (Bijlage van de Rechtspersonen) — as delta events, not a stateless re-export.

Point it at a company, a postal code, a keyword, or a date window, and each run tells you what changed since the last run: new filings, board changes, dissolutions, name changes, registered-office moves — plus every gazette publication, full-text searchable.

Built on FPS Justice open data (dataset fpsjust-moniteur, license CC0, publisher: FPS Justice, coverage 1924 → today).

Why a monitor instead of a scraper

The source portal is free but has no API, no full-text search, no change alerts, and no feed. This actor adds the three things a compliance, legal-tech, credit, or lead-gen workflow actually needs:

  1. Delta events. State persists per mode between runs. First run seeds; every later run emits only what is new (eventType: "new") or changed (eventType: "change", with the prior fingerprint). Set Emit delta events only to false for a plain full export of the window instead.
  2. Full-text search where the portal has none. Gazette publications are searched through their article text; registration filings through the text layer of each filing PDF (a keyword like rolnummer that never appears in any index title still finds exactly the right document). Matching rows carry fullTextMatch: true and the KBO number extracted from the PDF itself.
  3. Native company filters. Registrations mode queries the registry's own search endpoint, so you can filter by enterprise number (accepts 0758528122, 758528122, 0758.528.122), postal code, and category (Oprichting, Ontslagen - benoemingen, Maatschappelijke zetel, …), server-side, over your whole date window.

Both access paths (the daily index and the registry search) key on the same document id, so they dedupe against one persistent state — no duplicate events when you mix filters.

Who this is for

  • Insolvency & credit risk — watch dissolutions (Einde) and board changes among customers, debtors, or an entire postal code; a daily watch on 50 companies costs cents a month.
  • Legal & compliance — statute amendments (Statuten), registered-office moves, name changes, and every gazette publication, full-text searchable.
  • Market & lead research — new companies (Oprichting) appearing in a region or category, delivered daily as delta events instead of a hand-run export.

Two modes

mode: "gazette"mode: "registrations"
SourceBelgisch Staatsblad — laws, decrees, ordersBijlage van de Rechtspersonen — KBO company filings
Native filtersdocument typeenterprise number, postal code, category
Full-textarticle HTMLfiling PDF text layer
Row keysNUMACpublication number (docid)

Input

FieldModeNotes
dateFrom / dateTobothYYYY-MM-DD (required format — the portal silently drops other formats); defaults: yesterday / today
enterpriseNumberregistrationsmonitor one company across its lifetime
postalCoderegistrationsregistered-office postal code
categoryregistrationssee the portal's category rubrics
searchQuerybothfull-text; kept rows flagged fullTextMatch: true
documentTypegazettee.g. Wet, Koninklijk besluit
emitDeltaOnlybothtrue (default): only delta events. false: full export of the window
languagebothnl / fr interface; the filing's own language is reported per row
maxResultsbothdefault 500

Output

Dataset items are events (delta mode) or rows (export mode), plus a recordType: "run_status" row per run so a silent run is never ambiguous:

{
"companyName": "AARKSH TRADING",
"enterpriseNumber": "758528122",
"publicationDate": "2026-09-04",
"publicationNumber": "26358534",
"pdfUrl": "/tsv_pdf/2026/09/04/26358534.pdf",
"language": "nl",
"category": "ONTSLAGEN - BENOEMINGEN",
"eventType": "new",
"recordType": "gazette_event"
}

Full-export rows additionally carry fullTextMatch and kboEnterpriseNumber when a searchQuery was used.

Typical runs

  • Watch one company: registrations, enterpriseNumber: "0758.528.122", no window limit — every future filing arrives as a new event.
  • Watch a region: registrations, postalCode: "2000", daily schedule — every filing in Antwerp, as it lands.
  • Watch a keyword: registrations + searchQuery on a term that only appears inside filing PDFs.
  • Legal research backfill: gazette, a date range, documentType + searchQuery, emitDeltaOnly: false.

Getting the events where you work

Each run writes to a standard Apify dataset, so the notification half is platform plumbing, not actor code:

  • Google Sheets / Excel — export the run's dataset from the Console, or pipe it through a Zapier/Make/Sheets step.
  • Slack / Discord / Teams — add an Apify webhook on RUN.SUCCEEDED to your channel's relay, and include the run's dataset URL in the payload.
  • n8n / Zapier / Make — trigger on RUN.SUCCEEDED, then fetch GET /v2/datasets/{datasetId}/items and branch on eventType.
  • Your own backend — schedule with POST /v2/acts/{actorId}/runs, then read {datasetId}/items?clean=true.

Because state persists between runs, every destination only ever receives what actually changed.

Provenance, compliance, and limits — stated plainly

  • Data: CC0-licensed public records (FPS Justice open data). The actor discloses itself with a descriptive user agent, spaces requests (~400 ms), and reads per-run on demand — it does not crawl the portal.
  • The portal's robots.txt disallows its scraping surface; there is no machine-readable bulk distribution to prefer (verified 2026-09: the data.gov.be portal links back to the same portal). If a sanctioned bulk path appears, this actor will move to it. If that position does not work for you, please do not use the actor.
  • Server-side cap: broad registration queries (e.g. a postal code over a long window) can exceed the portal's 10,000-result limit. This surfaces as a run_status row and an over-10000-cap error — never as silent partial data. Narrow the window.
  • The portal itself is authoritative; this actor re-publishes structured access, not the data. Expect Dutch/French source text as published.

Pricing

Apify pay-per-event: $0.00005 per run start plus $0.005 per dataset result — scheduled delta monitoring costs cents per month (a quiet day bills the per-run minimum only), full exports undercut comparable Belgian legal-data actors while returning strictly more per row. Status/error rows are dataset items and bill like results. Full breakdown and cost examples: PRICING.md in the actor repository.

About

Built by Vesper — an independent developer of small, verified, open-data monitors. Every parser is fixture-tested, every input path is checked against the live source before release, and the full source code ships with the actor: read it, fork a run, or pin a build. Corrections and feature requests are welcome.


Development notes, probe logs, and verification evidence: PROBE.md in the actor repository. Not affiliated with FPS Justice; data is CC0 public-record material.