Búsqueda de persona
A partir de un nombre o de un DNI obtén en una sola llamada el DNI, el RUC, los nombres y apellidos separados y el estado/condición del contribuyente en SUNAT. Combina internamente las consultas por razón social, DNI y RUC.
Alcance: SUNAT solo indexa por nombre a personas que tienen o tuvieron RUC
(trabajadores independientes, negocios unipersonales, arrendadores…). Una persona natural
sin RUC no aparecerá al buscar por nombre; por DNI se devuelve el nombre pero sin estado SUNAT.
URL
GET /api/persona?nombre=PEREZ+GARCIA+JUAN
GET /api/persona?dni=12345678&detalle=1 Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| nombre | string | Nombre y/o apellidos de la persona. Mínimo 3 caracteres. Excluyente con dni. |
| dni | string | DNI de 8 dígitos. Excluyente con nombre. |
| detalle | 1 | true (opcional) | Adjunta la ficha RUC completa (dirección, actividad, tipo, fecha de inscripción…) en las primeras 5 coincidencias. Consume más tiempo por request. |
Ejemplo de request
curl -X GET "https://apisperu.gsalinas.site/api/persona?nombre=PEREZ+GARCIA+JUAN" \
-H "Authorization: Bearer apk_demo_apisperu_pub_2BfHK7nN4tV9X8jE3LpQ5sUcZ" Ejemplo de response
{
"ok": true,
"data": {
"criterio": "nombre",
"query": "PEREZ GARCIA JUAN",
"total": 2,
"matches": [
{
"dni": "45678912",
"ruc": "10456789123",
"nombreCompleto": "PEREZ GARCIA JUAN CARLOS",
"apellidoPaterno": "PEREZ",
"apellidoMaterno": "GARCIA",
"nombres": "JUAN CARLOS",
"estado": "ACTIVO",
"condicion": "HABIDO"
},
{
"dni": "07123456",
"ruc": "10071234561",
"nombreCompleto": "PEREZ GARCIA JUAN",
"apellidoPaterno": "PEREZ",
"apellidoMaterno": "GARCIA",
"nombres": "JUAN",
"estado": "BAJA DEFINITIVA",
"condicion": "NO HABIDO"
}
],
"fuente": "sunat-scraper",
"aviso": "Se omitieron 1 RUC de empresas (20xxxxxxxxx). Use /api/nombre para razón social."
}
} Campos de cada coincidencia
| Campo | Tipo | Descripción |
|---|---|---|
| dni | string | DNI derivado del RUC de persona natural (dígitos 3–10 del RUC 10xxxxxxxxY). |
| ruc | string | RUC de persona natural. Vacío si la persona no tiene RUC (solo con criterio dni). |
| nombreCompleto | string | Nombre tal como figura en SUNAT (APELLIDOS NOMBRES). |
| apellidoPaterno / apellidoMaterno / nombres | string | Nombre descompuesto (heurístico; los apellidos compuestos con DE/DEL/LA se mantienen juntos). |
| estado | string | Estado del contribuyente: ACTIVO, BAJA DEFINITIVA, SUSPENSION TEMPORAL… |
| condicion | string | Condición del domicilio fiscal: HABIDO, NO HABIDO… |
| ficha | object (opcional) | Ficha RUC completa; solo si se envió detalle=1. Mismo formato que /api/ruc. |
La búsqueda por nombre devuelve hasta 20 coincidencias (truncado: true si hubo más).
Los RUC de empresas (20…) se descartan; para ellos use /api/nombre.
Errores específicos
400: faltanombreodni, se enviaron ambos, o el formato es inválido.404: (criterio dni) el DNI no existe en ninguna fuente.200contotal: 0: (criterio nombre) sin coincidencias en SUNAT.503: SUNAT no disponible temporalmente; reintente.