ECHR

2 routes under /api/echr.

POST/api/echr

Query HUDOC (European Court of Human Rights) cases from PostgreSQL. Supports keyword search, article filters, respondent state, and citation network expansion. Requires at least one search criterion (keyword, ECLI, application number, or article).

Request parameters (inside arguments)

FieldTypeNotes
degreesSourceintRequired. 0 to 5.
degreesTargetintRequired. 0 to 5.
keywordsstring[]Searches issue, docname/headnote, and full text.
eclistring[]Exact ECLI identifiers.
application_numberstring[]HUDOC application numbers.
respondent_statestring[]ISO-3 country codes (e.g., "GRC", "RUS").
document_typestring[]HEJUD, HEDEC, HECOM, HEINF, HECJUD, HECDEC, HECCOM, HECINF.
languagestring[]ISO-3 language codes (e.g., "ENG", "FRE").
importanceint1 to 4 (lower = more important).
date_judgment_startstringYYYY-MM-DD. Must not be in the future.
date_judgment_endstringYYYY-MM-DD. Must not be in the future.
date_decision_startstringYYYY-MM-DD. Must not be in the future.
date_decision_endstringYYYY-MM-DD. Must not be in the future.
article_violatedstring[]Violated ECHR article numbers.
article_appliedstring[]Applied ECHR article numbers.
article_non_violatedstring[]Non-violated article numbers.
article_violated_modestring"AND" or "OR" (default: "OR"). Combine violated articles.
article_applied_modestring"AND" or "OR" (default: "OR").
article_non_violated_modestring"AND" or "OR" (default: "OR").
articles_modestring"AND" or "OR" (default: "OR"). Combine across article types.
attributesToFetchstring"MINIMAL", "ALL", "NETWORKSTATS", "QUERYHANDLER".
onlyCaseIdsbooleanReturn IDs only (no case data).
isSubgraphbooleanRestrict edges to result nodes.
pageSizeintOptional. 1 to 1000 when cursor pagination is requested.
cursorstringCursor token from previous response.

Response node fields (nodes[].data)

FieldDescription
isResult"True" for search results, "False" for expanded nodes.
datasetAlways "ECHR".
ecliECLI identifier.
itemidHUDOC item ID.
application_numberApplication number.
date_judgmentJudgment date.
date_decisionDecision date.
respondent_stateRespondent country.
document_typeHUDOC document type.
languagePrimary language code.
languagesMap of available language versions ({"ENG": "itemid", ...}).
importanceCase importance level (1-4).
article_violatedViolated articles.
article_appliedApplied articles.
keywordsHUDOC keywords.
titleCase title.
conclusionCase conclusion text.
cites / cited_byCitation references.
  • Duplicate ECLIs across languages are deduplicated (English preferred). A languages map is built before dedup so all available versions are preserved.

Examples

Keywords only

{
  "arguments": {
    "keywords": ["Armenia"],
    "degreesSource": 1,
    "degreesTarget": 1,
    "attributesToFetch": "MINIMAL"
  }
}

Article filter with respondent state

{
  "arguments": {
    "article_violated": ["6", "8"],
    "article_violated_mode": "OR",
    "respondent_state": ["GRC"],
    "degreesSource": 1,
    "degreesTarget": 1,
    "pageSize": 100
  }
}

Response

{
  "nodes": [
    {
      "id": "ECLI:CE:ECHR:2019:...",
      "data": {
        "isResult": "True",
        "dataset": "ECHR",
        "ecli": "ECLI:CE:ECHR:2019:...",
        "date_judgment": "2019-03-14",
        "respondent_state": "GRC",
        "document_type": "HEJUD",
        "article_violated": "6",
        "importance": 2,
        "languages": { "ENG": "001-...", "FRE": "001-..." },
        "cites": ["ECLI:CE:ECHR:2015:..."],
        "cited_by": []
      }
    }
  ],
  "edges": [...],
  "message": "",
  "limits": {
    "queryResultLimit": 10000,
    "responseNodeLimit": 5000,
    "responseEdgeLimit": 30000,
    "pageSizeDefault": 1000,
    "pageSizeMax": 1000
  },
  "graph": {
    "paginationRequested": false,
    "graphComplete": true,
    "statisticsSafe": true,
    "partialReasons": []
  }
}

POST/api/echr/text

Fetch full-text judgments for ECHR cases by ECLI identifier. Supports single or batch retrieval. Use JSON body.

Parameters

FieldTypeNotes
eclistring | string[]Required. String or array in JSON body.
languagestringOptional. ISO language code (e.g., ENG, FRE).

Response fields

FieldDescription
ecliThe requested ECLI identifier.
itemidItem identifier for the requested language.
full_textComplete judgment text.
full_text_availableBoolean flag indicating whether full text is present.
languageLanguage code of the text (e.g., "ENG").
  • Single ECLI returns one object. Multiple ECLIs return an array of objects.
  • If full text is missing, full_text is null and a message is included.
  • If language is omitted, the endpoint prefers ENG, then FRE, then any other language.
  • If language is omitted, the response includes a languages map keyed by ISO code.

Examples

POST (batch)

{
  "ecli": [
    "ECLI:CE:ECHR:2000:1026JUD003098596",
    "ECLI:CE:ECHR:2005:0315JUD007009801"
  ],
  "language": "ENG"
}

Response (single)

{
  "ecli": "ECLI:CE:ECHR:2000:1026JUD003098596",
  "itemid": "001-0001",
  "full_text": "THIRD SECTION CASE OF...",
  "full_text_available": true,
  "language": "ENG"
}

Response (all languages)

{
  "ecli": "ECLI:CE:ECHR:2000:1026JUD003098596",
  "default_language": "ENG",
  "languages": {
    "ENG": { "itemid": "001-0001", "full_text": "...", "full_text_available": true },
    "FRE": { "itemid": "001-0002", "full_text": null, "full_text_available": false, "message": "Full text not available for this ECLI." }
  }
}