# Panadata API — Documentación completa > Volcado consolidado en markdown de todas las páginas de https://platform.panadata.net/docs. > Pensado para LLMs: una sola descarga cubre toda la documentación. > Para un índice corto vea https://platform.panadata.net/llms.txt. > Especificación OpenAPI: https://platform.panadata.net/openapi.en.yml ## /docs/empezar # Documentación de Panadata API La forma más simple de empezar es entender el flujo real de la API: buscar una entidad, elegir el id correcto y enriquecerla con los módulos que necesita. Ruta recomendada ## Empiece por el flujo completo, no por la tabla de endpoints. 3 pasos Paso 1 ### Entienda el flujo Lea [Tu primera consulta](/docs/guias/primera-consulta) para ver la secuencia completa: buscar, elegir `id` y enriquecer. Paso 2 ### Autentíquese Cree su llave en [Autenticación](/docs/guias/autenticacion) y valide primero el servicio y luego su propia conexión. Paso 3 ### Controle datos y costo Use [Parámetro include](/docs/guias/include-parameter) y [Niveles de datos](/docs/conceptos/niveles-de-datos) para pedir solo lo necesario. Si quiere una prueba guiada en la interfaz, primero [inicie sesión](/users/sign_in) y luego use el Sandbox interactivo. ## Lo esencial Estas páginas cubren lo mínimo para pasar de una primera lectura a una integración real. [ ### Tu primera consulta Aprenda el flujo search -\> id -\> include con ejemplos concretos. ](/docs/guias/primera-consulta)[ ### Autenticación Cree su llave API y verifique correctamente el servicio y su conexión. ](/docs/guias/autenticacion)[ ### Parámetro include Controle qué datos recibe y cuánto paga en cada consulta de detalle. ](/docs/guias/include-parameter)[ ### Referencia API Use el contrato completo request/response cuando ya esté listo para integrar. ](/docs/referencia) ## Conéctese por MCP (agentes de IA) El servidor MCP de Panadata expone la API como herramientas para agentes de IA. Conecte su cliente (Claude Code, Claude Desktop, etc.) con su propia llave y el agente podrá buscar y leer datos del registro directamente. Endpoint remoto (transporte _streamable-HTTP_): `https://mcp.panadata.net/mcp` Claude Code ``` claude mcp add --transport http panadata https://mcp.panadata.net/mcp \ --header "X-Api-Key: pk_tu_clave" ``` Autentíquese con **su propia llave API** : el cliente la envía en el header `X-Api-Key` (o `Authorization: Bearer`) y el MCP la reenvía a la API. El servidor no guarda ninguna llave compartida. Cree la suya en [Autenticación](/docs/guias/autenticacion). En otros clientes MCP (Claude Desktop, Cursor, etc.), agregue un conector remoto a la misma URL y configure el header con su llave. Con el MCP conectado, el agente puede resolver una entidad por nombre o RUC, leer su detalle (los [niveles de datos](/docs/conceptos/niveles-de-datos) del parámetro `include` agregan datos y costo), consultar bienes inmuebles, leer documentos del registro con su texto OCR, y previsualizar el costo de una llamada con `dry_run` antes de gastar saldo. Las entidades y los activos se direccionan con identificadores opacos y tipados (p. ej. `pa_own_42`) — vea [Identificadores](/docs/conceptos/identificadores). El consumo del MCP se descuenta del mismo saldo prepago que la API REST. ## Apoyo para decidir Use estas páginas cuando quiera comparar opciones, entender costos o probar el flujo desde la interfaz. [ ### Sandbox interactivo Requiere cuenta. Inicie sesión para probar el flujo guiado con llamadas reales. ](/users/sign_in)[ ### Niveles de datos Revise qué información existe para cada entidad y qué niveles agrega el parámetro include. ](/docs/conceptos/niveles-de-datos)[ ### Precios y saldo prepago Entienda el cargo base, la resolución inteligente y cómo el panel descuenta el saldo prepago. ](/docs/conceptos/facturacion) --- ## /docs/guias # Guías Instrucciones paso a paso para las tareas más comunes con la API. Escritas para que cualquier persona pueda seguirlas, sin importar su nivel técnico. ## Primeros pasos [ ### Autenticación Cómo obtener su llave API y enviarla en cada solicitud. ](/docs/guias/autenticacion)[ ### Tu primera consulta Buscar, identificar y enriquecer una entidad en 3 pasos. ](/docs/guias/primera-consulta) ## Uso avanzado [ ### Parámetro include Cómo funciona el parámetro include, la resolución inteligente y ejemplos de uso. ](/docs/guias/include-parameter)[ ### Sandbox vs API directa Cuándo usar el sandbox interactivo y cuándo usar su propia llave. ](/docs/guias/sandbox-vs-api)[ ### Webhooks Dispare actualizaciones asíncronas y reciba el resultado por webhook firmado. ](/docs/guias/webhooks)[ ### Errores y solución de problemas Códigos de error HTTP, mensajes comunes y cómo resolverlos. ](/docs/guias/errores) --- ## /docs/guias/autenticacion # Autenticación y llaves API Para usar la API necesita una llave (API key). La llave se envía en cada solicitud como un header de autorización. ## 1. Obtener su llave API Vaya a [Llaves API](/api_keys) en su panel. Ingrese un nombre descriptivo (ej. "Mi app de compliance") y haga clic en crear. Importante: La llave completa solo se muestra **una vez** al momento de crearla. Cópiela y guárdela en un lugar seguro. Si la pierde, deberá crear una nueva. ## 2. Enviar la llave en cada solicitud Incluya la llave en el header `Authorization` con el prefijo `Bearer`: ``` curl 'https://api.panadata.net/v4/panama/entidades?nombre=panadata' \ --header 'Authorization: Bearer pk_su_llave_aqui' ``` ## 3. Verificar el servicio y su llave Primero pruebe con el endpoint de salud (no consume saldo ni requiere autenticación): ``` curl 'https://api.panadata.net/health' ``` Si recibe un JSON como `{"status":"ok","service":"panadata-api"}`, el servicio está disponible. Luego pruebe una búsqueda autenticada con su llave: ``` curl 'https://api.panadata.net/v4/panama/entidades?nombre=banco' \ --header 'Authorization: Bearer pk_su_llave_aqui' ``` ## Errores comunes `401 Unauthorized` No se envió el header Authorization. `403 Forbidden` La llave fue rechazada por la capa de autenticación. `402 Payment Required` No tiene saldo prepago suficiente. [Recargue saldo](/credits) para continuar. Siguiente: [Tu primera consulta →](/docs/guias/primera-consulta) --- ## /docs/guias/primera-consulta # Tu primera consulta Siga estos 3 pasos para buscar y enriquecer una entidad por primera vez. Dos formas de construir **API REST** — para aplicaciones deterministas (consultas fijas, procesos batch, dashboards, backends): contrato estable, baja latencia y su propia llave. Esta guía usa REST. La superficie **v4** (estable, multi-país) se muestra abajo; la superficie **v5** (nativa para agentes, Panamá — el mismo modelo de datos que expone el MCP) publica su contrato OpenAPI en `api.panadata.net/v5/openapi.yml`. **MCP** — para agentes / LLMs en tiempo de ejecución (copilotos, «pregúntale a los datos») o para prototipar: [conectar el MCP](/mcp). ## Paso 1: Buscar por nombre o RUC Use el endpoint de búsqueda para encontrar entidades por nombre o número de RUC: ``` curl 'https://api.panadata.net/v4/panama/entidades?nombre=panadata' \ --header 'Authorization: Bearer pk_su_llave' ``` La respuesta incluye una lista de coincidencias. Cada resultado tiene un `id` que usará en `GET /v4/panama/entidades/{id}`. ## Paso 2: Identificar la entidad correcta Revise los resultados y tome nota del `id` de la entidad que le interesa. Puede confirmar por nombre, RUC o tipo de entidad. ## Paso 3: Enriquecer con módulos Use el endpoint de detalle con el parámetro `include` para obtener la información que necesita: ``` curl 'https://api.panadata.net/v4/panama/entidades/12345?include=DAT-CORE' \ --header 'Authorization: Bearer pk_su_llave' ``` Puede solicitar múltiples códigos separados por coma: ``` curl 'https://api.panadata.net/v4/panama/entidades/12345?include=DAT-CORE,DAT-GOV,DAT-RISK' \ --header 'Authorization: Bearer pk_su_llave' ``` Consejo: Empiece con `DAT-CORE` para ver los datos básicos. Luego agregue módulos adicionales según lo que necesite. Consulte qué información existe en [Niveles de datos](/docs/conceptos/niveles-de-datos), y previsualice el costo de cualquier combinación con `dry_run`. ## ¿Y Ecuador? Cambie `panama` por `ecuador` en la ruta para consultar organizaciones ecuatorianas. La búsqueda acepta nombre o RUC y el detalle acepta tres códigos: `CHK-BIN`, `DAT-CORE` y `DAT-ALL`. ``` curl 'https://api.panadata.net/v4/ecuador/entidades?ruc=1768040920001' \ --header 'Authorization: Bearer pk_su_llave' ``` ``` curl 'https://api.panadata.net/v4/ecuador/entidades/52015398?include=DAT-ALL' \ --header 'Authorization: Bearer pk_su_llave' ``` Ecuador está limitado a organizaciones jurídicas. Los detalles del catálogo están en [Jurisdicciones](/docs/conceptos/jurisdicciones). Anterior: [← Autenticación](/docs/guias/autenticacion) Siguiente: [Parámetro include →](/docs/guias/include-parameter) --- ## /docs/guias/include-parameter # Parámetro include El parámetro include es obligatorio en el endpoint de detalle. Controla qué datos recibe y cuánto paga. ## Sintaxis ``` GET /v4/{jurisdiccion}/entidades/{id}?include=CODIGO1,CODIGO2,CODIGO3 ``` Los códigos se separan por coma, sin espacios. El código mínimo es `CHK-BIN`. El conjunto de códigos aceptado depende de la jurisdicción. **Panamá** acepta el catálogo completo de códigos, incluido `DAT-ALL`. **Ecuador** acepta tres: `CHK-BIN`, `DAT-CORE` y `DAT-ALL`. El catálogo vigente con costos se consulta en vivo con `GET /v5/catalog` (gratis) o previsualizando la llamada con `dry_run`. ## Ejemplos Verificación rápida `?include=CHK-BIN` Solo confirma existencia. El código más económico del catálogo. Perfil básico + gobierno `?include=DAT-CORE,DAT-GOV` Datos de registro, contacto, directores y gobierno. Se cobra el cargo base más cada código no redundante. Due diligence completo `?include=DAT-ALL` Toda la información disponible. Previsualice el cargo exacto con dry\_run=true. ## Resolución inteligente Si solicita códigos que comparten niveles, solo se cobra el más amplio. Por ejemplo, `DAT-CORE` ya incluye el nivel `core_registro` de `CHK-BIN`, así que solicitar ambos solo cobra DAT-CORE. ## Códigos no soportados Si solicita un código que la jurisdicción no reconoce, la respuesta es `400 Bad Request` con la lista de códigos soportados: ``` $ curl 'https://api.panadata.net/v4/ecuador/entidades/52015398?include=DAT-GOV' \ --header 'Authorization: Bearer pk_su_llave' { "error": "unknown product code(s): DAT-GOV", "jurisdiction": "ecuador", "supported_includes": ["CHK-BIN", "DAT-CORE", "DAT-ALL"] } ``` Use `supported_includes` para descubrir el catálogo de cada jurisdicción sin tener que mantenerlo en su lado. Anterior: [← Primera consulta](/docs/guias/primera-consulta) Siguiente: [Sandbox vs API →](/docs/guias/sandbox-vs-api) --- ## /docs/guias/sandbox-vs-api # Sandbox vs API directa Panadata ofrece dos formas de interactuar con la API: el sandbox interactivo del producto y la API directa con su propia llave. ### Sandbox - + No necesita llave propia - + Experiencia guiada paso a paso - + Ideal para evaluar el producto - - Usa una llave compartida del servidor - - Flujos limitados (buscar → enriquecer) [Ir al Sandbox →](/sandbox) ### API directa - + Control total sobre las solicitudes - + Automatizable desde cualquier lenguaje - + Todos los endpoints y códigos disponibles - - Requiere llave propia y saldo prepago - - Requiere conocimiento básico de APIs [Ver Referencia API →](/docs/referencia) ## Cuándo usar cada uno Use el **sandbox** cuando quiera explorar los datos disponibles antes de comprometerse. Use la **API directa** cuando necesite automatizar consultas desde Postman, scripts o su aplicación. [← Parámetro include](/docs/guias/include-parameter) [Webhooks →](/docs/guias/webhooks) --- ## /docs/guias/webhooks # Actualizaciones asíncronas y webhooks Solicite el re-scrape de una entidad a la fuente original y reciba el resultado completo por webhook cuando el job termina. Disponible hoy en Panamá. ## Qué es y cuándo usarlo El endpoint `GET /v4/panama/entidades/{id}` devuelve el snapshot actual que Panadata tiene de la entidad. Si necesita garantizar que ese snapshot está al día contra la fuente registral original, dispare una actualización asíncrona con `POST .../entidades/{id}/update`. El backend re-extrae las fuentes y, cuando termina, hace un `POST` a su URL de webhook con el resultado completo firmado. Tiempo típico de completado: **de minutos a una hora** según la fuente y la disponibilidad del scraper. No es un endpoint síncrono — no espere la respuesta en la conexión del POST. ## Flujo completo 1. `POST /v4/panama/entidades/{id}/update?include=` → recibe `202` con `update_request_id`. 2. El backend re-extrae las fuentes y re-serializa la entidad. 3. Cuando el job termina con éxito, Panadata hace `POST` a la URL configurada en [/webhook\_settings](/webhook_settings) con el body firmado. 4. Si el webhook no llega, caiga a `GET /v4/update_requests/{update_request_id}` para recuperar el estado y el resultado. ## Configurar URL y firma Configure su URL de webhook y genere la signing key desde [/webhook\_settings](/webhook_settings). Panadata firma cada entrega con HMAC-SHA256 usando esa key. Guárdela inmediatamente — se muestra una sola vez. La URL debe ser HTTPS, pública y aceptar `POST` con `Content-Type: application/json`. Responda 2xx para acusar recibo; cualquier otro código se cuenta como fallo. ## Disparar una actualización ``` curl -X POST 'https://api.panadata.net/v4/panama/entidades/4294622/update?include=DAT-CORE' \ --header 'Authorization: Bearer pk_su_llave' ``` La API responde `202 Accepted` con el shape de `UpdateRequestAccepted`: ``` { "update_request_id": 16, "status": "pending", "entity_id": 4294622, "entity_sid": "PERSONA_JURDICA_Folio_N_1779_M", "jurisdiction": "panama", "requested_codes": ["DAT-CORE"], "estimated_cost": "0.15", "webhook_url": "https://su-dominio.example.com/panadata/webhooks" } ``` Facturación: idéntica al GET de detalle (base $0.01 + suma de códigos solicitados). El cargo se aplica al completarse el job, no al disparar el POST. Cada POST crea un Update Request nuevo: la API no deduplica por entidad+include. Si dispara dos solicitudes idénticas en sucesión rápida, recibirá dos `update_request_id` distintos y se le cobrarán ambas al completarse. ## Payload del webhook El body es JSON UTF-8 (sin `\uXXXX` escaping). La key `data` contiene el detalle de la entidad con el mismo shape que la respuesta del GET de detalle para los códigos resueltos. ``` POST https://su-dominio.example.com/panadata/webhooks Content-Type: application/json X-Panadata-Webhook-Signature: sha256=0e5152ba4b87290c94c1ea79153a67456d1e4ee5ced3f0a86f5082d930bb334f X-Panadata-Webhook-Timestamp: 1779918984 { "event": "update_request.completed", "update_request_id": 16, "jurisdiction": "panama", "data": { "id": 4294622, "panadata_id": 4294622, "sid": "PERSONA_JURDICA_Folio_N_1779_M", "nombre": "ASOCIACIÓN DE SECRETARIAS DEL BANCO NACIONAL DE PANAMÁ (ASOSEBANAL).", "ruc": null, "tipo_organizacion": "SOCIEDAD COMÚN", "status": "VIGENTE", "vigencia": "PERPETUA", "fecha_registro": "1982-09-21T05:00:00+00:00", "folio": "(PERSONA JURÍDICA) Folio Nº 1779 (M)", "ficha": "1779", "domicilio": "CIUDAD DE PANAMÁ, DISTRITO PANAMÁ, PROVINCIA PANAMÁ", "capital": null, "contacto": null, "source_updated_at": "2026-05-27 21:56:23.771506+00:00", "entity_events": […] } } ``` Ejemplo byte-idéntico al delivery real de la UR #16 (2026-05-28), excepto por el array `entity_events`, que aquí se muestra truncado por brevedad (en el delivery real trae sus 17 elementos). ## Headers de delivery | Header | Valor | Notas | | --- | --- | --- | | Content-Type | application/json | UTF-8, sin escapado Unicode. | | X-Panadata-Webhook-Signature | sha256={hex} | HMAC-SHA256 sobre `{timestamp}.{body_bytes}`. | | X-Panadata-Webhook-Timestamp | {unix\_seconds} | Mismo valor en los 3 intentos de delivery. | ## Verificar la firma Lea los bytes crudos del body (no el JSON parseado), concatene con el timestamp como `{timestamp}.{body_bytes}`, calcule HMAC-SHA256 con su signing key, y compare en tiempo constante con el hex que viene en `X-Panadata-Webhook-Signature`. Rechace si la diferencia entre el timestamp recibido y el actual supera 5 minutos. ``` # Python import hmac, hashlib, time def verify(body_bytes: bytes, timestamp: str, signature: str, signing_key: str) -> bool: if abs(time.time() - int(timestamp)) > 300: return False payload = f"{timestamp}.".encode() + body_bytes expected = "sha256=" + hmac.new(signing_key.encode(), payload, hashlib.sha256).hexdigest() return hmac.compare_digest(expected, signature) ``` ``` // Node.js const crypto = require('crypto'); function verify(bodyBuffer, timestamp, signature, signingKey) { if (Math.abs(Date.now() / 1000 - Number(timestamp)) > 300) return false; const payload = Buffer.concat([Buffer.from(`${timestamp}.`), bodyBuffer]); const expected = 'sha256=' + crypto.createHmac('sha256', signingKey).update(payload).digest('hex'); return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(signature)); } ``` ``` # Ruby require "openssl" def verify(body_bytes, timestamp, signature, signing_key) return false if (Time.now.to_i - timestamp.to_i).abs > 300 payload = "#{timestamp}.".b + body_bytes expected = "sha256=" + OpenSSL::HMAC.hexdigest("SHA256", signing_key, payload) ActiveSupport::SecurityUtils.secure_compare(expected, signature) end ``` ## Reintentos de entrega Panadata intenta entregar hasta **3 veces** con **5 s de timeout** por intento, **sin backoff**. Los 3 intentos se ejecutan dentro de la misma invocación Lambda — ventana total ≤ ~15 s. Se reintenta ante cualquier excepción de red o respuesta no 2xx. Después de 3 fallos, se registra `webhook_status=failed` definitivamente. El Update Request en sí queda `status=completed` — el scrape ya tuvo éxito — y el resultado se recupera con `GET /v4/update_requests/{id}`. **Idempotencia:** el único identificador estable es `update_request_id` en el body. El mismo timestamp y la misma firma se envían en los 3 intentos — no los use como identificador de intento. ## Estados ortogonales | status | webhook\_status | Significado | | --- | --- | --- | | pending | null | En cola; no hay evento terminal aún. | | completed | null | Listo; no hubo intento de webhook (sin URL configurada al crear). | | completed | delivered | Listo; el receiver devolvió 2xx. | | completed | failed | Listo; el receiver falló los 3 intentos. Recupere con `GET /v4/update_requests/{id}`. | | failed | null | Update Request falló; no se enviará webhook. | Recomendación: combine el webhook con polling de bajo costo a `GET /v4/update_requests/{id}` para los casos donde el webhook nunca llegue (URL caída durante la ventana de 15 s, firewall, etc.). ## Cuándo NO se envía un webhook Solo el evento `update_request.completed` produce delivery. Un Update Request en `status=failed` (entidad no encontrada, créditos insuficientes, excepción del scraper) **no dispara webhook**. Para observar fallos, consulte `GET /v4/update_requests/{id}`: el campo `error` describe la causa cuando `status=failed`. ## Cobertura por jurisdicción El flujo de escritura + webhook está cableado solo para **Panamá** hoy. Ecuador y Colombia ya tienen lectura (`GET /v4/{jurisdicción}/entidades`) pero no aceptan `POST .../update` todavía. Vea [Jurisdicciones](/docs/conceptos/jurisdicciones) para la matriz actualizada. Anterior: [← Sandbox vs API](/docs/guias/sandbox-vs-api) Siguiente: [Errores →](/docs/guias/errores) --- ## /docs/guias/errores # Errores y solución de problemas Referencia rápida de los códigos de error HTTP que puede recibir y cómo resolverlos. ## Errores de cliente (4xx) `400 Bad Request` La solicitud tiene un formato inválido o faltan parámetros requeridos. Casos comunes: omitir `include` en el detalle, omitir `nombre` y `ruc` en la búsqueda, o enviar un código de producto inválido. `401 Unauthorized` No se envió el header `Authorization: Bearer pk_...`. Solución: Envíe su llave API como Bearer token en cada solicitud. `402 Payment Required` No tiene saldo prepago suficiente para completar la solicitud. Solución: [Recargue saldo](/credits) desde su panel. `403 Forbidden` La llave fue rechazada por la capa de autenticación. Solución: Verifique que está usando una llave activa generada en su cuenta y que la copió completa. `404 Not Found` La entidad con el ID proporcionado no existe. Solución: Verifique el `id` usando el endpoint de búsqueda. ## Errores de servidor (5xx) `500 Internal Server Error` Error interno del servidor. Si persiste, contáctenos. Estas solicitudes **no se cobran**. `503 Service Unavailable` El servicio está temporalmente fuera de línea. Reintente en unos minutos. Anterior: [← Webhooks](/docs/guias/webhooks) --- ## /docs/referencia --- ## /docs/conceptos # Conceptos Entienda el modelo de datos, los identificadores y cómo se cobra el consumo antes de integrar la API. [ ### Jurisdicciones Vista general: qué países cubre Panadata, sus endpoints, fuentes y niveles disponibles. ](/docs/conceptos/jurisdicciones) [ ### Fuentes de datos Las 28 fuentes gubernamentales y comerciales de Panamá de donde provienen los datos. ](/docs/conceptos/fuentes-de-datos)[ ### Niveles de datos Los 34 niveles atómicos de información que Panadata recopila para cada entidad. ](/docs/conceptos/niveles-de-datos)[ ### Identificadores Identificadores opacos y tipados de v5: formato {jur}\_{tipo}\_{pk}, códigos de tipo y reglas. ](/docs/conceptos/identificadores)[ ### Precios y saldo prepago Cargo base, resolución inteligente y cómo se descuenta el saldo prepago. ](/docs/conceptos/facturacion) --- ## /docs/conceptos/jurisdicciones # Jurisdicciones Panadata organiza sus datos por jurisdicción. Cada jurisdicción tiene su propio endpoint, sus fuentes de datos y sus niveles de datos disponibles. ## Panamá Activa`api.panadata.net/v4/panama/entidades` 28 [Fuentes de datos](/docs/conceptos/fuentes-de-datos) Registro Público, DGI, Aduanas, Órgano Judicial, superintendencias, medios y más. 34 [Niveles de datos](/docs/conceptos/niveles-de-datos) Identidad, directores, activos, comercio exterior, riesgo, expedientes judiciales, noticias y más. 2 [Personas cubiertas](/docs/conceptos/niveles-de-datos) Jurídicas y naturales del Registro Público. El costo de cada consulta se previsualiza con dry\_run. Panamá es la jurisdicción principal. Cubre personas jurídicas y naturales del Registro Público y fuentes complementarias. Dos endpoints: | Endpoint | Método | Descripción | | --- | --- | --- | | /v4/panama/entidades | GET | Búsqueda por nombre o RUC. Cargo base: $0.01. | | /v4/panama/entidades/{id} | GET | Detalle y enriquecimiento con `?include=`. | | /v4/panama/entidades/{id}/update | POST | Actualización asíncrona contra la fuente original — resultado vía [webhook](/docs/guias/webhooks). | ## Ecuador Cobertura inicial`api.panadata.net/v4/ecuador/entidades` 12 [Niveles de datos](/docs/conceptos/niveles-de-datos) Subconjunto de Panamá, solo organizaciones jurídicas. El costo se previsualiza con dry\_run. 12 [Niveles de datos](/docs/conceptos/niveles-de-datos) Identidad, directores, accionistas, expedientes judiciales, denuncias, licitaciones, noticias, SRI y más. Organizaciones Alcance del catálogo público Búsqueda por nombre o RUC. Detalle por ID. Ecuador está disponible para organizaciones jurídicas. Mismos endpoints que Panamá, con un subconjunto del catálogo de productos: | Endpoint | Método | Descripción | | --- | --- | --- | | /v4/ecuador/entidades | GET | Búsqueda por nombre o RUC. Cargo base: $0.01. | | /v4/ecuador/entidades/{id} | GET | Detalle de organización con `?include=CHK-BIN | DAT-CORE | DAT-ALL`. | **Alcance:** el catálogo público de Ecuador está centrado en organizaciones jurídicas (RUC). Los datos de personas naturales no forman parte de este catálogo. El acceso para casos empresariales con propósito legítimo documentado se gestiona por separado — [contacto comercial](/docs/empresa). ## Colombia Por definir`/v4/colombia/entidades` Fuentes, niveles de datos y códigos de producto para Colombia están en proceso de definición. El endpoint seguirá la misma estructura que Panamá. ## Estructura común Todas las jurisdicciones siguen el mismo modelo: **fuentes** alimentan **niveles de datos** , que se empaquetan en **códigos de producto** que usted solicita con `?include=`. Los endpoints, precios y niveles disponibles varían por jurisdicción, pero la mecánica de la API es la misma. --- ## /docs/conceptos/fuentes-de-datos # Fuentes de datos Panadata recopila información de 28 fuentes oficiales y comerciales de Panamá. Cada fuente alimenta uno o más niveles de datos que usted consulta a través de la API. Las 28 fuentes listadas a continuación aplican a la jurisdicción de Panamá. **Ecuador** incorpora 8 fuentes adicionales, exclusivamente para organizaciones (RUC de sociedad) — vea la sección al final. Las personas naturales no forman parte del catálogo público de Ecuador. Las fuentes de **Colombia** están por definir. Consulte [Jurisdicciones](/docs/conceptos/jurisdicciones) para la vista general. ## Panamá — 28 fuentes Cada fila muestra la fuente, los datos que se obtienen de ella y los [niveles de datos](/docs/conceptos/niveles-de-datos) que alimenta. Panamá ## Registros gubernamentales | Fuente | Sigla | Datos obtenidos | Niveles de datos | | --- | --- | --- | --- | | Registro Público de Panamá | RP | Personas jurídicas y naturales, directores, documentos/escrituras, fincas, propiedades horizontales, bienes muebles, naves, fideicomisos, organizaciones relacionadas | `core_registro``directores``documentos_escaneados``documentos_digitales``propiedades``fincas``bienes_muebles``naves``fideicomisos``organizaciones``suspension` | | Registro Mercantil de Naves | RMN | Registro de naves, propietarios, matrícula, historial | `naves` | Panamá ## Agencias gubernamentales | Fuente | Sigla | Datos obtenidos | Niveles de datos | | --- | --- | --- | --- | | Dirección General de Ingresos | DGI | RUC, estado de ITBM | `core_registro` | | Autoridad Nacional de Aduanas | ANA | Importaciones, exportaciones, puertos de entrada/salida, valores CIF/FOB, información arancelaria | `exportaciones``importaciones``customs_summary``recent_exports_summary``recent_imports_summary` | | PanamáEmprende (AMPYME) | AMPYME | Avisos de operación, código, RUC, vigencia, actividades CIIU, representante legal, certificaciones | `avisos` | | Contraloría General de la República | CGR | Datos de control (SCAFID), montos, proceso de refrendo, datos del favorecido | `documentos_contraloria` | | Caja del Seguro Social | CSS | Datos del deudor y monto adeudado (listado de morosos) | `css_moroso_menciones` | | Dir. Gral. de Registro de la Propiedad Industrial | DIGERPI | Marcas registradas, clasificación, etiquetas, historial | `marcas` | | Ministerio de Trabajo y Desarrollo Laboral | MITRADEL | Permisos de trabajo, identificaciones (pasaportes, carnés), empresa contratante | `work_permits``permisos_trabajo` | | Servicio Nacional de Migración | SNM | Trámites de residencia, estado, abogado representante, historial | `migrations` | | Dir. Gral. de Contrataciones Públicas — Sanciones | DGCP-Sanc | Inhabilitados para contratar con el Estado | `sanciones` | | Ministerio de Comercio e Industrias | MICI | Idoneidades de contadores públicos autorizados | `idoneidades` | Panamá ## Plataformas gubernamentales | Fuente | Sigla | Datos obtenidos | Niveles de datos | | --- | --- | --- | --- | | PanamáCompra (DGCP) | PanamáCompra | Actos públicos, documentos en PDF, propuestas presentadas, proponentes, adjudicaciones | `licitaciones` | | Canal de Panamá (ACP) | ACP | Licitaciones (sistema propio), planillas de funcionarios, inhabilitados para contratar | `licitaciones``funcionario``sanciones` | | Gaceta Oficial de la República de Panamá | Gaceta | Coincidencias con personas naturales y jurídicas en PDFs publicados | `gacetas` | Panamá ## Poder judicial | Fuente | Sigla | Datos obtenidos | Niveles de datos | | --- | --- | --- | --- | | Órgano Judicial | OJ | Entradas de procesos (civiles, laborales, familia), edictos asociados | `expedientes_judiciales` | | Órgano Judicial — Idoneidades | OJ-Idon | Idoneidades de abogados | `idoneidades` | | Defensoría del Pueblo | DP | Planillas: nombre, salario, posición de funcionarios | `funcionario` | Panamá ## Reguladores | Fuente | Sigla | Datos obtenidos | Niveles de datos | | --- | --- | --- | --- | | Superintendencia de Bancos | SBP | Multas/sanciones, licencias de ejecutivos autorizados | `sanciones``licencias` | | Superintendencia del Mercado de Valores | SMV | Multas/sanciones, licencias de corredores de bolsa y ejecutivos | `sanciones``licencias` | | Superintendencia de Seguros y Reaseguros | SSRS | Multas/sanciones, licencias de corredores de seguros | `sanciones``licencias` | | Superintendencia de Sujetos No Financieros | SSNF | Multas/sanciones | `sanciones``licencias` | | Junta Técnica de Ingeniería y Arquitectura | JTIA | Idoneidades de ingenieros y arquitectos | `idoneidades` | Panamá ## Comerciales y medios | Fuente | Sigla | Datos obtenidos | Niveles de datos | | --- | --- | --- | --- | | Bolsa Latinoamericana de Valores | Latinex | Estados financieros auditados, datos de contacto de empresas públicas | `contacto` | | Páginas Amarillas | PA | Direcciones y teléfonos de contacto | `contacto` | | Medios digitales locales (agregado) | Prensa Local | Publicaciones en medios digitales panameños | `noticias` | | Medios internacionales (agregado) | Prensa Global | Noticias globales | `noticias_globales` | Panamá ## APIs de terceros | Fuente | Sigla | Datos obtenidos | Niveles de datos | | --- | --- | --- | --- | | API externa de sanciones internacionales | Sanctions API | Screening contra 51 listas internacionales de sanciones y PEP (OFAC, ONU, UE, Canadá, Reino Unido, Suiza, entre otras) | `sanciones_internacionales` | Ecuador ## Ecuador — 8 fuentes para organizaciones Fuentes que alimentan el catálogo público de Ecuador, exclusivamente para organizaciones (RUC de sociedad). Las personas naturales no forman parte del catálogo público de Ecuador. | Fuente | Sigla | Datos obtenidos | Niveles de datos | | --- | --- | --- | --- | | Superintendencia de Compañías, Valores y Seguros | SUPERCIAS | Registro de compañías ecuatorianas: identidad, administradores, accionistas, documentos digitales | `core_registro``contacto``directores``accionistas``documentos_digitales` | | Servicio de Rentas Internas | SRI | Estado tributario, indicadores fiscales y de cumplimiento, y deudores firmes (deuda tributaria) publicados por el SRI | `core_registro``sri_reports``css_moroso_menciones` | | Autoridad Nacional de Tránsito | ANT | Citaciones y multas de tránsito de vehículos a nombre de la organización; puntos de licencia | `traffic_citations` | | Sistema Oficial de Contratación Pública | SERCOP | Participación en procesos de contratación pública: propuestas, adjudicaciones | `licitaciones` | | Función Judicial — SATJE | SATJE | Expedientes judiciales asociados a la organización | `expedientes_judiciales` | | Fiscalía General del Estado | FGE | Denuncias penales en que la organización figura como sujeto (sospechosa, procesada, perjudicada, denunciante, etc.) | `denuncias` | | Agencia Nacional de Regulación, Control y Vigilancia Sanitaria (ARCSA) | ARCSA | Permisos sanitarios de funcionamiento (ARCSA): nombre comercial, titular, tipo y estado | `licencias` | | Medios digitales ecuatorianos (agregado) | Prensa Local EC | Menciones en medios digitales ecuatorianos | `noticias` | --- ## /docs/conceptos/niveles-de-datos # Niveles de datos Cada nivel de datos es una unidad atómica de información sobre una entidad. Panadata recopila 34 niveles de 28 fuentes gubernamentales y comerciales de Panamá. Usted los adquiere agrupados en códigos de producto. Los niveles de datos no se compran individualmente. Se agrupan en códigos de producto que usted solicita con el parámetro `?include=`; el catálogo vigente con costos se consulta en vivo con `GET /v5/catalog`. Para ver de dónde proviene cada nivel, consulte [Fuentes de datos](/docs/conceptos/fuentes-de-datos). Los 34 niveles listados a continuación aplican a la jurisdicción de Panamá. **Ecuador** cubre hoy un subconjunto de 12 niveles para organizaciones jurídicas — vea la sección al final. **Colombia** está por definir. Consulte [Jurisdicciones](/docs/conceptos/jurisdicciones) para la vista general. O OrganizaciónP Persona ## Identidad y registro | Nivel | Descripción | Fuente | Aplica | | --- | --- | --- | --- | | core\_registro | Campos base de identidad: nombre, RUC/cédula, ficha, folio, tipo, fecha de registro, estado, vigencia, capital, domicilio, scores de actividad comercial. | Registro Público / DGI | OP | | contacto | Datos de contacto disponibles: teléfono, dirección, fechas de actualización. | Latinex / Páginas Amarillas | OP | | entity\_events | Timeline cronológico de eventos de la entidad (hasta 100): cambios de estado, actualizaciones de registro. | Panadata (calculado) | OP | ## Gobierno corporativo | Nivel | Descripción | Fuente | Aplica | | --- | --- | --- | --- | | directores | Miembros de la junta directiva: cargo, nombre, estado activo. | Registro Público | O | | suspension | Detalle de suspensión de la entidad: fecha y motivo. | Registro Público | O | | organizaciones | Organizaciones donde la entidad tiene participación como miembro o directivo. | Registro Público | OP | | representante\_legal\_identificado | Representante legal identificado de la entidad. | Registro Público | O | | funcionario | Información de planillas del Estado: salario, posición, institución. | Planillas del Estado | P | | gacetas | Menciones en la Gaceta Oficial de Panamá. Señal de posible PEP. | Gaceta Oficial | OP | | documentos\_contraloria | Documentos y trámites de la Contraloría General: montos, proceso de refrendo, favorecido. | Contraloría General | OP | ## Actividad comercial | Nivel | Descripción | Fuente | Aplica | | --- | --- | --- | --- | | avisos | Avisos de operación de Panamá Emprende con actividad ISIC/CIIU, vigencia, representante legal. | Panamá Emprende (AMPYME) | O | | licencias | Licencias comerciales y profesionales de múltiples entes reguladores. | Entes reguladores | OP | | fideicomisos | Fideicomisos donde participa la entidad. | Registro Público | OP | | marcas | Marcas registradas: clasificación, etiquetas, historial. | DIGERPI | OP | ## Activos | Nivel | Descripción | Fuente | Aplica | | --- | --- | --- | --- | | propiedades | Propiedades horizontales con hipotecas, compraventas, propietarios. | Registro Público | OP | | fincas | Fincas con hipotecas, compraventas, propietarios. | Registro Público | OP | | bienes\_muebles | Vehículos y bienes muebles registrados. | Registro Público | OP | | naves | Naves y embarcaciones registradas: matrícula, propietarios, historial. | Registro Público | O | ## Comercio internacional | Nivel | Descripción | Fuente | Aplica | | --- | --- | --- | --- | | exportaciones | Historial detallado de exportaciones aduaneras: valores FOB, destinos, partidas arancelarias. | Autoridad Nacional de Aduanas | O | | importaciones | Historial detallado de importaciones aduaneras: valores CIF, orígenes, partidas arancelarias. | Autoridad Nacional de Aduanas | O | | customs\_summary | Resumen agregado de actividad de comercio exterior. | Autoridad Nacional de Aduanas | O | | recent\_exports\_summary | Resumen mensual de exportaciones recientes. | Autoridad Nacional de Aduanas | O | | recent\_imports\_summary | Resumen mensual de importaciones recientes. | Autoridad Nacional de Aduanas | O | ## Riesgo y compliance | Nivel | Descripción | Fuente | Aplica | | --- | --- | --- | --- | | sanciones | Sanciones de entes reguladores nacionales (SBP, SMV, SSRS, SSNF, DGCP, ACP). | Entes reguladores | OP | | sanciones\_internacionales | Screening contra listas internacionales: OFAC, Naciones Unidas, UE, Canadá, Reino Unido, Suiza y más. | API externa (tercero) | OP | | expedientes\_judiciales | Expedientes del Órgano Judicial: procesos civiles, laborales, familia, edictos. | Órgano Judicial | OP | | css\_moroso\_menciones | Menciones en listados de morosos de la Caja de Seguro Social. | Caja del Seguro Social | OP | | idoneidades | Idoneidades profesionales registradas: abogados, contadores, ingenieros, arquitectos. | Entes reguladores | OP | ## Documentos | Nivel | Descripción | Fuente | Aplica | | --- | --- | --- | --- | | documentos\_escaneados | PDFs escaneados del Registro Público: escrituras, poderes, actas. | Registro Público | OP | | documentos\_digitales | Asientos electrónicos del Registro Público. | Registro Público | OP | ## Laboral y migración | Nivel | Descripción | Fuente | Aplica | | --- | --- | --- | --- | | work\_permits | Permisos de trabajo asociados a la organización. | MITRADEL / SNM | OP | | migrations | Trámites de residencia del Servicio Nacional de Migración: estado, abogado, historial. | SNM | OP | | permisos\_trabajo | Permisos laborales MITRADEL para personas: identificación, pasaporte, empresa contratante. | MITRADEL | P | ## Medios y reputación | Nivel | Descripción | Fuente | Aplica | | --- | --- | --- | --- | | noticias | Menciones en medios de prensa digitales panameños. | Medios locales (agregado) | OP | | noticias\_globales | Menciones en medios de prensa internacionales. | Medios internacionales (agregado) | OP | ## Contrataciones públicas | Nivel | Descripción | Fuente | Aplica | | --- | --- | --- | --- | | licitaciones | Participación en actos públicos de PanamáCompra: propuestas, adjudicaciones, documentos. | PanamáCompra (DGCP) | OP | Ecuador ## Niveles para organizaciones jurídicas 12 niveles cableados hoy a la respuesta de DAT-ALL para organizaciones con RUC de sociedad ecuatoriano. Las personas naturales no forman parte del catálogo público de Ecuador. | Nivel | Descripción | Fuente | Aplica | | --- | --- | --- | --- | | core\_registro | Identidad base de la organización: nombre, RUC, nacionalidad, capital, domicilio, objeto social, situación legal y fecha de constitución. | SUPERCIAS / SRI | O | | contacto | Datos de contacto disponibles cuando la fuente los publica. | SUPERCIAS | O | | directores | Administradores y representantes legales registrados. | SUPERCIAS | O | | accionistas | Accionistas y beneficiarios finales declarados ante el regulador societario. | SUPERCIAS | O | | expedientes\_judiciales | Procesos judiciales de la Función Judicial asociados a la organización. | Función Judicial (SATJE) | O | | denuncias | Denuncias penales en que la organización figura como sujeto (sospechosa, procesada, perjudicada, denunciante, etc.). | Fiscalía General del Estado (FGE) | O | | licitaciones | Participación en procesos de contratación pública del SERCOP. | SERCOP | O | | licencias | Permisos sanitarios de funcionamiento (ARCSA): nombre comercial, titular, tipo y estado. | ARCSA | O | | documentos\_digitales | Asientos electrónicos y constancias asociadas al RUC. | SUPERCIAS | O | | noticias | Menciones en medios digitales ecuatorianos. | Medios locales (agregado) | O | | sri\_reports | Indicadores fiscales y de cumplimiento publicados por el SRI para la organización. | Servicio de Rentas Internas (SRI) | O | | css\_moroso\_menciones | Deuda tributaria firme de la organización (renta, IVA, multas) publicada por el SRI. | Servicio de Rentas Internas (SRI) | O | Todos los niveles de Ecuador se obtienen con `?include=DAT-ALL`. Para identidad y verificación mínima use `CHK-BIN` o `DAT-CORE`. Solicitar códigos intermedios devuelve `400 unknown product code(s)`. --- ## /docs/conceptos/identificadores # Identificadores En v5, cada entidad y cada activo se direcciona con un identificador único, opaco y tipado. Un solo id apunta de forma inequívoca a una persona, una organización o un activo (finca, nave, marca, documento…), sin que usted necesite saber en qué jurisdicción ni en qué tabla vive. Aplica a la superficie **v5** (aditiva). La API v4 conserva sus identificadores enteros por jurisdicción y no cambia. ## Formato Tres partes separadas por guion bajo: jurisdicción, tipo y clave local. `{jur}_{tipo}_{pk}` `pa_own_42``co_own_7``pa_finca_153``pa_ph_9``pa_entrada_88` Trate el identificador como una **cadena opaca** : pásela tal cual entre llamadas y guárdela como referencia, pero **no la analice ni la construya** en su código. El formato interno puede evolucionar; lo único garantizado es que un id que la API le devuelve se lo puede volver a enviar. ## Jurisdicción El prefijo identifica el país. El identificador lleva la jurisdicción dentro de sí. | Prefijo | País | Estado | | --- | --- | --- | | pa | Panamá | Activo | | co | Colombia | Reservado (cableado próximamente) | | ec | Ecuador | Reservado (cableado próximamente) | ## Tipos El código de tipo indica a qué clase de registro apunta el identificador. La lista es append-only: un código nunca se reutiliza para otra cosa. | Código | Apunta a | Categoría | | --- | --- | --- | | own | Entidad — persona natural u organización | Entidad | | finca | Finca / propiedad raíz | Activo | | ph | Propiedad horizontal (apartamento o local) | Activo | | edif | Edificio (contexto de la propiedad horizontal) | Activo | | nave | Nave / embarcación | Activo | | bm | Bien mueble | Activo | | marca | Marca / registro marcario | Activo | | imp | Importación | Activo | | exp | Exportación | Activo | | entrada | Entrada — documento escaneado del Registro | Documento | | elemento | Elemento — documento digital | Documento | ## Reglas - **El id lleva la jurisdicción.** En las llamadas por id ya no necesita `?country=`; el prefijo basta. `country` sobrevive solo como _filtro_ en la búsqueda. - **Validación estricta.** Un identificador mal formado, con prefijo o tipo desconocido, o con clave no numérica devuelve `400` — nunca se resuelve silenciosamente al registro equivocado. - **Append-only.** Los códigos de tipo se agregan, nunca se reasignan. Un id que funciona hoy seguirá apuntando al mismo tipo de registro mañana. - **Sin `panadata_id` en v5.** El identificador tipado es el único id público; el antiguo campo duplicado se elimina de las respuestas v5. ## Direccionar vs. resolver Un identificador apunta a un registro concreto. No es (todavía) una identidad única de la entidad real entre jurisdicciones. Si ya tiene el id, úselo directamente para leer el detalle. Si parte de un nombre o un RUC y quiere encontrar la entidad —incluso sin saber el país— use `POST /v5/resolve`, que devuelve **candidatos ordenados con su nivel de confianza** , no una única respuesta. La vinculación de la misma entidad entre jurisdicciones es probabilística y se expone como sugerencia; nunca se fusionan dos identidades en silencio. ## Una sola llave para REST y MCP La misma API key opera la API REST y el servidor MCP sobre el mismo espacio de identificadores: un id obtenido vía REST sirve tal cual como argumento de una herramienta del MCP, y viceversa. El consumo de ambos se descuenta del mismo saldo prepago. --- ## /docs/conceptos/facturacion # Precios y saldo prepago Panadata cobra montos por solicitud y por enriquecimiento. En el panel, ese consumo se descuenta de un saldo prepago. ## Cómo pensar el cobro Piense en **precios por resultado** , no en tokens abstractos. La búsqueda tiene un cargo base bajo. El detalle agrega el precio del código o paquete que solicite con `include`. En la página de [Uso](/usages), el consumo aparece como costo real en dólares. ## Probar sin saldo No necesita recargar para hacer su primera llamada. Con la cuenta confirmada y una llave API, su llave funciona en **modo gratuito** : consultas limitadas a los códigos `CHK-BIN` y `DAT-CORE`, con límites de tasa estrictos. Al agotar el límite del período, la API responde `429`; si solicita códigos fuera del modo gratuito, responde `403` indicando qué códigos requieren créditos. Además, en el [Sandbox](/sandbox) puede reclamar créditos de cortesía para probar el resto del catálogo. El reclamo está disponible periódicamente y solo cuando su saldo está en cero. ## Cargo base Toda solicitud autenticada arranca con un cargo base de **$0.01**. Esto aplica tanto a la búsqueda (`GET /v4/panama/entidades`) como al detalle (`GET /v4/panama/entidades/{id}`). ## Precio por enriquecimiento Cuando utiliza el parámetro `include` en el endpoint de detalle, se agrega el precio por resultado de los códigos solicitados. El catálogo vigente con costos se consulta en vivo con `GET /v5/catalog`, y toda llamada acepta `dry_run=true` para previsualizar el cargo sin cobrar. Fórmula del cargo total: cargo\_total = $0.01 base + suma(precios cobrados) ## Resolución inteligente Los códigos de producto utilizan **resolución inteligente** : se ordenan por cantidad de niveles de forma descendente y solo se cobran los códigos no redundantes. Ejemplo: Al solicitar `?include=DAT-CORE,CHK-BIN` solo se cobra **DAT-CORE** ($0.15) porque ya cubre el nivel `core_registro` que proporciona CHK-BIN. El cargo total sería: $0.01 + $0.15 = **$0.16**. ## Cuándo se cobra La facturación ocurre **después** de que la solicitud sea exitosa (solo respuestas 2xx). Si la solicitud falla (4xx o 5xx), no se descuenta saldo. ## Saldo prepago en el panel Puede recargar saldo desde el [panel de recarga](/credits). Para presupuestar, piense en ese saldo como prepago para cubrir cargos por resultado. Si quiere revisar consumo real, use la página de [Uso](/usages), donde el costo se presenta en dólares. --- ## /docs/notas # Notas de versión Historial de cambios de la plataforma y la API de Panadata. 31 de agosto de 2026 ## Ids tipados en los resultados de búsqueda y surface de migración - **Cambio de formato:** en `POST /v5/search/{surface}`, el campo `results[].id` devuelve ahora el id público tipado (`pa_imp_60023` en vez de `60023`) en las surfaces cuyos registros son direccionables: importaciones, exportaciones, marcas, naves, real-estate (`pa_finca_` y `pa_ph_`), real-estate-deeds (`pa_relemento_`) e immigration (`pa_mig_`, `pa_wp_`, `pa_visaaut_` y `pa_imped_`). Ese id se pasa tal cual a `GET /v5/entities/{id}`, así que encadenar búsqueda y detalle ya no requiere lógica del cliente. - Las demás surfaces (licitaciones, avisos, contraloria, expedientes, sanctions, noticias y planillas) conservan el PK entero. - Una clave de filtro desconocida en `/v5/search/{surface}` ahora responde `400` con la lista de claves válidas. Antes se ignoraba en silencio y la búsqueda devolvía resultados sin filtrar. - La surface `immigration` queda disponible también por MCP (herramienta `search`), con facetas y filtros, la matriz filtro–fuente corregida y advertencias de uso: a la fecha de esta nota los datos de Mitradel estaban congelados al 11 de mayo de 2026 (96,3% de las filas sin movimiento desde antes de esa fecha; hay un re-scrape de puesta al día en curso, así que verifique la frescura de cada fila por su propio `fecha_ultimo_movimiento`), y se suman los filtros `fecha_inicio` y `fecha_ultimo_movimiento`, que existen esté el caso cerrado o no. El detalle migratorio sigue gateado por `DAT-LABOR`. - **Deprecado:** el filtro `estado` de `POST /v5/search/immigration` —y su faceta `by_estado`— se retirará del contrato: es un veredicto derivado cuya semántica se invierte según la fuente (en un impedimento, «resuelto» significa que el acto se firmó y notificó, o sea que el impedimento probablemente **entró** en vigor, no que se levantó; en una visa, «resuelto» sin resultado se lee como aprobada). El campo **ya no viene en la tarjeta** , ni en el summary ni en el detalle; el filtro se sigue aceptando hasta el retiro, y mientras siga vivo distingue mayúsculas y minúsculas (`estado=Resuelto` devuelve 0, `estado=resuelto` devuelve el corpus). Para saber si un caso está abierto o cerrado use `fecha_fin`, que solo existe en casos cerrados, o los filtros nuevos `fecha_inicio` y `fecha_ultimo_movimiento`. Ojo: el veredicto sigue viajando en cada resultado como `derived_data.estado_actual` y arrastra la misma semántica invertida — se retirará de ahí junto con el filtro, así que no construya sobre ese campo. - **Cambio de comportamiento:** en `GET /v5/entities/{id}/network` el parámetro `depth` pasa de `1` a `2` por defecto. Quien no manda `depth` recibe ahora también el grafo plano de dos saltos —con quién está conectada la entidad y a través de quién—, una respuesta bastante más grande que antes; si le alcanza la vista histórica sola, pida `?depth=1` de forma explícita. A cambio se elimina la facturación por nivel: toda profundidad cuesta el mismo SKU plano (`DAT-NETWORK`), así que `depth` es una perilla de tamaño y no un escalón de precio. El tercer salto (`?depth=3`) sigue disponible y es mucho más grande: sobre un sujeto real, 303 nodos contra 72. - El servidor MCP lee el catálogo de códigos en vivo desde `GET /v5/catalog` (26 códigos con sus precios exactos) y se elimina el mirror estático, que podía quedar desactualizado. - Documentado `GET /v5/entities/{id}/proponente-dossier` (`DAT-PROPONENTE`). Además, `GET /v5/entities/{id}/immigration` pasa a cubrir **cuatro fuentes** : a los permisos de trabajo y los movimientos migratorios se suman ahora las visas autorizadas y los impedimentos, en la misma ficha. Con una salvedad: los impedimentos se enlazan a la persona **por nombre** —la fuente no publica pasaporte ni cédula—, cada elemento de `impedimentos[]` trae un `match {key, score}` con la procedencia del enlace, y la cobertura es parcial (hoy alrededor del 5% de los impedimentos de la fuente llegan a una persona). Es una coincidencia de nombre, no una identidad confirmada: verifíquela antes de actuar, y tenga presente que un `impedimentos[]` vacío significa «no lo enlazamos», no «no tiene impedimento». Para descartar, busque por nombre en `POST /v5/search/immigration` con `source=impedimento`. - `pa_visacons_` se retira de la gramática de ids: la fuente consular no es cosechable. 26 de junio de 2026 ## Catálogo de Ecuador: 12 niveles para organizaciones - El catálogo público de Ecuador se precisa a **12 niveles** (antes 13), tras verificar la cobertura real contra la fuente. Se retira `entity_events`, que no tiene fuente en Ecuador y no devuelve datos. - El precio de DAT-ALL en Ecuador ($0.85) no cambia. El alcance sigue siendo solo organizaciones jurídicas. 20 de junio de 2026 ## Servidor MCP remoto y onboarding instantáneo - La API de Panadata ya está disponible como herramientas MCP (Model Context Protocol) para casos de uso con LLM y agentes, con una nueva página de capacidades y una guía rápida "Conéctese por MCP". - Al confirmar la cuenta se aprovisiona automáticamente una llave API y se otorgan $10 en créditos de prueba (válidos 30 días, sobre saldo cero). - Configuración MCP personalizada lista para copiar desde el panel. - El paquete completo `DAT-ALL` deja de incluir el screening internacional (`DAT-SCREEN` — sanciones internacionales y coincidencias PEP), que ahora se cobra por separado; su precio queda en $1.41 por entidad en Panamá ($0.85 en Ecuador). 28 de mayo de 2026 ## Documentación de webhooks y actualizaciones asíncronas - Nueva guía [Actualizaciones asíncronas y webhooks](/docs/guias/webhooks) con el flujo completo: POST de trigger, body firmado con HMAC-SHA256, fallback por GET y matriz de estados. - OpenAPI ahora documenta `POST /v4/panama/entidades/{id}/update` y `GET /v4/update_requests/{id}` con tres schemas nuevos. - Cobertura: solo Panamá hoy. Ecuador y Colombia siguen siendo read-only. 27 de mayo de 2026 ## Ecuador disponible (read-only) - Cobertura inicial de Ecuador para organizaciones: búsqueda por nombre o RUC y detalle por ID en `/v4/ecuador/entidades`. - Tres códigos disponibles: `CHK-BIN`, `DAT-CORE` y `DAT-ALL` ($0.85 por entidad), sobre 13 niveles de datos. - Solo lectura: las actualizaciones asíncronas siguen siendo exclusivas de Panamá. 7 de abril de 2026 ## Webhooks y sandbox interactivo - Sandbox autenticado con flujo guiado: búsqueda por nombre, RUC e ID con respuestas reales de la API. - Sistema de webhooks para solicitudes de actualización de entidades con firma criptográfica. Sistema independiente del código de producto `DAT-HOOK`, que es pull (devuelve `entity_events` en la respuesta del GET) y no tiene relación con el delivery de notificaciones por POST. - Hub de documentación rediseñado con ViewComponents y navegación lateral. 23 de marzo de 2026 ## Framework de precios v4 - Catálogo de códigos de producto ampliado de 12 a 17 SKUs activos con framework de precios basado en valor; el paquete completo DAT-ALL pasa a $1.81 por entidad. - Especificaciones OpenAPI sincronizadas con el API Gateway de producción. - Parche de seguridad: Devise 5.0.3 (GHSA-57hq-95w6-v4fc). 16 de marzo de 2026 ## Referencia API bilingüe - Especificaciones OpenAPI v4 en español e inglés. - Metadatos de discoverability para agentes de IA (`link rel=describedby`). - Sincronización del nombre de llave API hacia DynamoDB para logging estructurado. 10 de marzo de 2026 ## Localización al español - Toda la interfaz de la plataforma traducida al español. - Copiar al portapapeles en llaves API y sandbox. - Nuevo favicon de Panadata. 3 de marzo de 2026 ## Documentación interactiva - Referencia API interactiva con Scalar (OpenAPI 3.0). - Correcciones en el flujo de checkout de Stripe (CORS, Turbo). 27 de febrero de 2026 ## Dashboard de uso - Gráfico de uso con ejes duales (costo y solicitudes), tooltips y selector de período. - Resumen de estadísticas con totales del período seleccionado. 10 de febrero de 2026 ## Lanzamiento de la plataforma v4 - Plataforma self-service para Panamá: registro, autenticación, llaves API, saldo prepago y consumo. - `GET /v4/panama/entidades` — búsqueda por nombre o RUC. - `GET /v4/panama/entidades/{id}?include=` — detalle y enriquecimiento. - 12 códigos de producto activos: CHK-BIN, DAT-CORE, DAT-HOOK, DAT-GOV, DAT-BIZ, DAT-ASSET, DAT-TRADE, DAT-DOC, DAT-RISK, DAT-PROC, DAT-NEWS, DAT-LEGAL. Paquete completo DAT-ALL a $1.35. - Panel de llaves API con creación y revocación, sincronización a DynamoDB. - Compra de saldo prepago vía Stripe Checkout. - Wallet con créditos atómicos en DynamoDB. --- ## /docs/empresa # Panadata OS Pipelines inteligentes con machine learning y dominio experto, operados por Panadata. Sus datos nunca salen de su infraestructura. ## Cuándo tiene sentido La API self-service funciona bien para consultas directas e integraciones estándar. Panadata OS (PANDOS) es para equipos que necesitan más: procesamiento especializado, modelos de machine learning aplicados a su dominio, y análisis profundo con acompañamiento de nuestro equipo de ingeniería. ## Qué incluye ### Pipelines a medida Similar a los módulos de datos de la API, pero con capas de machine learning, ciencia de datos y estudio detallado de su caso de uso. ### Datos en su infraestructura Todo el procesamiento ocurre dentro de su red. Los datos sensibles nunca salen de su perímetro — Panadata opera de forma remota sin acceso a la información. ### Monitoreo y operación Panadata construye, opera y mantiene cada pipeline. Su equipo ve el estado en tiempo real desde una consola centralizada. ## Qué esperar del proceso El proceso normalmente cubre cuatro frentes: 1. Definición de casos de uso y volumen esperado. 2. Selección de módulos, pipelines y estrategia de costos. 3. Pruebas técnicas en sandbox o entorno controlado. 4. Paso a producción con monitoreo y soporte. Si necesita campos, cobertura o flujos específicos, este es también el momento para alinear requisitos con el equipo de Panadata. ## Siguiente paso ## Hablemos de su caso de uso Comparta su caso de uso, volumen esperado y stack técnico. Así podemos recomendar la integración adecuada y el nivel de soporte correcto. [Contáctenos](mailto:support@panadata.net)