API de DNI Perú: nombres y apellidos por DNI o carné de extranjería

PlacApi (placapi.com) ofrece /api/identidad-pe, una API REST que devuelve en JSON los nombres y apellidos de una persona a partir de su DNI peruano de 8 dígitos o de su carné de extranjería (CE), contra el registro de personas del Ministerio de Transportes y Comunicaciones. Cuesta 1 crédito por consulta, desde 349 COP, sin mensualidad, con la misma API key y el mismo saldo que el resto del catálogo. El documento se valida antes de consultar: un DNI que no tenga 8 dígitos responde 400 y no cobra. Devuelve el nombre completo y, por separado, nombres y apellidos; lo que el registro no publica —fecha de nacimiento, sexo, si la persona vive— llega en null y queda declarado en cobertura.noPublicados.

Qué problema resuelve

Un formulario que pide el DNI y el nombre por separado acepta cualquier combinación: el usuario escribe un número ajeno, o el suyo con un nombre inventado, y el sistema no tiene cómo notarlo. Validar que el nombre corresponde al documento en el momento del registro corta ese fraude en la puerta, pero exige una consulta que un backend pueda hacer sin intervención humana, y en Perú no hay una consulta pública de identidad pensada para eso. Este endpoint la entrega como una llamada REST con un contrato estable.

Para quién sirve

Fintech, billeteras y plataformas de crédito que validan clientes peruanos en el registro, marketplaces y plataformas de movilidad que dan de alta conductores y vendedores, empresas de cobranza que depuran bases, áreas de recursos humanos que verifican candidatos, y equipos que ya integraron la verificación de identidad colombiana de PlacApi y quieren cubrir Perú con el mismo cliente.

Datos requeridos

  • documento — DNI de 8 dígitos o carné de extranjería de 9 a 12, sin puntos ni espacios. Alias aceptados: dni y doc.
  • tipoDocumento — opcional: DNI (por defecto) o CE para carné de extranjería.
  • refresh — opcional: salta la caché y vuelve a preguntarle al registro.

Fuentes y cobertura

  • MTC — registro de personas del Portal Único del ConductorEl Ministerio de Transportes y Comunicaciones mantiene un registro de personas por DNI y carné de extranjería para sus trámites de conductores. Responde nombres y apellidos tanto de personas con licencia como sin ella. No publica fecha de nacimiento, sexo ni estado vital.

¿Qué API devuelve el nombre de una persona por su DNI en Perú?

PlacApi publica /api/identidad-pe: se le envía el DNI (o el CE con tipoDocumento: CE) y responde nombre, nombres y apellidos. La respuesta usa el mismo sobre que el resto del catálogo —source, status, data, mode, fetchedAt— y el mismo bloque cobertura, que dice campo por campo qué publica el registro y qué no.

PlacApi no es RENIEC ni consulta a RENIEC: el dato sale del registro de personas del MTC. Para el caso de uso habitual —confirmar que un nombre corresponde a un documento— eso basta; si tu proceso exige la fecha de nacimiento o el estado vital, esta fuente no los tiene y la respuesta lo declara en vez de inventarlos.

Qué responde /api/identidad-pe y qué no
Campo¿Lo publica el registro?Qué llega
nombre, nombres, apellidosSíEl texto tal como lo tiene el registro, en mayúsculas
fechaNacimiento, edadNonull, listado en cobertura.noPublicados
sexoNonull, listado en cobertura.noPublicados
isAliveNonull, listado en cobertura.noPublicados

Cómo comparar el nombre que escribió el usuario con el que devuelve la API

Comparar cadenas exactas falla con casos reales: tildes que el usuario pone y el registro no, segundos nombres omitidos, apellidos compuestos, la partícula «VDA DE» en el apellido de casada. Lo que funciona es normalizar las dos cadenas (mayúsculas, sin tildes, sin dobles espacios) y exigir que el primer apellido coincida y que al menos un nombre coincida, en vez de exigir la cadena completa.

Por eso la respuesta trae nombres y apellidos por separado además de nombre: el corte entre nombres y apellidos ya viene hecho por el registro y no hay que adivinarlo con una regla sobre la cantidad de palabras.

DNI y carné de extranjería en el mismo endpoint

Perú tiene una población extranjera residente grande y una verificación que solo acepta DNI deja fuera a buena parte de los usuarios reales de una app de movilidad o de una fintech. /api/identidad-pe acepta los dos: el DNI por defecto y el CE con tipoDocumento: CE. Cada tipo se valida por su largo antes de consultar: 8 dígitos para el DNI, de 9 a 12 para el CE. Un documento que no cumple responde 400 sin cobrar.

¿Cuánto cuesta la API de DNI Perú?

1 crédito por consulta con datos: 349 COP en el tramo de entrada y hasta 99 COP por volumen, sin mensualidad y con créditos que no vencen. Un DNI mal formado responde 400 sin cobrar, un fallo del registro reembolsa el crédito reservado y una consulta repetida que sale del caché tampoco cobra.

¿Es una API de RENIEC?

No. PlacApi no es RENIEC ni consulta a RENIEC: los nombres salen del registro de personas del Ministerio de Transportes y Comunicaciones, que responde por DNI y carné de extranjería. Por eso la respuesta trae nombres y apellidos pero no fecha de nacimiento, sexo ni estado vital, y lo declara en cobertura.noPublicados.

Ejemplo de solicitud

POST https://placapi.com/api/identidad-pe. Autenticación por API key en el header x-api-key. Los datos del ejemplo son ficticios.

Ejemplo cURL de la solicitud
curl -X POST 'https://placapi.com/api/identidad-pe' \
  -H 'x-api-key: pk_live_TU_CLAVE' \
  -H 'content-type: application/json' \
  -d '{"documento":"00000000","tipoDocumento":"DNI"}'

Parámetros, errores y ejemplos en cURL, JavaScript y Python: documentación de POST /api/identidad-pe.

Ejemplo de respuesta

Respuesta JSON (fragmento con los campos de esta consulta; la API integral devuelve todas las fuentes en el mismo objeto).

Ejemplo de respuesta JSON
{
  "source": "identidad",
  "status": "ok",
  "data": {
    "documento": "00000000",
    "tipoDocumento": "DNI",
    "nombre": "JUAN CARLOS PEREZ GOMEZ",
    "nombres": "JUAN CARLOS",
    "apellidos": "PEREZ GOMEZ",
    "fechaNacimiento": null,
    "edad": null,
    "sexo": null,
    "isAlive": null,
    "cobertura": {
      "nombre": true,
      "fechaNacimiento": false,
      "sexo": false,
      "isAlive": false,
      "noPublicados": [
        "fechaNacimiento",
        "sexo",
        "isAlive"
      ]
    }
  },
  "mode": "live",
  "fetchedAt": "2026-11-07T15:04:05.000Z"
}

Explicación campo por campo

CampoTipoDescripción
data.nombrestringNombre completo tal como lo tiene el registro.
data.nombresstringSolo los nombres. El corte lo hace el registro, no una regla sobre la cantidad de palabras.
data.apellidosstringSolo los apellidos, incluidas partículas como «VDA DE».
data.tipoDocumentostringDNI o CE, el tipo con el que se consultó.
data.cobertura.noPublicadosstring[]Campos que el registro no publica y por eso llegan en null: fechaNacimiento, sexo e isAlive.
modestringlive = dato real de la fuente; si salió del caché lo dice fromCache: true.

Tiempo de respuesta

Del orden de 5 a 20 segundos en consulta viva (medido el 7 de noviembre de 2026: 15,6 s), porque la consulta sale por una conexión peruana y respeta el ritmo que tolera el registro. Los nombres no caducan y quedan en caché: la segunda consulta del mismo documento responde de inmediato y no cobra.

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. Por la web, el informe completo por placa cuesta 3 créditos. 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

Los nombres no cambian, así que la respuesta queda en caché por largo tiempo y un hit de caché no cobra. refresh en true vuelve a preguntarle al registro y, 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

  • Solo nombres y apellidos. Fecha de nacimiento, edad, sexo y estado vital no existen en esta fuente y llegan en null, declarados en cobertura.noPublicados.
  • No es una consulta a RENIEC ni reemplaza una verificación biométrica: confirma que un nombre corresponde a un documento, no que quien está al otro lado de la pantalla sea esa persona.
  • Si el registro no responde, la API devuelve 502 source_error sin cobrar y no sustituye el dato por un padrón alternativo.
  • Quien consulta responde por tener una finalidad legítima para tratar el dato, conforme a la Ley 29733 de protección de datos personales del Perú.

Códigos de error del endpoint (401, 402, 429, 5xx) en la referencia de errores.

Otras preguntas frecuentes

¿Cómo obtener el nombre de una persona por su DNI desde una API?

+

Con una llamada POST a /api/identidad-pe con el documento en el cuerpo y la API key en el header x-api-key. La respuesta trae nombre completo, nombres y apellidos por separado. Para un carné de extranjería se agrega tipoDocumento: CE.

¿Acepta carné de extranjería?

+

Sí, con tipoDocumento: CE y un número de 9 a 12 caracteres. El DNI es el tipo por defecto y exige 8 dígitos exactos; un largo distinto responde 400 sin cobrar.

¿Devuelve la fecha de nacimiento o el sexo?

+

No. El registro del que sale el dato solo publica nombres y apellidos. Esos campos existen en el contrato para que el parser sea el mismo que en Colombia, y en Perú llegan en null con su nombre en cobertura.noPublicados.

¿Puedo usar la misma API key para validar identidad en Colombia y Perú?

+

Sí. La misma clave y el mismo saldo sirven para /api/identidad-pe y para la verificación de identidad colombiana, con el mismo precio por crédito y el mismo sobre de respuesta.

Seguir explorando

Última revisión: 7 de noviembre de 2026 · Versión de la API: v1 · Fuentes y metodología