belgica explorer

Built with the belgica package

Which court has jurisdiction where?

Enter a postal code or a municipality to find its justice of the peace, police court and every other court with their registries' contacts. Or browse the courts, the canton map and the interest rates, all read from the package's data.

Try 9000 (Gent: one municipality, five cantons) · 1050 (Elsene and Brussels share it) · 4700 (Eupen: courts in German)

347courts, divisions and seats162judicial cantons565municipalities1149postal codes66prisons and houses of justice76interest-rate periods since 1970

Courts for an address

From a postal code to its municipalities, their cantons and every court with jurisdiction there. Split cities list each canton with the legal text of its area.

With belgica
import { findCourtsForPostalCode } from 'belgica'

findCourtsForPostalCode('9000', 'police-court')
// → [{ municipality, justicesOfThePeace, courts }]

Canton map

The NGI's boundary of every canton, to find the canton of a point and draw it. Every canton has its legal basis and its municipalities.

With belgica
import { findCantonsAt } from 'belgica/canton-boundaries'

findCantonsAt(3.7174, 51.0543) // Gent, Korenmarkt
// → [{ id: 'gent-1', … }]

Interest calculator

The legal and commercial rates since 1970, with the rule for contracts from before 16 March 2013. The calculator loads only belgica/interest-rates.

With belgica
import { getInterestRate } from 'belgica/interest-rates'

getInterestRate('2026-03-01', 'commercial')
// → { rate: 10.5, period: { from: '2026-01-01', … } }

Every court, in three languages

Names as each court publishes them, addresses, phone numbers in national form, IBANs, opening hours and ECLI codes. Switch NL · FR · DE at the top.

With belgica
import { getCourt, formatCourtName, formatPhoneNumber } from 'belgica'

const court = getCourt('justice-of-the-peace-gent-1')
formatCourtName(court, 'fr', { style: 'canton' })
// → 'Justice de paix 1er canton Gand'