@pipeworx/hudoc

Connect: https://gateway.pipeworx.io/hudoc/mcp · Install: one-click buttons

Tools: 2

European Court of Human Rights (ECHR / Strasbourg) case law — 231,000+ judgments, decisions, advisory opinions, resolutions and communicated cases across the 46 Council of Europe states, served live from the Court’s own HUDOC database.

Tools

  • echr_search(query?, article?, respondent?, collection?, importance?, date_from?, date_to?, limit?) — search case law by free text, Convention Article, respondent state and/or date. Returns case name, application number(s), Article(s), conclusion (violation/no violation) and the itemid to read the full text with.
  • echr_judgment(itemid, max_chars?, offset?) — full text of one document by its HUDOC itemid, paged.

Auth

Keyless. No registration, no API key.

Data sources

  • https://hudoc.echr.coe.int/app/query/results — the search API HUDOC’s own web UI calls. Query syntax is a Lucene-ish field grammar (contentsitename=ECHR AND (documentcollectionid2:JUDGMENTS) AND article=8 AND respondent=FRA AND kpdate>=2024-01-01 AND "surveillance"). Free text is a bare double-quoted phrase with no field name — a field-qualified phrase like conclusion="freedom of expression" silently returns zero results.
  • https://hudoc.echr.coe.int/app/conversion/docx/html/body?library=ECHR&id=… — the document body, converted from the Court’s stored DOCX to HTML. This is NOT the /eng?i=... page URL: that URL is a static Angular SPA shell — same ~15.7KB byte-for-byte regardless of itemid, including nonexistent ones — and never contains the judgment text. The conversion endpoint is what the SPA itself calls client-side to render the document.
  • Very recently published documents (seen: within ~2-4 days) can 204 on the conversion endpoint — the HTML conversion lags the search index. echr_judgment reports this explicitly (found: false, reason: "not_yet_converted") rather than returning empty text silently; echr_search’s conclusion field is populated immediately regardless.
  • French-language-only documents (doctype starting HF) frequently 204 on the same endpoint even when old; echr_search defaults to languageisocode=ENG and excludes doctype=PR (press-release stubs, which otherwise leak into every collection filter) to route around both traps.
  • respondent takes an ISO3166-1 alpha-3 code (FRA, GBR, …); the tool also accepts common country names via a small lookup table covering all 46 member states plus Russia (expelled 2022, but its pre-expulsion case law is still in HUDOC and still gets asked about).

Tools

  • echr_search — Search European Court of Human Rights (ECHR / Strasbourg) case law by free text, Convention Article, respondent state and/or date. Returns case name, application number(s), Article(s) engaged, the con
  • echr_judgment — Fetch the full text of one ECHR document by its itemid (from echr_search, e.g. “001-249132”). Returns the judgment/decision body converted to plain text, paged. Very recently published items (within a

Tools

  • echr_judgment — Fetch the full text of one ECHR document by its itemid (from echr_search, e.g. 001-249132 ). Returns the judgment/decision body converted to plain text, paged. Very recently published items (within a
  • echr_search — Search European Court of Human Rights (ECHR / Strasbourg) case law by free text, Convention Article, respondent state and/or date. Returns case name, application number(s), Article(s) engaged, the con

Regenerated from source · build September 13, 2026