Citations API
Production-grade REST API for legal citation networks, case metadata, and legal link extraction across Dutch and European case law.
What you can do
Search, traverse, and analyze citation networks across Dutch and European court systems.
Citation Network Search
Query Rechtspraak and ECHR case law with keyword, article, and law filters. Expand citation graphs by degrees of separation.
Combined Queries
Build complex queries spanning both datasets with a structured query builder. Filter by source scope, sort by date or relevance.
Graph Statistics
Compute degree, centrality, PageRank, and community detection on any citation subgraph.
Legal Reference Extraction
Parse free text for Dutch law references. Resolve BWB identifiers and find related cases.
Full-Text Judgments
Retrieve full-text documents by ECLI for ECHR and Rechtspraak. Single or batch requests supported.
Case Summaries
Fetch summary segments (procesverloop, overwegingen, beslissing) for Rechtspraak cases.
Endpoints
All endpoints live under /api. Click an endpoint to view its full documentation.
Usage Examples
Copy-paste examples to get started. Search endpoints return JSON with nodes, edges, graph metadata, limits, and optional pagination.
{
"arguments": {
"engine": "ES",
"keywords": ["privacy"],
"dataSources": ["RS"],
"docTypes": ["DEC"],
"degreesSource": 1,
"degreesTarget": 1
}
}
{
"arguments": {
"article_violated": ["6"],
"keywords": ["fair trial"],
"degreesSource": 1,
"degreesTarget": 1
}
}
{
"queryBuilder": {
"op": "AND",
"rules": [
{ "field": "year", "operator": "equals",
"value": "2020", "sourceScope": "ANY" }
]
},
"sort": { "by": "date", "direction": "desc" },
"pagination": { "pageSize": 20 }
}
{
"nodes": [{ "id": "ECLI:...", "data": { "isResult": "True" } }],
"edges": [{ "id": "source_target", "source": "ECLI:...", "target": "ECLI:..." }],
"limits": {
"queryResultLimit": 10000,
"responseNodeLimit": 5000,
"responseEdgeLimit": 30000,
"pageSizeDefault": 1000,
"pageSizeMax": 1000
},
"graph": {
"paginationRequested": false,
"graphComplete": true,
"statisticsSafe": true,
"partialReasons": []
}
}
Try it Live
Run live requests against the API. The prefilled samples are known-good smoke tests chosen to return quickly against the live local endpoint.
Request
Response
{}