API DNI

API DNI es un servicio de consultas de DNI RENIEC y RUC SUNAT. Los principales beneficios de usar el servicio son:

  • Búsquedas concurrentes masivas con resultados en segundos.
  • El formato de salida de las consultas es en JSON.
  • Soporte para la integración fácil y rápida en su sistema.
  • Brindamos el código y clave Token para implementarlo en cualquier lenguaje de programación.
  • Soporta los lenguajes más populares: Python, PHP, JAVA, C#, Kotlin, GO, Shell.

CONSULTA DE DNI

El servicio API REST para consultas de DNI proporciona una manera eficiente y segura de obtener información asociada a un número de Documento Nacional de Identidad (DNI) en Perú. Utiliza una solicitud GET a través de HTTP y requiere un token de autorización (bearer token) para autenticar y autorizar la consulta.

Detalles Técnicos

Aspecto Técnico Descripción
URL de la API https://apidni.com/api/v2/dni/{dni}
Método HTTP GET
Parámetros de la URL {dni}: Número de DNI a consultar
Autenticación Bearer Token

Instrucciones de Uso

Para realizar una consulta de DNI a través de la API, sigue estos pasos:

  1. Preparación del Token: Obtén un bearer token válido para autenticarte. Este token se incluirá en la cabecera de autorización de tu solicitud HTTP.
  2. Realización de la Consulta:
    • Construye una solicitud GET utilizando la URL proporcionada, sustituyendo {dni} con el número de DNI específico que deseas consultar.
    • Incluye el token de autorización en la cabecera de la solicitud HTTP (Authorization: Bearer {token}).
  3. Respuesta de la API: La API responderá con los datos asociados al DNI consultado en formato JSON.

A continuación se muestra un ejemplo de resultado de búsqueda de DNI para el plan Oro. La respuesta es exitosa y el codigo es > 0


{
	"respuesta": "Solicitud exitosa",
	"data": {
		"dni": "06492645",
		"apellido_paterno": "VILLANUEVA",
		"apellido_materno": "BRANDA",
		"nombres": "PABLO",
		"fecha_nacimiento": "17-09-1936",
		"genero": "M",
		"estado_civil": "DIVORCIADO",
		"direccion": "AV. GUARDIA CIVIL 821 DPTO. 101 URB. LA CAMPIÑA - TORRE A",
		"ubigeo": "140108",
		"distrito": "CHORRILLOS",
		"provincia": "LIMA",
		"departamento": "LIMA",
		"restriccion": "NINGUNA",
		"foto": "base64"
		},
	"codigo": 1
}

Consideraciones Adicionales

  • Asegúrate de manejar adecuadamente el token de autorización para evitar accesos no autorizados.
  • Verifica la disponibilidad y el formato de los datos retornados por la API según las especificaciones de la misma.

CONSULTA DE DNI CON POSTMAN

En el campo de URL, selecciona la opción GET e introduce la siguiente dirección: https://apidni.com/api/v2/dni/06492645. Luego, en la pestaña "Authorization", sección "Auth Type", elige la opción "Bearer Token" e ingresa el valor respectivo en el campo "Token".

Imagen

CODIGO PYTHON


import http.client

conn = http.client.HTTPSConnection("apidni.com", 443)
payload = ''
headers = {
	'Authorization': 'Bearer 5325dc36374cf214c04f40dda945320d'
}
conn.request("GET", "/api/v2/dni/06492645", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))	
		

CODIGO PHP


$curl = curl_init();

curl_setopt_array($curl, array(
	  CURLOPT_URL => 'https://apidni.com/api/v2/dni/06492645',
	  CURLOPT_RETURNTRANSFER => true,
	  CURLOPT_ENCODING => '',
	  CURLOPT_MAXREDIRS => 10,
	  CURLOPT_TIMEOUT => 0,
	  CURLOPT_FOLLOWLOCATION => true,
	  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
	  CURLOPT_CUSTOMREQUEST => 'GET',
	  CURLOPT_HTTPHEADER => array(
		'Authorization: Bearer 5325dc36374cf214c04f40dda945320d'
	  ),
	));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
		

CODIGO JAVA


OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("https://apidni.com/api/v2/dni/06492645")
  .method("GET", body)
  .addHeader("Authorization", "Bearer 5325dc36374cf214c04f40dda945320d")
  .build();
Response response = client.newCall(request).execute();	
		

CODIGO C#


var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://apidni.com/api/v2/dni/06492645");
request.Headers.Add("Authorization", "Bearer 5325dc36374cf214c04f40dda945320d");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
		

CODIGO KOTLIN


val client = OkHttpClient()
val request = Request.Builder()
  .url("https://apidni.com/api/v2/dni/06492645")
  .addHeader("Authorization", "Bearer 5325dc36374cf214c04f40dda945320d")
  .build()
val response = client.newCall(request).execute()
		

CODIGO GO


package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://apidni.com/api/v2/dni/06492645"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Authorization", "Bearer 5325dc36374cf214c04f40dda945320d")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
		

CODIGO SHELL


curl --location 'https://apidni.com/api/v2/dni/06492645' \
--header 'Authorization: Bearer 5325dc36374cf214c04f40dda945320d'
		

CONSULTA DE RUC

El servicio API REST para consultas de RUC de SUNAT proporciona una manera eficiente y segura de obtener información asociada a un Registro Único de Contribuyentes (RUC) en Perú. Utiliza una solicitud GET a través de HTTP y requiere un token de autorización (bearer token) para autenticar y autorizar la consulta.

Detalles Técnicos

Aspecto Técnico Descripción
URL de la API https://apidni.com/api/v2/ruc/{ruc}
Método HTTP GET
Parámetros de la URL {ruc}: Número de RUC a consultar
Autenticación Bearer Token

Instrucciones de Uso

Para realizar una consulta de DNI a través de la API, sigue estos pasos:

  1. Preparación del Token: Obtén un bearer token válido para autenticarte. Este token se incluirá en la cabecera de autorización de tu solicitud HTTP.
  2. Realización de la Consulta:
    • Construye una solicitud GET utilizando la URL proporcionada, sustituyendo {ruc} con el número de RUC específico que deseas consultar.
    • Incluye el token de autorización en la cabecera de la solicitud HTTP (Authorization: Bearer {token}).
  3. Respuesta de la API: La API responderá con los datos asociados al RUC consultado en formato JSON

A continuación se muestra un ejemplo de resultado de búsqueda de RUC para el plan Oro. La respuesta es exitosa y el codigo es > 0


{
    "respuesta": "Solicitud exitosa",
    "data": {
        "ruc": "20331061655",
        "razon_social": "AJEPER S.A.",
		"nombre_comercial":"AJE",
		"tipo_contribuyente":"SOCIEDAD ANONIMA",
        "activo": "ACTIVO",
        "condicion": "HABIDO",
        "direccion": "AV. LA PAZ NRO. 131 SANTA MARIA DE HUACHIPA (ALT. KM8 RAMIRO PRIALE)",
        "ubigeo": "150118",
		"distrito": "LURIGANCHO",
        "provincia": "LIMA",
        "departamento": "LIMA",
        "fecha_inscripcion": "13/08/1996",
		"actividad_exterior":"IMPORTADOR/EXPORTADOR",
		"ciiu":[
			 "Principal - ELAB. DE BEBIDAS NO ALCOHOLICAS.",
			 "Secundaria 1 - VTA. MAY. DE OTROS PRODUCTOS."
		],
		"afecto_nuevo_rus":"NO",
		"agente_retencion":"SI, incorporado al Régimen de Agentes de Retención...",
		"agente_percepcion":"SI, incorporado al Régimen de Agentes de Percepción...",
		"buen_contribuyente":"-",
		"trabajadores":[
			  {
				 "periodo":"2023-02",
				 "num_trabajadores":"13",
				 "num_pensionistas":"0",
				 "num_prestadores":"2"
			  },
			  {
				 "periodo":"2023-03",
				 "num_trabajadores":"13",
				 "num_pensionistas":"0",
				 "num_prestadores":"2"
			  },
			  {
				 "periodo":"2023-04",
				 "num_trabajadores":"15",
				 "num_pensionistas":"0",
				 "num_prestadores":"1"
			  },
			  {
				 "periodo":"2023-05",
				 "num_trabajadores":"13",
				 "num_pensionistas":"0",
				 "num_prestadores":"6"
			  },
			  {
				 "periodo":"2023-06",
				 "num_trabajadores":"13",
				 "num_pensionistas":"0",
				 "num_prestadores":"4"
			  },
			  {
				 "periodo":"2023-07",
				 "num_trabajadores":"13",
				 "num_pensionistas":"0",
				 "num_prestadores":"5"
			  },
			  {
				 "periodo":"2023-08",
				 "num_trabajadores":"13",
				 "num_pensionistas":"0",
				 "num_prestadores":"3"
			  },
			  {
				 "periodo":"2021-09",
				 "num_trabajadores":"13",
				 "num_pensionistas":"0",
				 "num_prestadores":"2"
			  },
			  {
				 "periodo":"2023-10",
				 "num_trabajadores":"13",
				 "num_pensionistas":"0",
				 "num_prestadores":"4"
			  },
			  {
				 "periodo":"2023-11",
				 "num_trabajadores":"12",
				 "num_pensionistas":"0",
				 "num_prestadores":"6"
			  },
			  {
				 "periodo":"2023-12",
				 "num_trabajadores":"12",
				 "num_pensionistas":"0",
				 "num_prestadores":"5"
			  },
			  {
				 "periodo":"2024-01",
				 "num_trabajadores":"12",
				 "num_pensionistas":"0",
				 "num_prestadores":"6"
			  }
		   ],
		"representantes_legales":[
			  {
				 "documento":"DNI",
				 "num_documento":"03652415",
				 "nombres":"CHECA NOMBERA MARCO ANTONIO",
				 "cargo":"APODERADO",
				 "fecha_desde":"08/05/2009"
			  },
			  {
				 "documento":"DNI",
				 "num_documento":"06003256",
				 "nombres":"AÑAÑOS JERI ARTURO FERNANDO",
				 "cargo":"DIRECTOR",
				 "fecha_desde":"06/03/1997"
			  },
			  {
				 "documento":"DNI",
				 "num_documento":"06077664",
				 "nombres":"AÑAÑOS JERI VICKY MARISA",
				 "cargo":"APODERADO",
				 "fecha_desde":"26/06/1999"
			  },
			  {
				 "documento":"CE",
				 "num_documento":"06124237",
				 "nombres":"AÑAÑOS JERI ALVARO NIVARDO",
				 "cargo":"DIRECTOR",
				 "fecha_desde":"26/09/1997"
			  },
			  {
				 "documento":"CE",
				 "num_documento":"06247197",
				 "nombres":"AÑAÑOS JERI ANGEL EDUARDO",
				 "cargo":"PRESIDENTE DIRECTORIO",
				 "fecha_desde":"26/09/1997"
			  },
			  {
				 "documento":"CE",
				 "num_documento":"08755843",
				 "nombres":"CARRION HURTADO RITA NAZARETH",
				 "cargo":"APODERADO",
				 "fecha_desde":"31/08/2009"
			  },
			  {
				 "documento":"CE",
				 "num_documento":"09429769",
				 "nombres":"CACHAY VARGAS PEDRO PELAGIO",
				 "cargo":"APODERADO",
				 "fecha_desde":"27/05/1999"
			  },
			  {
				 "documento":"CE",
				 "num_documento":"000843116",
				 "nombres":"LOPEZ QUIJADA JESUS ALEXIS",
				 "cargo":"GERENTE GENERAL",
				 "fecha_desde":"18/05/2021"
			  }
		   ],
		"deuda_coactiva": []
    },
    "codigo": 1
}

Consideraciones Adicionales

  • Asegúrate de manejar adecuadamente el token de autorización para evitar accesos no autorizados.
  • Verifica la disponibilidad y el formato de los datos retornados por la API según las especificaciones de la misma.

CONSULTA DE DNI

A continuación presentamos algunos casos comunes de errores de consulta del DNI.

Longitud del número de documento

La respuesta no es exitosa, y el código es = 0:


{
	"respuesta": "Longitud inválida del número de documento. Debe tener 8 dígitos",
	"data": {},
	"codigo": 0
}

El número de documento no existe

La respuesta no es exitosa, y el código es = 0:


{
 "respuesta": "Error en la consulta",
 "data": {},
 "codigo": 0
}

Límite de la cantidad de consultas realizadas

La respuesta no es exitosa, y el código es = 0:


{
	"respuesta": "El Token API superó el número de consultas del plan",
	"data": {},
	"codigo": 0
}

Fecha de expiración

La respuesta no es exitosa, y el código es = 0:


{
	"respuesta": "El Token API está expirado",
	"data": {},
	"codigo": 0
}

CONSULTA DE RUC

A continuación presentamos algunos casos comunes de errores de consulta del RUC.

Longitud del número de documento

La respuesta no es exitosa, y el código es = 0:


{
	"respuesta": "Longitud inválida del número de documento. Debe tener 11 dígitos",
	"data": {},
	"codigo": 0
}

El número de documento no existe

La respuesta no es exitosa, y el código es = 0:


{
 "respuesta": "Error en la consulta",
 "data": {},
 "codigo": 0
}

Límite de la cantidad de consultas realizadas

La respuesta no es exitosa, y el código es = 0:


{
	"respuesta": "El Token API superó el número de consultas del plan",
	"data": {},
	"codigo": 0
}

Fecha de expiración

La respuesta no es exitosa, y el código es = 0:


{
	"respuesta": "El Token API está expirado",
	"data": {},
	"codigo": 0
}