Skip to the results
CourtFull

API and integrations

CourtFull is open: a REST API, an MCP server for AI assistants and a widget for your own site. Free, no key needed. A reference, not legal advice.

REST API

JSON over HTTPS, version 1. Any origin may call it (CORS). Answers for a postal code or a point are cached for a day.

GET /api/v1/courts

The canton and every court with jurisdiction. Give one of: address, postalCode, or lat and lon. lang=nl, fr or de picks the language of the names. Courts with certain: false depend on the street.

curl 'https://court-full.vercel.app/api/v1/courts?postalCode=9820'
curl 'https://court-full.vercel.app/api/v1/courts?address=Kerkstraat%2010%2C%202060%20Antwerpen&lang=fr'
curl 'https://court-full.vercel.app/api/v1/courts?lat=51.0543&lon=3.7174'
const res = await fetch('https://court-full.vercel.app/api/v1/courts?postalCode=9000&lang=nl')
const { cantons, courts } = await res.json()
// courts: [{ id, type, name, address, phone, email, website, certain, division? }, …]

GET /api/v1/court/{id}

One court or division by id (from /courts), with its divisions.

curl 'https://court-full.vercel.app/api/v1/court/court-of-first-instance-oost-vlaanderen?lang=nl'

Errors come as JSON {"error": {"code", "message"}}, with status 400 (invalid request), 404 (not found) or 502 (address register unreachable).

The full description in OpenAPI 3.1 /api/v1/openapi.json

Beyond jurisdiction

The same rules the site computes with, as REST and as MCP tools: a municipality by (mistyped) name or postal code (find_place), reading a pasted letter (read_court_letter), the legal-aid income limits with their sources (legal_aid_check), interest on claims with payments (interest) and procedural deadlines (procedural_deadline). Errors share one shape: { "error": { "code", "message" } }.

GET /api/v1/places · /legal-aid · /deadline

curl 'https://court-full.vercel.app/api/v1/places?q=Gnet'
curl 'https://court-full.vercel.app/api/v1/legal-aid?household=partner&dependants=2&income=2400'
curl 'https://court-full.vercel.app/api/v1/deadline?type=appeal&date=2026-06-20'

POST /api/v1/interest · /letters/analyze

curl 'https://court-full.vercel.app/api/v1/interest' -H 'Content-Type: application/json' \
  -d '{"claims":[{"principal":10000,"from":"2024-07-01"}],"payments":[{"date":"2025-01-01","amount":2000}],"asOf":"2025-07-01"}'
curl 'https://court-full.vercel.app/api/v1/letters/analyze' -H 'Content-Type: application/json' \
  -d '{"text":"Vonnis bij verstek … betekend op 10 maart 2026"}'

A letter is processed in memory only: never stored or logged. National register numbers are masked before reading and in every excerpt returned. At most 20 kB; larger gives 413.

MCP server

For Claude and other assistants: the Model Context Protocol over Streamable HTTP, with tools such as find_courts, get_court and summons_deadline.

In Claude Code
claude mcp add --transport http courtfull https://court-full.vercel.app/api/mcp
In Claude (web or desktop): Settings → Connectors → Add custom connector, with this URL:
https://court-full.vercel.app/api/mcp
In another client's configuration:
{
  "mcpServers": {
    "courtfull": {
      "type": "http",
      "url": "https://court-full.vercel.app/api/mcp"
    }
  }
}

Try it

Send a real request to this site's API, see the answer and take the code to your own software.

Loading the playground…

Widget for your site

A search box with the competent courts, on your own site. Paste this where it should go: the height adjusts by itself.

<div data-courtfull data-lang="nl"></div>
<script src="https://court-full.vercel.app/embed.js" async></script>

data-lang (nl, fr, en) and data-theme (light, dark) are optional. Without the script, an iframe works too:

<iframe src="https://court-full.vercel.app/embed?lang=nl&theme=light" title="CourtFull"
        style="width:100%;height:420px;border:0"></iframe>

Preview

Browser extension and Outlook

In the extension/ folder of the source: an extension for Chrome and Firefox (right-click a selected address, or a search box in the toolbar) and an Outlook add-in with the widget as its task pane.

From your browser and phone

Use CourtFull from your browser's address bar, share an address from Google Maps or click a bookmark on any website.

See the integrations