Search the VeredAi legal knowledge base programmatically: Dutch legislation at article level, case law with full decision texts and European legislation, complemented with live results from the official sources.
Integrate up-to-date statutory articles and case law into your own applications, case management systems or internal tools. Search bilingually (Dutch and English), filter by jurisdiction and document type, and retrieve full documents with a verifiable source reference.
Create an API key under Account, API keys. Every key is bound to exactly one workspace and requires a subscription with API access. Send the key as a Bearer token.
Authorization: Bearer vk_<jouw-sleutel>
| GET /api/knowledge/search | q, lang (nl|en), jurisdiction (NL|BE|DE|EU), type (wetgeving|rechtspraak|eu|decentraal), area, law, date_from (JJJJ-MM-DD), date_to (JJJJ-MM-DD), limit (1-25), offset |
| GET /api/knowledge/documents/{uuid} | id, source, external_id, title, summary, body, url, language, jurisdiction, law_area, document_type, decision_date |
| GET /api/knowledge/health | status, latency_ms, last_success_at, failures_24h |
curl -H "Authorization: Bearer vk_..." \
"https://veredai.i-sight.nl/api/knowledge/search?q=transitievergoeding+ontslag&lang=nl&jurisdiction=NL&limit=5"
Every search result contains a clickable source URL, the external identifier (BWB number with article, ECLI or CELEX number) and metadata about language, jurisdiction and document type. The meta block shows the total, the consulted sources and the freshness of the internal knowledge index.
{
"data": [
{
"id": "7f0c2b1e-2f56-4a3e-9a53-1c9f4f2a6b77",
"source": "wetten.overheid.nl",
"external_id": "BWBR0005290:673",
"title": "Burgerlijk Wetboek Boek 7, artikel 673",
"snippet": "De werkgever is aan de werknemer een transitievergoeding verschuldigd indien ...",
"url": "https://wetten.overheid.nl/jci1.3:c:BWBR0005290&artikel=673",
"language": "nl",
"jurisdiction": "NL",
"document_type": "wetsartikel",
"decision_date": "",
"score": 6
}
],
"meta": {
"total": 14,
"sources_consulted": ["wetten.overheid.nl", "Rechtspraak.nl"],
"index_freshness": {"wetten": {"documents": 12500, "last_harvested": "2026-07-05 04:15:02"}}
}
}
The same call in PHP and JavaScript. Replace vk_... with your own API key.
PHP
$ch = curl_init('https://veredai.i-sight.nl/api/knowledge/search?q=' . urlencode('transitievergoeding ontslag') . '&limit=5');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer vk_...'],
]);
$result = json_decode((string) curl_exec($ch), true);
curl_close($ch);
JavaScript
const response = await fetch(
'https://veredai.i-sight.nl/api/knowledge/search?q=transitievergoeding+ontslag&limit=5',
{ headers: { Authorization: 'Bearer vk_...' } }
);
const result = await response.json();
Each key has a configurable rate limit per minute. Depending on the platform configuration, credits may be deducted from the workspace per request.
Administrators can configure that a fixed number of requests together costs one credit, for example 1 credit per 10 requests. The current limit and costs for your workspace are shown on the Account, API keys page.
Errors always follow the same JSON format with a code and a readable message.
{"error": {"code": "rate_limit_exceeded", "message": "..."}}
401 missing_api_key | 401 invalid_api_key | 402 insufficient_credits
403 plan_required | 404 not_found | 422 invalid_parameters | 429 rate_limit_exceeded