{
  "openapi": "3.0.1",
  "info": {
    "title": "ECHR HUDOC Judgment Scraper - European Human Rights Court PDF",
    "description": "Scrape ECHR HUDOC judgments, decisions, and advisory opinions into paragraph-numbered text, articles invoked, per-Article violation findings, separate/dissenting opinion authors, and just-satisfaction (Article 41) awards. Built for public-law firms, human-rights NGOs, and comparative-law scholars.",
    "version": "0.1",
    "x-build-id": "qkOBSXhXu8Usb0mRd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jungle_synthesizer~echr-hudoc-judgments-pdf-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jungle_synthesizer-echr-hudoc-judgments-pdf-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/jungle_synthesizer~echr-hudoc-judgments-pdf-scraper/runs": {
      "post": {
        "operationId": "runs-sync-jungle_synthesizer-echr-hudoc-judgments-pdf-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/jungle_synthesizer~echr-hudoc-judgments-pdf-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-jungle_synthesizer-echr-hudoc-judgments-pdf-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "maxItems"
        ],
        "properties": {
          "sp_intended_usage": {
            "title": "What is the intended usage of this data?",
            "minLength": 1,
            "type": "string",
            "description": "What will this data feed? E.g. lead lists, KYB checks, price tracking."
          },
          "sp_improvement_suggestions": {
            "title": "How can we improve this crawler for you?",
            "minLength": 1,
            "type": "string",
            "description": "Provide any feedback or suggestions for improvements."
          },
          "sp_contact": {
            "title": "Contact email (optional)",
            "minLength": 1,
            "type": "string",
            "description": "We'll personally help with your use case. No spam."
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "since_date",
              "by_article",
              "by_state",
              "by_itemid"
            ],
            "type": "string",
            "description": "Primary query axis. articleFilter / stateFilter / documentTypes / importanceLevels below layer on as additional filters regardless of mode."
          },
          "sinceDate": {
            "title": "Since Date",
            "type": "string",
            "description": "Only used when Mode = Documents Since Date. ISO date (YYYY-MM-DD); documents with a judgment date on or after this date are returned."
          },
          "articleFilter": {
            "title": "Article Filter",
            "type": "array",
            "description": "ECHR Convention / Protocol articles to filter by. Applies as the primary axis when Mode = By Article Invoked, or as an additional filter under any other mode. Leave empty for no article filter.",
            "items": {
              "type": "string",
              "enum": [
                "2",
                "3",
                "4",
                "5",
                "6",
                "7",
                "8",
                "9",
                "10",
                "11",
                "12",
                "13",
                "14",
                "16",
                "17",
                "18",
                "34",
                "35",
                "37",
                "41",
                "46",
                "P1-1",
                "P1-2",
                "P1-3",
                "P4-2",
                "P6-1",
                "P7-1",
                "P7-4",
                "P12-1"
              ],
              "enumTitles": [
                "Article 2 - Right to life",
                "Article 3 - Prohibition of torture",
                "Article 4 - Prohibition of slavery and forced labour",
                "Article 5 - Right to liberty and security",
                "Article 6 - Right to a fair trial",
                "Article 7 - No punishment without law",
                "Article 8 - Right to respect for private and family life",
                "Article 9 - Freedom of thought, conscience and religion",
                "Article 10 - Freedom of expression",
                "Article 11 - Freedom of assembly and association",
                "Article 12 - Right to marry",
                "Article 13 - Right to an effective remedy",
                "Article 14 - Prohibition of discrimination",
                "Article 16 - Restrictions on political activity of aliens",
                "Article 17 - Prohibition of abuse of rights",
                "Article 18 - Limitation on use of restrictions on rights",
                "Article 34 - Individual applications",
                "Article 35 - Admissibility criteria",
                "Article 37 - Striking out applications",
                "Article 41 - Just satisfaction",
                "Article 46 - Binding force and execution of judgments",
                "Protocol 1, Art 1 - Protection of property",
                "Protocol 1, Art 2 - Right to education",
                "Protocol 1, Art 3 - Right to free elections",
                "Protocol 4, Art 2 - Freedom of movement",
                "Protocol 6, Art 1 - Abolition of the death penalty",
                "Protocol 7, Art 1 - Procedural safeguards re expulsion of aliens",
                "Protocol 7, Art 4 - Right not to be tried or punished twice",
                "Protocol 12, Art 1 - General prohibition of discrimination"
              ]
            }
          },
          "stateFilter": {
            "title": "Respondent State Filter",
            "type": "array",
            "description": "Council of Europe member States to filter by (ISO 3166-1 alpha-3). Applies as the primary axis when Mode = By Respondent State, or as an additional filter under any other mode. Leave empty for no state filter.",
            "items": {
              "type": "string",
              "enum": [
                "ALB",
                "ARM",
                "AUT",
                "AZE",
                "BEL",
                "BGR",
                "BIH",
                "CHE",
                "CYP",
                "CZE",
                "DEU",
                "DNK",
                "ESP",
                "EST",
                "FIN",
                "FRA",
                "GBR",
                "GEO",
                "GRC",
                "HRV",
                "HUN",
                "IRL",
                "ISL",
                "ITA",
                "LIE",
                "LTU",
                "LUX",
                "LVA",
                "MCO",
                "MDA",
                "MKD",
                "MLT",
                "MNE",
                "NLD",
                "NOR",
                "POL",
                "PRT",
                "ROU",
                "RUS",
                "SMR",
                "SRB",
                "SVK",
                "SVN",
                "SWE",
                "TUR",
                "UKR"
              ],
              "enumTitles": [
                "Albania",
                "Armenia",
                "Austria",
                "Azerbaijan",
                "Belgium",
                "Bulgaria",
                "Bosnia and Herzegovina",
                "Switzerland",
                "Cyprus",
                "Czechia",
                "Germany",
                "Denmark",
                "Spain",
                "Estonia",
                "Finland",
                "France",
                "United Kingdom",
                "Georgia",
                "Greece",
                "Croatia",
                "Hungary",
                "Ireland",
                "Iceland",
                "Italy",
                "Liechtenstein",
                "Lithuania",
                "Luxembourg",
                "Latvia",
                "Monaco",
                "Moldova",
                "North Macedonia",
                "Malta",
                "Montenegro",
                "Netherlands",
                "Norway",
                "Poland",
                "Portugal",
                "Romania",
                "Russia",
                "San Marino",
                "Serbia",
                "Slovakia",
                "Slovenia",
                "Sweden",
                "Türkiye",
                "Ukraine"
              ]
            }
          },
          "itemIds": {
            "title": "Specific Item IDs",
            "type": "array",
            "description": "HUDOC item IDs to fetch directly (e.g. 001-225454). Only used when Mode = Specific Item IDs.",
            "items": {
              "type": "string"
            }
          },
          "documentTypes": {
            "title": "Document Types",
            "type": "array",
            "description": "Which HUDOC document types to include. Defaults to Judgment/Decision/Advisory Opinion when omitted. Explicitly clear every checkbox to include every document type instead, including legal summaries and press releases (these have no PDF and save with empty article/judge/paragraph fields).",
            "items": {
              "type": "string",
              "enum": [
                "judgment",
                "decision",
                "advisory_opinion",
                "friendly_settlement",
                "communicated_case"
              ],
              "enumTitles": [
                "Judgment",
                "Decision",
                "Advisory Opinion",
                "Friendly Settlement / Resolution",
                "Communicated Case"
              ]
            }
          },
          "languages": {
            "title": "Languages",
            "type": "array",
            "description": "Which HUDOC language edition(s) to return. HUDOC indexes a translated edition of a judgment before that edition's own PDF exists, so leaving this at English only avoids near-duplicate records with every PDF-derived field empty. Explicitly clear every checkbox to include every language edition instead (translation twins and all).",
            "items": {
              "type": "string",
              "enum": [
                "ENG",
                "FRE",
                "ALB"
              ],
              "enumTitles": [
                "English",
                "French",
                "Albanian"
              ]
            }
          },
          "importanceLevels": {
            "title": "Importance Levels",
            "type": "array",
            "description": "HUDOC's own case-importance classification. 1 = key case (leading authority), 2-4 = decreasing importance. Leave empty for no importance filter.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4"
              ],
              "enumTitles": [
                "1 - Key case",
                "2 - High importance",
                "3 - Medium importance",
                "4 - Low importance"
              ]
            }
          },
          "maxItems": {
            "title": "Max Items",
            "type": "integer",
            "description": "Maximum number of judgments to scrape. Each record fetches and parses a full PDF, so keep this bounded for a quick run.",
            "default": 100
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}