About LegalSearch

A unified, human-first search experience for European case law.

LegalSearch turns complex legal data into a fast, explainable workflow. It bridges natural language search and precise rule-building to make high‑signal legal research accessible for practitioners, students, and policy teams.

A product of the BISS Institute, in collaboration with the Maastricht University Law & Tech Lab.

Guiding principle
“Publicity is the very soul of justice.” — Jeremy Bentham
LegalSearch is built to make legal information more visible, searchable, and shareable.
Supported datasets
ECHR (HUDOC)
Judgments, decisions, and metadata with article, respondent state, and language filters.
Rechtspraak
Dutch case law metadata with domains, court instances, document types, and selected laws.

Our mission

LegalSearch exists to lower the cognitive and technical barriers to legal research. It combines natural language input with explicit, auditable rules so every query can be understood, reproduced, and shared.

We aim to make cross‑source legal discovery feel fast and trustworthy while preserving the nuance that legal analysis demands. Our focus is on transparency: users should be able to see exactly why a result appears, change the underlying logic, and share the same view with others.

By unifying disparate sources under one consistent query language, we reduce friction between exploratory searching and rigorous legal verification.

Expose the logic behind every result. Unify ECHR and Rechtspraak in a single query language. Keep results shareable, stable, and explainable.

Core features

Smart Search
Natural language parsing

Type queries like "Article 6 Germany 2019" and watch them transform into structured, verifiable rules.

Visual query builder

Build complex queries with AND/OR/NOT groups, exact operators, and dataset scoping.

Explainable previews

Every query shows a readable preview that can be copied and shared to reproduce exact results.

Results & Filtering
Faceted filters

Refine by source, article, state, importance, year, legal domain, and court instance.

Bulk actions

Select multiple results and export them as CSV or JSON for further analysis.

Shareable URLs

Filters, sorting, and pagination are encoded in the URL for precise sharing.

Document Viewer
Full text with outline

Read complete judgments with a navigable outline sidebar and in‑document search.

Highlights & comments

Annotate text with color‑coded highlights and add line‑anchored or document‑level comments.

Multi‑language support

Switch between available language versions for ECHR documents (e.g. English, French).

Citation Graph
Interactive network

Visualize citations and cited‑by relationships in an interactive force‑directed graph.

Graph exploration

Click nodes to navigate through the network with breadcrumb history for backtracking.

Full‑page view

Expand to a dedicated graph page for deeper analysis of citation networks.

Personal Library
Save & organize

Bookmark documents and organize them into custom folders with drag‑and‑drop.

Search & view history

Access your recent searches and viewed documents to quickly pick up where you left off.

Activity log

Track your research activity including searches, saves, highlights, and comments.

Sharing & Collaboration
Share annotations

Generate shareable links that include your highlights and comments for others to view and save.

Reproducible queries

Copy query previews or share result URLs to give colleagues the exact same search view.

How it works

  1. 1. Parse & normalize
    Natural language is parsed into structured rules, normalized to ISO‑3 codes and validated formats.
  2. 2. Execute combined search
    A single combined endpoint executes dataset‑specific queries and merges the results.
  3. 3. Paginate with a cursor
    Results stream through an opaque cursor so pagination remains consistent across sources.

Backend API

citations-api (serverless endpoints)

The citations-api powers Case‑Explorer with a set of serverless endpoints for citation networks, ECHR search, statistics, summaries, and legal link extraction. All requests use the /api base path, return JSON with CORS headers, and surface errors as { "error": "..." }.

Primary data sources
Rechtspraak via Elasticsearch + DynamoDB (metadata/edges) and ECHR via PostgreSQL full text.
Pagination rules
Network and ECHR search endpoints use cursor pagination with pageSize (max 1000) and nextCursor; nodes are capped at 1000 per response.
Core endpoints
/api/network, /api/echr, /api/echr/text, /api/statistics, /api/community, /api/summaries, /api/links.

Data sources

ECHR (HUDOC)

European Court of Human Rights judgments, decisions, and related metadata. Supports articles, respondent states, application numbers, languages, and judgment/decision dates.

Coverage through
TBD
Rechtspraak

Dutch case law metadata indexed in Elasticsearch. Supports legal domains, court instances, document types, and selected laws.

Coverage through
TBD

Team

Carlos Aguilera
Carlos Aguilera
Data Engineer
Data engineering, front-end development, back-end development
Chris van der Lans
Chris van der Lans
Frontend Developer
Front-end development, user experience (UX), information architecture, human-centric design
Shashank Chakravarthy
Shashank Chakravarthy
Research Engineer
Data engineering, NLP, machine learning, AI
Sander van Essel
Sander van Essel
Full-stack Developer
Frontend development, backend development, data engineering
David Wicker
David Wicker
Assistant Researcher
Frontend development, backend development, data engineering

Collaborators