endpoint.pe

Ubigeo

Convierte un código de ubigeo en departamento, provincia y distrito, o arma el código a partir de los nombres; lista departamentos, provincias y distritos para tus formularios.

GEThttps://api.endpoint.pe/v1/ubigeo/{ubigeo}
Fuente:
INEI
Costo:
1 crédito por consulta con resultado
Estado:
Disponible

El ubigeo es el código de seis dígitos con el que el INEI identifica cada distrito del Perú: dos dígitos de departamento, dos de provincia y dos de distrito. SUNAT lo usa en el domicilio fiscal y RENIEC tiene su propia codificación. Esta API trabaja en los dos sentidos, del código a los nombres y de los nombres al código, y además lista cada nivel para armar selectores de dirección.

Por código

GET /v1/ubigeo/{ubigeo}

NombreDóndeFormato
ubigeoRuta6 dígitos (código INEI). Si no cumple, la API responde 422.
terminal
curl 'https://api.endpoint.pe/v1/ubigeo/150101' \  -H 'Authorization: Bearer TU_TOKEN'
respuesta.json
{  "success": true,  "message": "Consulta exitosa",  "data": {    "ubigeo": "150101",    "ubigeo_reniec": "140101",    "departamento": "LIMA",    "provincia": "LIMA",    "distrito": "LIMA",    "codigos": {      "departamento": "15",      "provincia": "1501",      "distrito": "150101"    },    "vigente": true  },  "meta": {    "fuente": "INEI",    "consultado_en": "2026-10-12T07:40:12Z",    "creditos_cobrados": 1,    "creditos_disponibles": 14621  }}

Campos de data

CampoDescripción
ubigeoCódigo de ubigeo INEI de 6 dígitos.
ubigeo_reniecCódigo equivalente de RENIEC.
departamentoDepartamento.
provinciaProvincia.
distritoDistrito.
codigosCódigos de departamento, provincia y distrito por separado.
vigentefalse si el código ya no está en uso.

vigente es false cuando el código ya no está en uso. Los códigos no vigentes se pueden consultar, pero no aparecen en las listas por nombres.

Por nombres

GET /v1/ubigeo?departamento=&provincia=&distrito=

Los tres parámetros van en la query string y se comparan sin importar mayúsculas, tildes ni espacios repetidos: lima, Lima y LIMA son lo mismo. Según cuáles envíes, la respuesta cambia de nivel:

ParámetrosnivelContenido de data
NingunodepartamentosLista de departamentos con codigo y nombre.
departamentoprovinciasEl departamento y sus provincias (codigo, nombre).
departamento y provinciadistritosEl departamento, la provincia y sus distritos (ubigeo, ubigeo_reniec, nombre).
Los tres—El mismo objeto que la consulta por código.

Distritos de la provincia de Lima (respuesta recortada a tres; la real trae los 44):

terminal
curl 'https://api.endpoint.pe/v1/ubigeo?departamento=lima&provincia=lima' \  -H 'Authorization: Bearer TU_TOKEN'
respuesta.json
{  "success": true,  "message": "Consulta exitosa",  "data": {    "nivel": "distritos",    "departamento": { "codigo": "15", "nombre": "LIMA" },    "provincia": { "codigo": "1501", "nombre": "LIMA" },    "distritos": [      { "ubigeo": "150101", "ubigeo_reniec": "140101", "nombre": "LIMA" },      { "ubigeo": "150102", "ubigeo_reniec": "140102", "nombre": "ANCON" },      { "ubigeo": "150103", "ubigeo_reniec": "140103", "nombre": "ATE" }    ]  },  "meta": {    "fuente": "INEI",    "consultado_en": "2026-10-12T08:41:49Z",    "creditos_cobrados": 1,    "creditos_disponibles": 19606  }}

Con los tres nombres, el código:

terminal
curl 'https://api.endpoint.pe/v1/ubigeo?departamento=Lima&provincia=Lima&distrito=Miraflores' \  -H 'Authorization: Bearer TU_TOKEN'
respuesta.json
{  "success": true,  "message": "Consulta exitosa",  "data": {    "ubigeo": "150122",    "ubigeo_reniec": "140115",    "departamento": "LIMA",    "provincia": "LIMA",    "distrito": "MIRAFLORES",    "codigos": {      "departamento": "15",      "provincia": "1501",      "distrito": "150122"    },    "vigente": true  },  "meta": {    "fuente": "INEI",    "consultado_en": "2026-10-12T08:41:49Z",    "creditos_cobrados": 1,    "creditos_disponibles": 19605  }}

Enviar provincia sin departamento, o distrito sin los dos anteriores, responde 422.

Detalles

  • Cada llamada descuenta 1 crédito, también las listas. Para selectores de dirección, pide las listas una vez y guárdalas: cambian muy poco.
  • Los nombres llegan en mayúsculas y sin tildes, como en la tabla del INEI (ANCASH, APURIMAC).
  • ubigeo_reniec es el código equivalente en la codificación de RENIEC, para cruzar con sistemas que la usan. Las diferencias: Ubigeo INEI vs ubigeo RENIEC.

Guías: Qué es el ubigeo, Formularios de dirección en el Perú y Lima Metropolitana, Callao y Lima provincias en el ubigeo.

Errores

HTTPerrorCuándo
404no_encontradoEl código no existe, o el nombre de departamento, provincia o distrito no coincide con ninguno. No descuenta créditos.
422validaciondetalles.ubigeo: "Ubigeo inválido: deben ser 6 dígitos." · detalles.departamento: "Indica el departamento para buscar la provincia." · detalles.provincia: "Indica departamento y provincia para buscar el distrito."

Los demás códigos (401, 402, 403, 502) son comunes a todas las APIs: Errores.

Relacionados