Logo
Última actualización: 17/11/2024

Códigos postales de México

API gratuita de consulta de códigos postales en SEPOMEX.

¿Porqué existe esta API?

Trabajando en múltiples proyectos siempre me vi en la necesidad de re-implementar cada vez un importador de los datos de SEPOMEX, los cuales con el tiempo quedaban desactualizados. De esta forma y viendo que me tocaría implementarlo una vez más, decidí crear una api estática utilizando Astro y devolviendo los datos tal cual están en el archivo de texto de SEPOMEX para que otros desarrolladores puedan usarlo como les sea conveniente.

El código será open source para quien quiera encargarse de montarlo y mantenerlo actualizado en su propio servidor, por mi parte trataré de actualizarlo al menos 1 vez al mes.

¿Cómo se utiliza?

https://sepomex.nitrostudio.com.mx/api/ {VERSION} /cp/ {CODIGO_POSTAL} .json
(versión específica)

https://sepomex.nitrostudio.com.mx/api/latest/cp/ {CODIGO_POSTAL} .json
(última versión, solo disponible si se generó)

Versiones actuales:

1
2
3
4
5
6
[
  "20240120",
  "20240320",
  "20241009",
  "20241116"
]

Ejemplo de petición:

1
2
3
const response = await fetch('https://sepomex.nitrostudio.com.mx/api/20240120/cp/06700.json')
const result = await response.json()
console.log(result)
Que nos devolverá la siguiente salida (todas las colonias pertenecientes a ese código postal):
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
  "data": {
    "total_records": 1,
    "postcodes": [
      {
        "d_codigo": "06700",
        "d_asenta": "Roma Norte",
        "d_tipo_asenta": "Colonia",
        "d_mnpio": "Cuauhtémoc",
        "d_estado": "Ciudad de México",
        "d_ciudad": "Ciudad de México",
        "d_cp": "06401",
        "c_estado": "09",
        "c_oficina": "06401",
        "c_cp": "",
        "c_tipo_asenta": "09",
        "c_mnpio": "015",
        "id_asenta_cpcons": "0947",
        "d_zona": "Urbano",
        "c_cve_ciudad": "06"
      }
    ]
  },
  "error": null
}