Apariencia
DNI
Consultas de personas por número de DNI. Los textos (nombres, dirección) vienen en MAYÚSCULAS, tal como los publica la fuente.
| Campo común | Descripción |
|---|---|
fuente | Siempre consultape.pro. |
desde_cache | true si la respuesta salió de datos guardados en ConsultaPe. |
actualizado_at | Última actualización de los datos (ISO 8601 UTC). |
Consultar DNI
GET /v1/dni/{numero} · Módulo dni
Nombres y apellidos de un DNI.
| Parámetro | En | Tipo | Requerido | Descripción |
|---|---|---|---|---|
numero | ruta | string | Sí | DNI de 8 dígitos. |
bash
curl "https://api.consultape.pro/v1/dni/12345678" \
-H "Authorization: Bearer $CONSULTAPE_TOKEN"js
const respuesta = await fetch('https://api.consultape.pro/v1/dni/12345678', {
headers: {
Authorization: `Bearer ${process.env.CONSULTAPE_TOKEN}`,
},
});
const datos = await respuesta.json();
if (datos.success) console.log(datos.result);
else console.error(respuesta.status, datos.message);php
<?php
$ch = curl_init('https://api.consultape.pro/v1/dni/12345678');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('CONSULTAPE_TOKEN')],
CURLOPT_TIMEOUT => 120,
]);
$cuerpo = curl_exec($ch);
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$datos = json_decode($cuerpo, true);
if ($datos['success']) {
print_r($datos['result']);
} else {
echo "Error $http: {$datos['message']}";
}python
import os
import requests
r = requests.get(
"https://api.consultape.pro/v1/dni/12345678",
headers={"Authorization": f"Bearer {os.environ['CONSULTAPE_TOKEN']}"},
timeout=120,
)
datos = r.json()
print(datos["result"] if datos["success"] else f"Error {r.status_code}: {datos['message']}")Respuesta:
json
{
"success": true,
"message": "Consulta exitosa",
"result": {
"numero": "12345678",
"nombres": "JUAN CARLOS",
"apellido_paterno": "PEREZ",
"apellido_materno": "GOMEZ",
"nombre_completo": "PEREZ GOMEZ JUAN CARLOS",
"codigo_verificacion": 1,
"fuente": "consultape.pro",
"desde_cache": false,
"actualizado_at": "2026-10-04T15:20:11.000Z"
}
}nombre_completo=apellido_paterno apellido_materno nombres.codigo_verificacion: dígito verificador del DNI (el que aparece en el documento físico).- Sin datos (HTTP 200):
{ "success": false, "message": "No se encontraron datos para el DNI 12345678.", "result": null }. - DNI inválido (HTTP 400):
El DNI debe tener 8 dígitos numéricos.
Buscar DNI por nombres
POST /v1/dni/buscar-por-nombre · Módulo dni.nombre
Busca personas por nombres y apellidos. Las coincidencias exactas (sin tildes ni distinción de mayúsculas) van primero.
| Parámetro | En | Tipo | Requerido | Descripción |
|---|---|---|---|---|
nombres | cuerpo | string | Sí | 1 a 80 caracteres. |
apellido_paterno | cuerpo | string | Sí | 1 a 80 caracteres. |
apellido_materno | cuerpo | string | Sí | 1 a 80 caracteres. |
bash
curl -X POST "https://api.consultape.pro/v1/dni/buscar-por-nombre" \
-H "Authorization: Bearer $CONSULTAPE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"nombres": "Juan Carlos", "apellido_paterno": "Pérez", "apellido_materno": "Gómez"}'js
const respuesta = await fetch('https://api.consultape.pro/v1/dni/buscar-por-nombre', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.CONSULTAPE_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
nombres: 'Juan Carlos',
apellido_paterno: 'Pérez',
apellido_materno: 'Gómez',
}),
});
const datos = await respuesta.json();
if (datos.success) console.log(datos.result);
else console.error(respuesta.status, datos.message);php
<?php
$ch = curl_init('https://api.consultape.pro/v1/dni/buscar-por-nombre');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('CONSULTAPE_TOKEN'), 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'nombres' => 'Juan Carlos',
'apellido_paterno' => 'Pérez',
'apellido_materno' => 'Gómez',
]),
CURLOPT_TIMEOUT => 120,
]);
$cuerpo = curl_exec($ch);
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$datos = json_decode($cuerpo, true);
if ($datos['success']) {
print_r($datos['result']);
} else {
echo "Error $http: {$datos['message']}";
}python
import os
import requests
r = requests.post(
"https://api.consultape.pro/v1/dni/buscar-por-nombre",
headers={"Authorization": f"Bearer {os.environ['CONSULTAPE_TOKEN']}"},
json={
"nombres": "Juan Carlos",
"apellido_paterno": "Pérez",
"apellido_materno": "Gómez",
},
timeout=120,
)
datos = r.json()
print(datos["result"] if datos["success"] else f"Error {r.status_code}: {datos['message']}")Respuesta:
json
{
"success": true,
"message": "Se encontraron 2 coincidencias",
"result": {
"total": 2,
"resultados": [
{
"numero": "12345678",
"nombres": "JUAN CARLOS",
"apellido_paterno": "PEREZ",
"apellido_materno": "GOMEZ",
"nombre_completo": "JUAN CARLOS PEREZ GOMEZ",
"coincidencia_exacta": true
},
{
"numero": "87654321",
"nombres": "JUAN CARLOS ALBERTO",
"apellido_paterno": "PEREZ",
"apellido_materno": "GOMEZ",
"nombre_completo": "JUAN CARLOS ALBERTO PEREZ GOMEZ",
"coincidencia_exacta": false
}
],
"fuente": "consultape.pro"
}
}- Aquí
nombre_completo=nombres apellido_paterno apellido_materno(orden de la fuente). - Sin resultados (HTTP 200):
No se encontraron coincidencias. - Falta un campo (HTTP 400):
Datos inválidoscon el detalle enresult.errores.
Fecha de nacimiento
GET /v1/dni/{numero}/fecha-nacimiento · Módulo dni.fecha_nacimiento
| Parámetro | En | Tipo | Requerido | Descripción |
|---|---|---|---|---|
numero | ruta | string | Sí | DNI de 8 dígitos. |
bash
curl "https://api.consultape.pro/v1/dni/12345678/fecha-nacimiento" \
-H "Authorization: Bearer $CONSULTAPE_TOKEN"js
const respuesta = await fetch('https://api.consultape.pro/v1/dni/12345678/fecha-nacimiento', {
headers: {
Authorization: `Bearer ${process.env.CONSULTAPE_TOKEN}`,
},
});
const datos = await respuesta.json();
if (datos.success) console.log(datos.result);
else console.error(respuesta.status, datos.message);php
<?php
$ch = curl_init('https://api.consultape.pro/v1/dni/12345678/fecha-nacimiento');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('CONSULTAPE_TOKEN')],
CURLOPT_TIMEOUT => 120,
]);
$cuerpo = curl_exec($ch);
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$datos = json_decode($cuerpo, true);
if ($datos['success']) {
print_r($datos['result']);
} else {
echo "Error $http: {$datos['message']}";
}python
import os
import requests
r = requests.get(
"https://api.consultape.pro/v1/dni/12345678/fecha-nacimiento",
headers={"Authorization": f"Bearer {os.environ['CONSULTAPE_TOKEN']}"},
timeout=120,
)
datos = r.json()
print(datos["result"] if datos["success"] else f"Error {r.status_code}: {datos['message']}")Respuesta:
json
{
"success": true,
"message": "Consulta exitosa",
"result": {
"numero": "12345678",
"nombres": "JUAN CARLOS",
"fecha_nacimiento": "1980-10-25",
"edad": 45,
"fuente": "consultape.pro",
"desde_cache": false
}
}nombrespuede sernullsi la fuente no lo devolvió.- Sin datos (HTTP 200):
No se encontró la fecha de nacimiento del DNI.Si una búsqueda reciente no encontró la fecha, no se vuelve a consultar durante 30 días.
RUC asociado a un DNI
GET /v1/dni/{numero}/ruc · Módulo dni.ruc
RUC de persona natural (10 + DNI + dígito verificador) asociado al DNI.
| Parámetro | En | Tipo | Requerido | Descripción |
|---|---|---|---|---|
numero | ruta | string | Sí | DNI de 8 dígitos. |
bash
curl "https://api.consultape.pro/v1/dni/12345678/ruc" \
-H "Authorization: Bearer $CONSULTAPE_TOKEN"js
const respuesta = await fetch('https://api.consultape.pro/v1/dni/12345678/ruc', {
headers: {
Authorization: `Bearer ${process.env.CONSULTAPE_TOKEN}`,
},
});
const datos = await respuesta.json();
if (datos.success) console.log(datos.result);
else console.error(respuesta.status, datos.message);php
<?php
$ch = curl_init('https://api.consultape.pro/v1/dni/12345678/ruc');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('CONSULTAPE_TOKEN')],
CURLOPT_TIMEOUT => 120,
]);
$cuerpo = curl_exec($ch);
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$datos = json_decode($cuerpo, true);
if ($datos['success']) {
print_r($datos['result']);
} else {
echo "Error $http: {$datos['message']}";
}python
import os
import requests
r = requests.get(
"https://api.consultape.pro/v1/dni/12345678/ruc",
headers={"Authorization": f"Bearer {os.environ['CONSULTAPE_TOKEN']}"},
timeout=120,
)
datos = r.json()
print(datos["result"] if datos["success"] else f"Error {r.status_code}: {datos['message']}")Respuesta:
json
{
"success": true,
"message": "Consulta exitosa",
"result": {
"numero": "12345678",
"ruc": "10123456781",
"razon_social": "PEREZ GOMEZ JUAN CARLOS",
"estado": "ACTIVO",
"condicion": "HABIDO",
"fuente": "consultape.pro",
"desde_cache": false
}
}estadoycondicionpueden venir ennullsi no están disponibles.- Sin RUC (HTTP 200):
No se encontró un RUC asociado al DNI ingresado.