API de verificación de identidad en Colombia: KYC sobre once registros oficiales
PlacApi expone once consultas REST que verifican a una persona natural o a una empresa colombiana contra registros oficiales, cada una en su endpoint y cobrada por separado: el nombre detrás de un documento, la clasificación del Sisbén y del RUI, las afiliaciones a salud, pensión y ARL del RUAF, el registro mercantil de las cámaras de comercio, los contratos con el Estado del SECOP II, las declaraciones de bienes y rentas, los procesos de la Rama Judicial, los antecedentes disciplinarios de la Procuraduría, los fiscales de la Contraloría, los judiciales de la Policía y las listas de sanciones de OFAC. No hay un bundle de identidad: se llama solo lo que hace falta. Esta página dice qué responde cada endpoint, qué documento pide, cuánto cuesta y —lo que casi nadie publica— qué NO alcanza a verificar.
¿No eres desarrollador? Consulta el RUNT por placa aquí sin escribir código.
Qué problema resuelve
Montar un flujo de KYC o de debida diligencia en Colombia significa hoy visitar entre cinco y diez portales estatales distintos, cada uno con su captcha, su formato de fecha y su propia manera de decir que no encontró nada. Ninguno publica una API para desarrolladores y varios ni siquiera responden igual dos veces seguidas. El resultado habitual es alguien copiando cédulas a mano en una hoja de cálculo, o un scraper propio que se rompe cada vez que una entidad cambia el HTML. PlacApi normaliza esos registros en un contrato REST único —mismo sobre, mismo campo tieneAntecedentes, mismos códigos de error— y cobra por consulta, sin mensualidad ni permanencia.
Para quién sirve
Áreas de cumplimiento y SARLAFT que hacen debida diligencia de clientes y proveedores, fintechs y plataformas de crédito que verifican identidad antes de originar, talento humano y empresas de selección que validan una hoja de vida, entidades públicas y contratistas que revisan inhabilidades antes de firmar, y equipos de producto que integran la verificación dentro de su propio onboarding.
Datos requeridos
- docType y docNumber — el par que piden las consultas por persona: cédula, Sisbén, RUI y los tres de antecedentes. Cada registro acepta un subconjunto distinto de tipos de documento, y un tipo no soportado responde 400 sin cobrar.
- documento o nombre — las consultas de empresa y de relación con el Estado (RUES, SECOP, bienes y rentas) aceptan NIT, cédula o razón social. Si llegan los dos manda el documento, que identifica sin ambigüedad.
- nombre completo — las listas de sanciones de OFAC se buscan solo por nombre: no manejan cédulas colombianas. El orden de las palabras no importa, pero deben aparecer todas.
- fechaExpedicion — solo el RUAF, en formato DD/MM/AAAA. La exige la fuente para autenticar, no PlacApi, y hay que pedírsela al usuario porque no sale de ninguna otra consulta.
- radicado — opcional en procesos judiciales: con los 23 dígitos se agregan las actuaciones del proceso, que es lo que dice en qué va y no solo que existe.
Fuentes y cobertura
- Ventanilla Social del DNPDatos básicos del ciudadano —nombre, sexo, edad, municipio y departamento—, grupo y nivel del Sisbén IV y grupo del Registro Universal de Ingresos. Responde en menos de un segundo y sin captcha, por eso es la primera fuente del nombre por documento.
- Procuraduría General de la Nación — SIRICertificado de antecedentes disciplinarios: sanciones con su término y clase, delitos, providencias con autoridad y fechas, e inhabilidades con su vigencia. También respalda la consulta de nombre cuando la persona no figura en el registro social.
- Contraloría General de la República — Boletín de Responsables Fiscales (SIBOR)Certificado de responsabilidad fiscal, requisito para contratar con el Estado y para posesionarse en cargos públicos, con el código que permite comprobar su autenticidad ante la entidad.
- Policía Nacional de ColombiaCertificado de asuntos pendientes con las autoridades judiciales, con la leyenda textual del registro y el nombre del titular en orden apellidos-nombres.
- RUAF — Ministerio de Salud y Protección SocialAfiliaciones a salud, pensiones, riesgos laborales, caja de compensación y cesantías, condición de pensionado y programas de asistencia social, con la fecha de corte del propio informe.
- Registro mercantil de las Cámaras de Comercio (Confecámaras)Matrícula, cámara, estado de la matrícula, tipo de sociedad, organización jurídica, códigos CIIU, fechas de matrícula, renovación, vigencia y cancelación, y representante legal con su documento.
- SECOP II — Colombia Compra EficienteContratos electrónicos con el Estado: entidad, objeto, tipo de contrato, modalidad, estado, valor contratado, valor pagado, fechas y enlace a la ficha pública del proceso.
- Función Pública — Declaración de Bienes, Rentas y Conflicto de InterésDeclaraciones publicadas por servidores públicos y contratistas bajo la Ley 2013 de 2019: entidad, cargo, motivo de la declaración, número, fecha de publicación y estado.
- Rama Judicial — Consulta de Procesos Nacional UnificadaProcesos de los despachos del país: radicado, despacho, departamento, fechas, partes ya separadas por rol, ponente, tipo y clase de proceso y actuaciones con su anotación.
- OFAC — Departamento del Tesoro de EE. UU.Listas de sanciones SDN —la que el mercado llama lista Clinton— y las consolidadas no-SDN: unos 41.000 nombres con sus alias. No se scrapea: las listas se descargan y la búsqueda corre localmente.
¿Qué responde cada endpoint, qué documento pide y cuánto cuesta?
Son doce páginas de documentación y once consultas distintas. La diferencia está en el Sisbén y el RUI, que son el mismo endpoint con dos nombres: la fuente entrega juntas las dos escalas y nosotros devolvemos las dos, así que llamar una u otra da exactamente el mismo JSON. Existen por separado porque el RUI reemplazó al Sisbén como criterio de focalización y quien busca por un nombre no busca por el otro.
Antes del listado, la regla de cobro, que en esta familia no es obvia y decide el presupuesto de una integración. Una respuesta «no registra antecedentes» COBRA: es el dato que el cliente vino a comprar, el que sirve para contratar, vincular o posesionar a alguien, y tratarlo como consulta sin resultado sería regalar la inmensa mayoría de las llamadas. En cambio, cuando el producto es el dato mismo y el dato no existe —un documento sin titular, una persona no registrada en el Sisbén, un radicado inexistente— la respuesta es 404 y no cobra. Un acierto de caché nunca cobra.
POST /api/cedula — el nombre detrás de un documento
Pide docType y docNumber. Responde el nombre completo del titular y ese mismo nombre ya partido en partes, más sexo, edad, municipio y departamento cuando la persona figura en el registro social. Cuesta 1 crédito.
Es la única consulta de la familia donde un documento sin titular responde 404 y no cobra: acá el producto es el nombre, y si no vino no se entregó nada. Por eso es la primera llamada de cualquier cadena: confirma que el documento existe antes de gastar créditos en el resto.
POST /api/sisben y POST /api/rui — clasificación socioeconómica
Piden docType y docNumber. Responden el grupo del Sisbén IV con su subgrupo y su descripción —A pobreza extrema, B pobreza moderada, C vulnerable, D no pobre ni vulnerable—, el grupo del Registro Universal de Ingresos con su nivel, y los datos básicos de la persona con el código DANE de su municipio. Cuestan 1 crédito.
Son el mismo endpoint con dos nombres. Una persona no registrada responde 404 y no cobra. Y un detalle de calidad que conviene conocer: el servicio oficial del grupo Sisbén le asigna «D4, no pobre ni vulnerable» a documentos que no existen, así que acá la existencia la decide el registro de ingresos y el grupo solo se publica si esa verificación pasó. Un grupo en null significa «la persona existe pero no tiene grupo publicado», nunca un dato inventado.
POST /api/ruaf — afiliaciones a seguridad social
Pide el número de documento y la fecha de expedición en formato DD/MM/AAAA; el tipo de documento es opcional y por defecto es cédula. Responde salud (EPS, régimen, tipo de afiliado y estado), pensiones, riesgos laborales, caja de compensación, cesantías, si la persona está pensionada y a qué programas de asistencia social está vinculada. Cuesta 2 créditos.
Es el más caro y el más lento del catálogo de personas: el informe lo genera un visor de reportes del Ministerio que no se puede apurar, así que hay que contar con decenas de segundos y llamarlo de forma asíncrona, nunca dentro de una petición web con alguien esperando. A cambio sustituye siete consultas. Una fecha de expedición que no coincide responde 404 y no cobra.
POST /api/rues — registro mercantil
Pide un documento (NIT o cédula) o el nombre de la razón social. Responde razón social, matrícula, cámara de comercio, estado de la matrícula, tipo de sociedad, códigos CIIU, fechas de matrícula, renovación, vigencia y cancelación, último año renovado, si está inscrita como proponente, y el representante legal con su documento. Cuesta 1 crédito.
El campo que decide si la empresa existe hoy es el estado de la matrícula, activa o cancelada; todo lo demás es contexto. Una matrícula activa que lleva años sin renovar es una señal distinta a una al día, y por eso el último año renovado viaja aparte en vez de quedar escondido en una fecha. Cero coincidencias es un resultado válido y cobra.
POST /api/secop — contratos con el Estado
Pide un documento (NIT o cédula) o el nombre del proveedor. Responde un resumen agregado sobre el histórico completo —total de contratos, valor contratado, valor pagado, entidades distintas y conteo por estado— y una página de hasta 50 contratos con entidad, objeto, modalidad, valores, fechas y el enlace a la ficha pública del proceso. Cuesta 1 crédito.
Es la respuesta a «¿este proveedor ya le ha contratado al Estado, a quién y por cuánto?», que es lo que se pide en una debida diligencia y lo que ningún buscador devuelve agregado. Sin contratos también responde con datos y cobra: «no ha contratado con el Estado» es exactamente lo que se vino a comprobar.
POST /api/sigep — declaraciones de bienes y rentas
Pide un documento o el nombre del declarante. Responde cada declaración de bienes, rentas y conflicto de interés con la entidad, el cargo o la condición de contratista, el motivo —ingreso, periódico o retiro—, el número, la fecha de publicación y el estado, más un resumen con las entidades donde ha declarado. Cuesta 1 crédito.
Responde si una persona de verdad trabaja o contrata con el Estado, dónde y desde cuándo. No entrega el PDF de la declaración: esa descarga sí valida captcha en el portal y no se puede automatizar, así que se devuelven el identificador y la URL oficial para bajarlo a mano. Decirlo es más útil que prometerlo y después fallar.
POST /api/rama-judicial — procesos judiciales
Pide un radicado de 23 dígitos o el nombre de una de las partes, indicando si es persona natural o jurídica. Responde despacho, departamento, fechas y las partes procesales ya separadas por rol; consultando por radicado agrega el detalle —ponente, tipo y clase de proceso, ubicación del expediente— y las últimas actuaciones con su anotación. Cuesta 1 crédito.
El estado del hallazgo es siempre informativo cuando hay procesos, nunca de alerta, y es deliberado: la lista incluye tutelas, procesos cerrados y casos donde la persona es la demandante. Pintar eso en rojo convertiría un dato neutro en una acusación. Buscando por nombre, cero procesos es un resultado válido que cobra; un radicado que no existe responde 404 y no cobra.
POST /api/antecedentes-disciplinarios — Procuraduría
Pide docType y docNumber. Responde si la persona registra sanciones o inhabilidades vigentes en el SIRI de la Procuraduría, el nombre completo del titular y el número del certificado para verificarlo ante la entidad. Cuesta 1 crédito.
Cuando hay anotaciones vienen estructuradas —sanción, término, clase, delitos, providencia con autoridad y fechas, e inhabilidades con su vigencia—, no como un bloque de texto que haya que leer a ojo. El campo que resume la fecha de inhabilidad más lejana es el que responde «¿puedo vincular a esta persona hoy?» sin recorrer el resto: un certificado real trajo 323 anotaciones.
POST /api/antecedentes-fiscales — Contraloría
Pide docType y docNumber de una persona natural. Responde si está reportada en el Boletín de Responsables Fiscales de la Contraloría General de la República y el código con el que se comprueba la autenticidad del certificado ante la entidad. Cuesta 1 crédito.
Es el requisito para contratar con el Estado y para posesionarse en un cargo público. Tiene una trampa grave, documentada más abajo con nombre propio: el portal certifica «no reportado» también para documentos que no existen, y su respuesta no trae nombre, así que no hay ninguna señal que distinga a una persona limpia de una cédula mal digitada.
POST /api/antecedentes-judiciales — Policía Nacional
Pide docType y docNumber. Responde si la persona tiene asuntos pendientes con las autoridades judiciales hoy, la leyenda textual del registro y el nombre del titular en orden apellidos-nombres. Cuesta 2 créditos: es el único endpoint de esta familia de antecedentes que paga un resolvedor de captcha en cada consulta viva.
No es una búsqueda de antecedentes penales, y la sección siguiente lo explica con los números encima. Un acierto de caché no cobra y, si la fuente falla, los 2 créditos se devuelven.
POST /api/listas-restrictivas — OFAC
Pide un nombre completo, de persona o de empresa: estas listas no manejan cédulas colombianas. Responde cada coincidencia en la lista SDN y en las consolidadas no-SDN con su puntaje de 0 a 1, el programa de sanciones, la lista de origen y si el emparejamiento fue contra un alias. Cuesta 1 crédito.
No se scrapea: OFAC publica sus cuatro listas para descarga —unos 41.000 nombres con alias— y la búsqueda corre local, así que no depende de que un portal esté arriba. La cobertura incluye los alias, que es donde aparecen las variantes de escritura. Se exige que todas las palabras del nombre aparezcan en el registro: un apellido suelto devuelve muchas coincidencias y un nombre completo, muy pocas.
¿Consultar antecedentes judiciales revela si alguien fue condenado?
No, y es la afirmación más importante de esta página. El endpoint de antecedentes judiciales consulta el portal de la Policía Nacional, que certifica si una persona tiene asuntos pendientes con las autoridades judiciales HOY. Por la Sentencia SU-458 de 2012 de la Corte Constitucional, la consulta que hace un tercero no revela condenas ya cumplidas ni prescritas. No es un historial penal, y venderlo como tal sería vender otra cosa.
El dato no es teórico. Sobre unas 400 consultas de prueba, entre ellas decenas de personas condenadas por narcotráfico y homicidio tomadas de las listas de OFAC, ninguna devolvió antecedentes en true. Cero positivos. Quien integre esta consulta creyendo que filtra condenados va a tener un filtro que deja pasar a todo el mundo sin que nadie se entere.
Lo que sí se puede leer con criterio es la leyenda textual, y por eso se devuelve palabra por palabra en vez de reducirla a una bandera. El portal usa dos frases distintas para el caso sin asuntos pendientes y no son sinónimas. En nuestra muestra, «no tiene asuntos pendientes con las autoridades judiciales» apareció en el 95 % de la población general y en el 79 % de los condenados de OFAC; «actualmente no es requerido» apareció en el 5 % y el 21 % respectivamente. Es cuatro veces más frecuente entre condenados. No alcanza para afirmar qué significa cada una —y no lo afirmamos—, pero sí para que quien integra aplique su criterio sobre el texto en lugar de sobre un booleano que ya perdió la información.
Para el riesgo penal y reputacional de verdad, la combinación útil es otra: los antecedentes disciplinarios traen las sanciones penales con delito, providencia e inhabilidad vigente; los procesos judiciales dicen si hay causas abiertas y en qué van; y las listas restrictivas cruzan contra las sanciones de OFAC. Ninguna de las tres es un certificado de antecedentes penales, que en Colombia solo puede pedir el propio titular.
¿Qué NO puede verificar esta API, y por qué lo publicamos?
Una API de verificación que solo publica lo que sí hace es un folleto. Estos son los huecos que encontramos midiendo, y van escritos porque un cliente que los desconoce toma decisiones sobre un dato que cree tener.
La Contraloría certifica «limpio» a documentos que no existen. Probamos su portal con el documento 0000000 —siete ceros, que no identifican a nadie— y devolvió un certificado normal: sin antecedentes, «no se encuentra reportado como responsable fiscal», con su código de verificación y todo. Lo mismo con permiso de protección temporal y con permiso especial de permanencia. Y esa respuesta no trae el nombre del titular, así que no hay señal alguna que permita distinguir «esta persona está limpia» de «este documento no existe». Quien digite mal una cédula recibe un certificado tranquilizador sobre nadie, y lo paga. No es un defecto nuestro, el portal es así; es la razón por la que la consulta de nombre por documento debe ir primero en la cadena.
El portal de la Policía tiene la misma trampa en versión más suave: cuando el documento no figura en el registro civil, omite la línea del nombre y el veredicto llega igual. Por eso devolvemos el campo del nombre tal como viene, vacío incluido: un nombre en blanco no es un hueco de nuestro parseo, es la señal de que ese documento probablemente no existe.
Las notificaciones rojas de INTERPOL están escritas y apagadas. La API pública de INTERPOL funciona, pero responde 403 desde las siete salidas de red que probamos —residencial en Colombia, proxies comerciales, nuestro servidor, un droplet y salidas en cinco países— y también desde un navegador real. Mientras no haya una salida que acepte, ese endpoint responde 503 y no cobra. Preferimos un 503 honesto a una lista vacía que se lea como «no aparece en INTERPOL».
No hay biometría. PlacApi no devuelve fotografía, huella, firma ni estado de la cédula: no tenemos acceso a la base de identificación de la Registraduría y no vamos a insinuar que sí. Lo único que sale de esa entidad es el censo electoral —el puesto y la mesa donde vota una persona, que es información pública—, y eso no verifica una identidad: dice dónde vota quien tenga ese número, no que quien lo presenta sea su titular. Tampoco hay historial crediticio de las centrales de riesgo, que se rige por la Ley 1266 de 2008 y exige autorización expresa del titular. Y la consulta de afiliación del ADRES quedó bloqueada por su captcha, con evidencia de que los resolvedores comerciales no lo vencen; la pregunta de a qué EPS está afiliada una persona la responde el RUAF, que sí está vivo.
¿En qué orden se encadenan las consultas para no gastar créditos de más?
Empieza siempre por la consulta de nombre por documento. Cuesta 1 crédito, responde en menos de un segundo en el caso mayoritario y hace dos cosas que ninguna otra hace: confirma que el documento existe y devuelve el nombre. Si no existe, responde 404 sin cobrar y ahí se acaba la cadena. Un dígito mal digitado deja de costar diez consultas y, sobre todo, deja de producir un informe limpio sobre una persona que no es.
Con el nombre en la mano ya se pueden lanzar las consultas que buscan por nombre y no por documento: las listas de OFAC, que son la única vía para las sanciones internacionales, y los procesos judiciales cuando no se tiene el radicado. Sin ese paso previo hay que confiar en el nombre que escribió el usuario, que es justamente donde entran los homónimos y los errores de digitación.
Después van las de documento, y conviene lanzarlas en paralelo porque son independientes entre sí: disciplinarios, fiscales, judiciales y Sisbén. Las de antecedentes se cachean 24 horas —mucho menos que los 30 días de lo vehicular, y a propósito: un antecedente cambia y una ficha técnica no—, así que reconsultar a la misma persona dentro del día no vuelve a cobrar.
Deja el RUAF para el final y fuera de la petición web. Cuesta 2 créditos, exige la fecha de expedición del documento —que hay que pedirle al usuario porque no sale de ninguna otra consulta— y tarda decenas de segundos. Es el candidato natural a una cola de trabajos, no a un formulario con alguien mirando un indicador de carga.
Para verificar una empresa el orden es otro y más corto. El registro mercantil confirma que la matrícula existe, si está activa y quién es el representante legal, con su documento; con ese documento se arranca de nuevo la cadena de persona sobre el representante, que es donde suele estar el riesgo real; y los contratos con el Estado dicen si además le ha vendido al sector público y por cuánto.
¿Qué es una API de verificación de identidad y qué resuelve en Colombia?
Es un conjunto de endpoints REST que consultan registros oficiales para responder tres preguntas: si un documento existe y a quién pertenece, si esa persona o empresa tiene anotaciones que impidan contratarla o vincularla, y qué relación tiene con el Estado. En Colombia esos datos viven repartidos entre la Procuraduría, la Contraloría, la Policía, el DNP, el Ministerio de Salud, las cámaras de comercio, Colombia Compra Eficiente, la Función Pública y la Rama Judicial, cada uno con su captcha y su formato. PlacApi los normaliza en once consultas con el mismo contrato JSON y cobro por consulta.
¿Es legal consultar la cédula o los antecedentes de otra persona?
La consulta se hace sobre registros que las propias entidades publican para verificación, no sobre bases privadas. Aun así, quien consulta es responsable de tener una finalidad legítima y de cumplir la Ley 1581 de 2012 de protección de datos: que un registro sea público no vuelve legítimo cualquier uso de él. En el uso por API, PlacApi actúa como encargado del tratamiento y el cliente como responsable; las condiciones y los tiempos de retención están en los términos y en el acuerdo de nivel de servicio.
Ejemplo de solicitud
POST https://placapi.com/api/cedula. Autenticación por API key en el header x-api-key. Los datos del ejemplo son ficticios.
curl -X POST 'https://placapi.com/api/cedula' \
-H 'x-api-key: pk_live_TU_CLAVE' \
-H 'content-type: application/json' \
-d '{"docType":"CC","docNumber":"1020304050"}'Ejemplo de respuesta
Respuesta JSON (fragmento con los campos de esta consulta; la API integral devuelve todas las fuentes en el mismo objeto).
{
"source": "identidad",
"status": "info",
"data": {
"documento": "1020304050",
"tipoDocumento": "Cédula de ciudadanía",
"nombre": "JUAN CARLOS PEREZ GOMEZ",
"partes": [
"JUAN",
"CARLOS",
"PEREZ",
"GOMEZ"
],
"sexo": "Masculino",
"edad": 38,
"municipio": "CALI",
"departamento": "VALLE DEL CAUCA",
"origen": "registro-social"
},
"mode": "live",
"fetchedAt": "2026-07-24T15:04:05.000Z",
"cost": 1
}Explicación campo por campo
| Campo | Tipo | Descripción |
|---|---|---|
| nombre | string | Nombre completo del titular según el registro que respondió. Es el dato que permite descartar que la cédula esté mal digitada antes de encadenar el resto de consultas. |
| partes | array | El nombre ya separado en palabras. Los nombres colombianos suelen tener dos nombres y dos apellidos, pero no siempre, y las partículas (DE LA HOZ) no son un apellido aparte: partir la cadena en el cliente es donde se cometen los errores. |
| origen | string | registro-social o certificado. Dice cuál de los dos registros respondió, y con eso por qué unos campos vienen y otros no, en vez de dejar al integrador adivinando. |
| sexo, edad, municipio, departamento | string | number | Solo cuando responde el registro social. Vienen vacíos si la consulta la resolvió el certificado de la Procuraduría. |
| status | string | Califica el hallazgo, no la llamada. En los endpoints de antecedentes vale ok, warn o danger según lo encontrado; una consulta correcta que encuentra una sanción responde 200 con danger. |
| cost | number | Créditos cobrados por esa llamada. Llega en 0 cuando la respuesta salió de caché, así que el consumo real se audita desde la propia respuesta. |
| fetchedAt | string (ISO 8601) | Instante en que se obtuvo el dato. En verificación importa más que en nada: un certificado de hace tres meses no es el mismo hecho que uno de hoy. |
Tiempo de respuesta
Menos de un segundo para el nombre por documento cuando lo resuelve el registro social, e instantáneo para las listas de OFAC, que se buscan localmente. Unos segundos para los tres de antecedentes, el registro mercantil, el SECOP, las declaraciones de bienes y rentas y los procesos judiciales: la consulta judicial completa, con resolución de captcha incluida, se midió en 4,6 segundos. La excepción es el RUAF, que tarda decenas de segundos porque el informe lo genera un visor de reportes del Ministerio que no se puede apurar.
Precio y cobro
1 crédito por consulta con datos, desde 349 COP. El precio por crédito baja por volumen: 349 COP desde 30, 249 COP desde 1.000, 149 COP desde 5.000, 139 COP desde 10.000, 119 COP desde 20.000, 99 COP desde 50.000. Los créditos se compran por adelantado (mínimo 30 = 10.470 COP), no vencen y no hay mensualidad. El mismo precio aplica por la web y por API. Solo se cobra cuando la consulta devuelve datos; por API, las consultas sin resultado (404) tienen 10 gratis al mes por cada tipo de respuesta sin datos y después cobran igual.
Caché y actualización
Las consultas de antecedentes se cachean 24 horas, mucho menos que los 30 días de lo vehicular: un antecedente cambia y una ficha técnica no. El nombre por documento se cachea 10 años, porque los nombres no caducan y un caché corto solo obligaría a volver a pagar por un dato que no se movió. Un acierto de caché nunca cobra, y refresh en true fuerza la consulta viva; esa, si trae datos, cobra.
Seguridad y privacidad
La placa y el documento se usan solo para ejecutar la consulta; el resultado queda en caché temporal. No se almacenan datos de tarjetas (los pagos los procesa Wompi). Ver privacidad y seguridad.
Limitaciones y posibles errores
- Ninguna de estas consultas es un certificado de antecedentes penales. Por la Sentencia SU-458 de 2012 la consulta de un tercero no revela condenas cumplidas o prescritas; ese certificado solo lo puede solicitar el propio titular.
- La Contraloría certifica «no reportado» también para documentos inexistentes, y su respuesta no trae nombre. Sin cruzar antes contra la consulta de nombre por documento, un error de digitación produce un certificado limpio sobre nadie.
- La consulta de antecedentes judiciales falla entre el 3 % y el 6 % de las veces en régimen normal, y sube al 33-45 % después de tandas grandes: el portal de la Policía limita por IP. Está verificado que no es la concurrencia ni el largo del documento; conviene reintentar espaciado y no en ráfaga.
- Las notificaciones rojas de INTERPOL responden 503 y no cobran: la fuente rechaza todas nuestras salidas de red. El endpoint está escrito y apagado hasta conseguir una que acepte.
- El RUAF exige la fecha de expedición del documento y tarda decenas de segundos. Su fecha de corte no es la fecha de la consulta: el Ministerio consolida con rezago, y publicarlas como si fueran la misma haría creer que el dato es de hoy.
- No hay biometría, fotografía, huella ni estado de la cédula ante la Registraduría, ni historial crediticio de las centrales de riesgo, que exige autorización expresa del titular bajo la Ley 1266 de 2008.
- Los registros por nombre —OFAC y procesos judiciales— pueden devolver homónimos. El puntaje de coincidencia y el documento embebido en las observaciones ayudan a descartar, pero la decisión final es de quien consulta.
Códigos de error del endpoint (401, 402, 429, 5xx) en la referencia de errores.
Otras preguntas frecuentes
¿Cuánto cuesta verificar a una persona completa?
+
Depende de qué se considere completa. Una verificación básica —nombre por documento, antecedentes disciplinarios, fiscales y listas de OFAC— son 4 créditos. Sumar los antecedentes judiciales la deja en 6, porque ese endpoint vale 2. Agregar el RUAF la deja en 8. El valor del crédito en pesos y los tramos por volumen están en el bloque de precio de esta misma página: no hay mensualidad, ni mínimo mensual, ni contrato de permanencia.
¿Hay un endpoint que devuelva todo junto?
+
No, y es una decisión deliberada. Un bundle obligaría a pagar consultas que el cliente no necesita y a esperar por la fuente más lenta —el RUAF puede tardar decenas de segundos— antes de devolver nada. Cada endpoint se llama y se paga por separado; los que buscan por documento son independientes entre sí y se pueden lanzar en paralelo desde el mismo backend.
¿Se cobra cuando el registro responde que la persona no tiene antecedentes?
+
Sí, y es la regla que más sorprende. En los endpoints de antecedentes, «no registra» es exactamente el dato que se compró: es lo que sirve para contratar, vincular o posesionar a alguien. Distinto es cuando el producto es el dato mismo y el dato no existe: un documento sin titular, una persona no registrada en el Sisbén o un radicado inexistente responden 404 y no cobran. Un acierto de caché tampoco cobra.
¿Sirve para el KYC de una fintech vigilada?
+
Cubre la parte documental: que el documento exista y pertenezca a quien dice, listas de sanciones, antecedentes y vínculos con el Estado. No cubre la parte biométrica —selfie contra foto, prueba de vida, lectura del chip del documento— ni el historial crediticio de las centrales de riesgo, que exige autorización expresa del titular. Una entidad vigilada suele necesitar las dos piezas, y PlacApi es la primera.
¿Se pueden verificar empresas o solo personas?
+
Las dos. Para empresas, el registro mercantil devuelve estado de la matrícula y representante legal con su documento, el SECOP los contratos con el Estado, y las listas restrictivas buscan la razón social en OFAC. Los procesos judiciales también aceptan persona jurídica indicando el tipo de persona: pedir una empresa como persona natural devuelve vacío en silencio, que se lee como «no tiene procesos» cuando no es cierto.
Seguir explorando
- API de nombre por cédula: quién es el titular de un documento
- API de antecedentes judiciales (Policía Nacional)
- API de antecedentes disciplinarios (Procuraduría)
- API de antecedentes fiscales (Contraloría)
- API de listas restrictivas y lista Clinton (OFAC)
- API de procesos judiciales de la Rama Judicial
- API del RUES: registro mercantil por NIT
- API del SECOP II: contratos con el Estado
- API de declaraciones de bienes y rentas (Función Pública)
- API del RUAF: EPS, pensión, ARL y caja de compensación
- API del Sisbén IV: grupo y nivel por documento
- API del RUI: Registro Universal de Ingresos
- API de licencias de conducción por cédula
- Sandbox, API key y documentación
- API de puesto de votación por cédula
Última revisión: 20 de agosto de 2026 · Versión de la API: v1 · Fuentes y metodología