{
  "openapi": "3.0.1",
  "info": {
    "title": "AEPD",
    "description": "Este actor automatiza la búsqueda en el buscador de la AEPD y la extracción del texto de sus documentos.",
    "version": "2.0",
    "x-build-id": "SgZpRxWpWkKNYKuNA"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/legaltech~aepd/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-legaltech-aepd",
        "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/legaltech~aepd/runs": {
      "post": {
        "operationId": "runs-sync-legaltech-aepd",
        "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/legaltech~aepd/run-sync": {
      "post": {
        "operationId": "run-sync-legaltech-aepd",
        "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",
        "properties": {
          "searchTerms": {
            "title": "Términos de búsqueda",
            "maxItems": 50,
            "type": "array",
            "description": "Lista de términos a buscar en el buscador de la AEPD (máx. 50). Cada término se busca por separado. Si se deja vacío pero se aplican filtros (tipo, fecha, concepto…) se devuelven TODOS los documentos que cumplan los filtros. Ejemplo: [\"videovigilancia\", \"consentimiento\"].",
            "items": {
              "type": "string"
            }
          },
          "documentUrls": {
            "title": "Extraer texto de documentos concretos",
            "maxItems": 50,
            "type": "array",
            "description": "Lista de URLs de documentos de la AEPD (campo 'url' devuelto por una búsqueda previa) de los que extraer el texto íntegro. Úsalo en la segunda fase: tras buscar, copia aquí las 'url' que te interesen (máx. 50). Si rellenas este campo, no es necesario indicar 'searchTerms'. Las páginas HTML se descargan directamente; los PDFs requieren el navegador (Playwright).",
            "items": {
              "type": "string"
            }
          },
          "conceptos": {
            "title": "Conceptos (IDs de faceta)",
            "maxItems": 10,
            "type": "array",
            "description": "Filtra por concepto jurídico usando los IDs numéricos de la faceta de la AEPD. Ejemplos: 1568 = Videovigilancia, 1513 = Privacidad y principios de protección de datos, 1418 = Categorías especiales de datos.",
            "items": {
              "type": "string"
            }
          },
          "sectorial": {
            "title": "Sectorial (IDs de faceta)",
            "maxItems": 10,
            "type": "array",
            "description": "Filtra por sector de actividad usando los IDs numéricos de la faceta de la AEPD. Ejemplos: 2404 = Actividades financieras y de seguros, 2398 = Información y comunicaciones.",
            "items": {
              "type": "string"
            }
          },
          "fechaDesde": {
            "title": "Fecha desde (año)",
            "type": "string",
            "description": "Año mínimo de publicación del documento (formato YYYY). Ejemplo: '2022'."
          },
          "fechaHasta": {
            "title": "Fecha hasta (año)",
            "type": "string",
            "description": "Año máximo de publicación del documento (formato YYYY). Ejemplo: '2024'."
          },
          "extractText": {
            "title": "Extraer texto íntegro",
            "type": "boolean",
            "description": "Si se activa, descarga el texto íntegro de cada documento encontrado. Para documentos HTML (noticias, guías…) se extrae del HTML. Para PDFs (resoluciones) se usa el resumen de Solr. Por defecto desactivado (la búsqueda es más rápida).",
            "default": false
          },
          "paragraphs": {
            "title": "Modo párrafos (número de pasajes)",
            "minimum": 0,
            "type": "integer",
            "description": "Si es mayor que 0, en lugar del texto íntegro se devuelven solo los N pasajes más relevantes del documento (campos 'paragraphs' y 'text' resumido). Útil para reducir el volumen al analizar con un LLM. Solo aplica cuando se extrae texto."
          },
          "paragraphTerms": {
            "title": "Términos para localizar los pasajes",
            "type": "string",
            "description": "Términos con los que se localizan los pasajes relevantes en modo párrafos. Si se omite, se usan los términos de búsqueda. Ejemplo: 'consentimiento expreso menores'."
          },
          "maxResults": {
            "title": "Número máximo de resultados",
            "minimum": 1,
            "type": "integer",
            "description": "Número máximo de documentos a devolver por término de búsqueda."
          },
          "proxyConfiguration": {
            "title": "Configuración de proxy",
            "type": "object",
            "description": "Configuración de proxy opcional. La AEPD es un sitio público del gobierno; normalmente no es necesario."
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}