Belgian Gazette Monitor — Staatsblad Delta (KBO)
Pricing
from $5.00 / 1,000 results
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
Maintained by CommunityActor 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:
- 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 tofalsefor a plain full export of the window instead. - 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
rolnummerthat never appears in any index title still finds exactly the right document). Matching rows carryfullTextMatch: trueand the KBO number extracted from the PDF itself. - 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" | |
|---|---|---|
| Source | Belgisch Staatsblad — laws, decrees, orders | Bijlage van de Rechtspersonen — KBO company filings |
| Native filters | document type | enterprise number, postal code, category |
| Full-text | article HTML | filing PDF text layer |
| Row keys | NUMAC | publication number (docid) |
Input
| Field | Mode | Notes |
|---|---|---|
dateFrom / dateTo | both | YYYY-MM-DD (required format — the portal silently drops other formats); defaults: yesterday / today |
enterpriseNumber | registrations | monitor one company across its lifetime |
postalCode | registrations | registered-office postal code |
category | registrations | see the portal's category rubrics |
searchQuery | both | full-text; kept rows flagged fullTextMatch: true |
documentType | gazette | e.g. Wet, Koninklijk besluit |
emitDeltaOnly | both | true (default): only delta events. false: full export of the window |
language | both | nl / fr interface; the filing's own language is reported per row |
maxResults | both | default 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 anewevent. - Watch a region:
registrations,postalCode: "2000", daily schedule — every filing in Antwerp, as it lands. - Watch a keyword:
registrations+searchQueryon 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.SUCCEEDEDto your channel's relay, and include the run's dataset URL in the payload. - n8n / Zapier / Make — trigger on
RUN.SUCCEEDED, then fetchGET /v2/datasets/{datasetId}/itemsand branch oneventType. - 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.txtdisallows 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_statusrow and anover-10000-caperror — 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.