Rechtspraak ECHR Cursor Pagination

Citations API

Production-grade REST API for legal citation networks, case metadata, and legal link extraction across Dutch and European case law.

API Root
/api
Search Pagination
/api/network and /api/echr use opt-in cursor pagination, pageSize max 1000
Data Sources
HUDOC (PostgreSQL), Rechtspraak (Elasticsearch)
Search Response Format
JSON graph responses include nodes, edges, graph metadata, limits, and optional pagination

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.

Search Rechtspraak by keyword POST
{
  "arguments": {
    "engine": "ES",
    "keywords": ["privacy"],
    "dataSources": ["RS"],
    "docTypes": ["DEC"],
    "degreesSource": 1,
    "degreesTarget": 1
  }
}
Search ECHR with article filter POST
{
  "arguments": {
    "article_violated": ["6"],
    "keywords": ["fair trial"],
    "degreesSource": 1,
    "degreesTarget": 1
  }
}
Combined query (both datasets) POST
{
  "queryBuilder": {
    "op": "AND",
    "rules": [
      { "field": "year", "operator": "equals",
        "value": "2020", "sourceScope": "ANY" }
    ]
  },
  "sort": { "by": "date", "direction": "desc" },
  "pagination": { "pageSize": 20 }
}
Response shape Search endpoints
{
  "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.

POST /api/network

Request

Validation hints
Select an endpoint to see required fields.

Response

{}