Inicio

Última Actualización: 20 Noviembre del 2023

Introducción

API COPOMEX (Código Postal Mexicano) es una API con la cual se puede obtener la información completa de un codigo postal, ademas se puede obtener la siguiente información.

Obtener coincidencias de un código postal parcial
Obtener un listado de los nombres oficiales de los estados de México
Obtener un listado de municipios por estado
Obtener un listado de Códigos postales por municipio
Obtener un listado de Colonias por Código postal

Todos los métodos disponibles de la API reciben la petición por GET, por lo que podrás probar directo en tu navegador.

Se deberá registrar previamente antes de poder usar la API, el registro es totalmente gratuito, pero deberá adquirir un paquete de creditos de consumo. Por cada petición que se haga con su token de proyecto, se descontará 1 crédito.

Registro

Se deberá registrar de forma gratuita en el panel de control, y crear un proyecto. Este proyecto deberá ser verificado por la llave publica asignada. Para crear su cuenta deberá acceder a la siguiente URL:

https://api.copomex.com/panel

Endpoint

Para acceder a la API, se deberá ingresar al siguiente ENDPOINT:

https://api.copomex.com/query/{metodo}/{busqueda}?={variable}&{token}

  • En donde {metodo} será alguno de los métodos disponibles abajo.
  • En donde {busqueda} será el criterio a buscar, que podrá ser un CP, un estado, un municipio, colonia.
  • En donde {variable} será una variable tipo GET opcional.
  • En donde {token} será una variable tipo GET obligatoria, con el que identificará su proyecto.

Respuesta del servidor

Una vez que se haya hecho el request, el servidor regresará un código 200 http si todo salió de forma correcta, o devolverá un código 400 http si hubo un error en el envío de los parámetros al endpoint. En cualquier caso devolverá un json con el siguiente formato:


                "error": false,
                "code_error": 0,
                "error_message": null,
                "response": {
            }
        


  • En donde {error} será una variable tipo bool. Indicará si hubo un error o no.
  • En donde {code_error} será una variable tipo int. Indicará el número de error que podrá ser identificado en esta documentación.
  • En donde {error_message} será una variable tipo string. Indicará error que hubo al momento de mandar la solicitud al servidor.
  • En donde {response} será una variable tipo array. Devolverá la información solicitada dependiendo el método utilizado.

Pruebas

Para realizar pruebas, se puede ocupar cualquier método disponible en esta documentación, únicamente se deberá ingresa la palabra {pruebas} en el valor de token, quedando la estructura de esta forma:

https://api.copomex.com/query/{metodo}/{busqueda}?={variable}&token=pruebas

En modo pruebas, mostrará información random aleatoria.

https://api.copomex.com/query/info_cp/09810?token=pruebas


[
    {
        "error": false,
        "code_error": 0,
        "error_message": null,
        "response": {
            "cp": "09810",
            "asentamiento": "L9oK6LVUR7ESDXl",
            "tipo_asentamiento": "nMQdBVkP",
            "municipio": "nMQdBVkP",
            "estado": "YaUwp98hLYGkuA",
            "ciudad": "tQoMSAxi2",
            "pais": "México"
        }
    },
    {
        "error": false,
        "code_error": 0,
        "error_message": null,
        "response": {
            "cp": "09810",
            "asentamiento": "swycDdoVd",
            "tipo_asentamiento": "nMQdBVkP",
            "municipio": "nMQdBVkP",
            "estado": "YaUwp98hLYGkuA",
            "ciudad": "tQoMSAxi2",
            "pais": "México"
        }
    },
    {
        "error": false,
        "code_error": 0,
        "error_message": null,
        "response": {
            "cp": "09810",
            "asentamiento": "Un4glhrhsD2A06S",
            "tipo_asentamiento": "nMQdBVkP",
            "municipio": "nMQdBVkP",
            "estado": "YaUwp98hLYGkuA",
            "ciudad": "tQoMSAxi2",
            "pais": "México"
        }
    }
]

Métodos Disponibles

Información de un Código Postal

Para obtener información de un código postal se deberá acceder al método {info_cp} y deberá ingresa el criterio de búsqueda del CP {XXXXX} y deberá enviar una variable obligatoria tipo GET {token}
Ejemplo:

https://api.copomex.com/query/info_cp/09810?token=pruebas


A esto nos devolverá un JSON, con "N" número de colonias y con la información del asentamiento (colonia, barrio, etc.), cp, municipio, estado y país, esto en un arreglo, con un elemento por cada colonia. Ejemplo:


[
    {
        "error": false,
        "code_error": 0,
        "error_message": null,
        "response": {
        "cp": "09810",
        "asentamiento": "Minerva",
            "tipo_asentamiento": "Colonia",
            "municipio": "Iztapalapa",
            "estado": "Ciudad de México",
            "ciudad": "Ciudad de México",
            "pais": "México"
        }
    },
    {
        "error": false,
        "code_error": 0,
        "error_message": null,
        "response": {
            "cp": "09810",
            "asentamiento": "Granjas Esmeralda",
            "tipo_asentamiento": "Colonia",
            "municipio": "Iztapalapa",
            "estado": "Ciudad de México",
            "ciudad": "Ciudad de México",
            "pais": "México"
        }
    },
    {
        "error": false,
        "code_error": 0,
        "error_message": null,
        "response": {
            "cp": "09810",
            "asentamiento": "Los Cipreses",
            "tipo_asentamiento": "Colonia",
            "municipio": "Iztapalapa",
            "estado": "Ciudad de México",
            "ciudad": "Ciudad de México",
            "pais": "México"
        }
    },
    {
        "error": false,
        "code_error": 0,
        "error_message": null,
        "response": {
            "cp": "09810",
            "asentamiento": "Progreso del Sur",
            "tipo_asentamiento": "Colonia",
            "municipio": "Iztapalapa",
            "estado": "Ciudad de México",
            "ciudad": "Ciudad de México",
            "pais": "México"
        }
    }
]



También se puede agrupar la colonia en un solo resultado, dentro de asentamiento devolverá un arreglo con el "N" numero de colonias encontradas. Para que devuelva un solo resultado, con los asentamientos (colonias) agrupadas, se deberá ingresar la variable tipo GET {type} con el valor de {simplified}, y deberá enviar una variable obligatoria tipo GET {token} Ejemplo:

https://api.copomex.com/query/info_cp/09810?type=simplified&token=pruebas


Y nos devolverá el siguiente ejemplo:


{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "cp": "09810",
        "asentamiento": [
            "Minerva",
            "Granjas Esmeralda",
            "Los Cipreses",
            "Progreso del Sur"
        ],
        "tipo_asentamiento": "Colonia",
        "municipio": "Iztapalapa",
        "estado": "Ciudad de México",
        "ciudad": "Ciudad de México",
        "pais": "México"
    }
}

Búsqueda de CP por coincidencia

Se puede buscar los códigos postales incompletos, o por coincidencia. Para esto se debe acceder al método {search_cp} y deberá ingresa el criterio de búsqueda del CP {XXXX} y de forma obligatoria una variable tipo GET {token}

Opcionalmente, se puede ingresar las siguientes variables:

Variable tipo GET llamada "limit", que limita el número de resultados mostrados en la respuesta de la API. Esta variable recibe un valor tipo "Int"
Ejemplo:

https://api.copomex.com/query/search_cp/0981?token=pruebas


Y nos devolverá el siguiente ejemplo:


{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "cp": [
            "09810",
            "09819",
            "40981"
        ]
    }
}

Ejemplo con limit:

https://api.copomex.com/query/search_cp/09?limit=10&token=pruebas


Y nos devolverá el siguiente ejemplo:


{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "cp": [
            "01090",
            "01109",
            "01509",
            "02090",
            "02099",
            "04909",
            "06090",
            "07090",
            "07109",
            "07209"
        ]
    }
}

Obtener estados

Se puede obtener un listado de todos los estados de México, este resultado es el nombre oficial dado de alta por SEPOMEX. Para esto se debe acceder al método {get_estados} y de forma obligatoria enviar una variable tipo GET {token}. Este método NO cuenta con criterio de búsqueda

Ejemplo:

https://api.copomex.com/query/get_estados?token=pruebas


Y nos devolverá el siguiente ejemplo:


{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "estado": [
            "Ciudad de México",
            "Aguascalientes",
            "Baja California",
            "Baja California Sur",
            "Campeche",
            "Coahuila de Zaragoza",
            "Colima",
            "Chiapas",
            "Chihuahua",
            "Durango",
            "Guanajuato",
            "Guerrero",
            "Hidalgo",
            "Jalisco",
            "México",
            "Michoacán de Ocampo",
            "Morelos",
            "Nayarit",
            "Nuevo León",
            "Oaxaca",
            "Puebla",
            "Querétaro",
            "Quintana Roo",
            "San Luis Potosí",
            "Sinaloa",
            "Sonora",
            "Tabasco",
            "Tamaulipas",
            "Tlaxcala",
            "Veracruz de Ignacio de la Llave",
            "Yucatán",
            "Zacatecas"
        ]
    }
}

Obtener municipio por estado

Se puede obtener los municipios de un cierto estado. Para esto se debe acceder al método {get_municipio_por_estado} y deberá ingresa el criterio de búsqueda del estado {ESTADO} y de forma obligatoria enviar una variable tipo GET {token}
Ejemplo:

https://api.copomex.com/query/get_municipio_por_estado/Aguascalientes?token=pruebas


Y nos devolverá el siguiente ejemplo:


{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "municipios": [
            "Aguascalientes",
            "San Francisco de los Romo",
            "El Llano",
            "Rincón de Romos",
            "Cosío",
            "San José de Gracia",
            "Tepezalá",
            "Pabellón de Arteaga",
            "Asientos",
            "Calvillo",
            "Jesús María"
        ]
    }
}
    

Obtener cp por municipio

Se puede obtener los código postales de un cierto municipio. Para esto se debe acceder al método {get_cp_por_municipio} y deberá ingresa el criterio de búsqueda del municipio {MUNICIPIO} y de forma obligatoria enviar una variable tipo GET {token}
Ejemplo:

https://api.copomex.com/query/get_cp_por_municipio/Aguascalientes?token=pruebas


Y nos devolverá el siguiente ejemplo:


{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "cp": [
            "20330",
            "20333",
            "20334",
            "20335",
            "20336",
            "20337",
            "20338",
            "20339"
        ]
    }
}

Obtener colonia por CP

Se puede obtener las colonias de un cierto CP. Para esto se debe acceder al método {get_colonia_por_cp} y deberá ingresa el criterio de búsqueda del cp {CP} y de forma obligatoria deberá mandar una variable tipo GET {token}

A diferencia del método {info_cp} que nos devuelve la información completa, el método {get_colonia_por_cp} únicamente nos devuelve el listado de colonias. Ejemplo:

https://api.copomex.com/query/get_colonia_por_cp/09810?token=pruebas


Y nos devolverá el siguiente ejemplo:


{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "colonia": [
            "Minerva",
            "Granjas Esmeralda",
            "Los Cipreses",
            "Progreso del Sur"
        ]
    }
}

Obtener CP por Estado

Se puede obtener los CP de un determinado Estado. Para esto se debe acceder al método {get_cp_por_estado} y deberá ingresa el criterio de búsqueda del estado {Estado} y de forma obligatoria se deberá enviar una variable tipo GET {token}

Ejemplo:

https://api.copomex.com/query/get_cp_por_estado/Ciudad de Mexico?token=pruebas


Y nos devolverá el siguiente ejemplo:


{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "cp": [
            "01000",
            "01010",
            "01020",
            "01030",
            "01040",
            "01049",
            "01050",
            "01060",
            "01070",
            "01080",
            "01089"
        ]
    }
}

Obtener Colonia por Municipio

Se puede obtener las colonias de un determinado municipio. Para esto se debe acceder al método {get_colonia_por_municipio} y deberá ingresa el criterio de búsqueda del estado {Municipio} y de forma obligatoria deberá enviar una variable tipo GET {token}

Ejemplo:

https://api.copomex.com/query/get_colonia_por_municipio/Xochimilco?token=pruebas


Y nos devolverá el siguiente ejemplo:


{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "colonia": [
            "San Antonio",
            "San Juan",
            "La Concepción Tlacoapa",
            "San Bartolo El Chico",
            "Las Peritas",
            "Paseos del Sur",
            "Bosque Residencial del Sur",
            "Santa María Tepepan",
            "San Juan Tepepan",
            "Ampliación Tepepan",
            "La Noria",
            "Ampliación La Noria",
            "Potrero de San Bernardino",
            "Huichapan",
            "18",
            "San Lorenzo La Cebada",
            "Rinconada Coapa",
            "Mercado de Flores Plantas y Hortalizas",
            "Ampliación San Marcos Norte",
            "San Lorenzo",
            "La Asunción",
            "San Marcos",
            "Jardines del Sur",
            "Tierra Nueva",
            "Pblo. Stgo.Tepalcatlalpan, U. H. Rinconada del Sur",
            "El Mirador",
            "Belén",
            "El Rosario",
            "La Guadalupita",
            "Santa Crucita",
            "San Esteban",
            "San Cristóbal",
            "San Diego",
            "La Santísima",
            "Xaltocan",
            "San Pedro",
            "Tablas de San Lorenzo",
            "Santa Cruz Xochitepec",
            "Santiago Tepalcatlalpan",
            "La Concha",
            "San Lucas Xochimanca",
            "La Cañada",
            "San Lucas Oriente",
            "Texmic",
            "San Lorenzo Atemoaya",
            "Lomas de Tonalco",
            "San Jerónimo",
            "El Jazmín",
            "Rancho Tejomulco",
            "Xochipilli",
            "Año de Juárez",
            "Pocitos",
            "Santa María Nativitas",
            "Lomas de Nativitas",
            "Ampliación Nativitas",
            "Santa Cruz Acalpixca",
            "Apatlaco",
            "Del Puente",
            "La Gallera",
            "Calpulco",
            "Tetitla",
            "La Planta",
            "Las Flores",
            "Las Cruces",
            "Ahualapa",
            "Valle de Santa María",
            "San Gregorio Atlapulco",
            "San Andrés",
            "Los Reyes",
            "3 de Mayo",
            "La Candelaria",
            "San Luis Tlaxialtemalco",
            "Niños Héroes",
            "Santa Cecilia",
            "San Sebastián",
            "San José",
            "La Guadalupana",
            "San Juan Moyotepec",
            "San Juan Minas",
            "Quirino Mendoza",
            "Del Carmen",
            "San Isidro",
            "Guadalupita",
            "Las Animas",
            "Calyequita",
            "San Felipe",
            "Santiaguito",
            "Cristo Rey",
            "Cerrillos Segunda Sección",
            "Cerrillos Primera Sección",
            "Cerrillos Tercera Sección",
            "El Sacrificio",
            "Nativitas",
            "Las Mesitas",
            "San Mateo Xalpa",
            "Rosario Tlali",
            "Santa Inés",
            "San Andrés Ahuayucan",
            "El Calvario",
            "Santa Cruz Chavarrieta",
            "Chapultepec",
            "Santa Cruz de Guadalupe",
            "Santa Cecilia Tepetlapa",
            "San Francisco Tlalnepantla"
        ]
    }
}

Búsqueda de CP Avanzada

Se puede obtener un CP por medio de una búsqueda de un QueryString. Para esto se debe acceder al método {search_cp_advanced} y deberá ingresa el criterio de búsqueda del estado {estado} y de forma obligatoria deberá enviar una variable tipo GET {token}.
Opcionalmente, se puede ingresar las siguientes variables:

- Variable tipo GET llamada "limit", que limita el número de resultados mostrados en la respuesta de la api. Esta variable recibe un valor tipo "Int"
- Variable tipo GET llamada "municipio", que busca por coincidencia el valor ingresado. Esta variable recibe un valor tipo "String".
- Variable tipo GET llamada "colonia", que busca por coincidencia el valor ingresado. Esta variable recibe un valor tipo "String".

Ejemplo de Búsqueda por Estado con limitador:

https://api.copomex.com/query/search_cp_advanced/Ciudad de México?limit=10&token=pruebas


Y nos devolverá el siguiente ejemplo:


{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "cp": [
            "01000",
            "01010",
            "01020",
            "01030",
            "01040",
            "01049",
            "01050",
            "01060",
            "01070",
            "01080"
        ]
    }
}

Ejemplo de Búsqueda por Estado con limitador y Municipio:

https://api.copomex.com/query/search_cp_advanced/Ciudad de México?limit=10&municipio=Iztapalapa&token=pruebas


Y nos devolverá el siguiente ejemplo:


{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "cp": [
            "09000",
            "09010",
            "09020",
            "09030",
            "09040",
            "09060",
            "09070",
            "09080",
            "09089",
            "09090"
        ]
    }
}

Ejemplo de Búsqueda por Estado con limitador, Municipio y Colonia:

https://api.copomex.com/query/search_cp_advanced/Ciudad de México?limit=10&municipio=Iztapalapa&colonia=Valle del Sur&token=pruebas


Y nos devolverá el siguiente ejemplo:


{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "cp": [
            "09819"
        ]
    }
}

Obtener CP Avanzado

Este es exactamente el mismo funcionamiento de Búsqueda de CP Avanzada, con la única diferencia que este método, solo encuentra una coincidencia exacta. Se puede obtener un CP por medio de una búsqueda de un QueryString. Para esto se debe acceder al método {get_cp_advanced} y deberá ingresa el criterio de búsqueda del estado {estado} y de forma obligatoria deberá enviar una variable tipo GET {token}.
Opcionalmente, se puede ingresar las siguientes variables:

- Variable tipo GET llamada "limit", que limita el número de resultados mostrados en la respuesta de la api. Esta variable recibe un valor tipo "Int"
- Variable tipo GET llamada "municipio", que busca por coincidencia el valor ingresado. Esta variable recibe un valor tipo "String".
- Variable tipo GET llamada "colonia", que busca por coincidencia el valor ingresado. Esta variable recibe un valor tipo "String".

Ejemplo de Búsqueda por Estado con limitador:

https://api.copomex.com/query/get_cp_advanced/Ciudad de México?limit=10&token=pruebas


Y nos devolverá el siguiente ejemplo:


{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "cp": [
            "01000",
            "01010",
            "01020",
            "01030",
            "01040",
            "01049",
            "01050",
            "01060",
            "01070",
            "01080"
        ]
    }
}

Ejemplo de Búsqueda por Estado con limitador y Municipio:

https://api.copomex.com/query/get_cp_advanced/Ciudad de México?limit=10&municipio=Iztapalapa&token=pruebas


Y nos devolverá el siguiente ejemplo:


{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "cp": [
            "09000",
            "09010",
            "09020",
            "09030",
            "09040",
            "09060",
            "09070",
            "09080",
            "09089",
            "09090"
        ]
    }
}

Ejemplo de Búsqueda por Estado con limitador, Municipio y Colonia:

https://api.copomex.com/query/get_cp_advanced/Ciudad de México?limit=10&municipio=Iztapalapa&colonia=Valle del Sur&token=pruebas


Y nos devolverá el siguiente ejemplo:


{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "cp": [
            "09819"
        ]
    }
}

Obtener colonia por estado y municipio

Este método sirve para poder obtener un listado de todas las colonias, filtrando por estado y municipio. Para esto se debe acceder al método {get_colonia_por_estado_municipio}, se deberán enviar la variables tipo GET {token} de forma obligatoria, variable {estado} de forma obligatoria y finalmente la variable {municipio} de forma obligatoria.

Ejemplo de búsqueda:

https://api.copomex.com/query/get_colonia_por_estado_municipio?token=pruebas&estado=Ciudad de México&municipio=Iztapalapa


Y nos devolverá el siguiente ejemplo:

            
{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "La Asunción": "09000",
        "San Ignacio": "09000",
        "San José": "09000",
        "San Lucas": "09000",
        "San Pablo": "09648",
        "San Pedro": "09000",
        "Santa Bárbara": "09000",
        "Real del Moral": "09010",
        "Dr. Alfonso Ortiz Tirado": "09020",
        "Paseos de Churubusco": "09030",
        "Central de Abasto": "09040",
        "Escuadrón 201": "09060",
        "Sector Popular": "09060",
        "Granjas de San Antonio": "09070",
        "Cacama": "09080",
        "Unidad Modelo": "09089",
        "Héroes de Churubusco": "09090",
        ...
    }
}
            
        

Obtener información con geocoordenadas de un Código Postal

Este método sirve para poder geolocalizar una dirección, se deberá mandar un código postal, una calle y un número exterior. Nos retornará un json con la información. Este método consume 2 consultas de su bolsa adquirida.
Para esto se deberá acceder al método {info_cp_geocoding}, se deberá ingresa el criterio de búsqueda del código postal {cp}

Se puede ingresar las siguientes variables tipo GET:

- {token} Variable tipo GET obligatoria, sirve para autenticar el proyecto
- {type} Variable tipo GET opcional, si se ingresa el valor "simplified" se agruparán los resultados en un solo elemento del json. Si no se envía nada, o se envía "extended" regresará los resultados en múltiples elementos del json
- {calle} Variable tipo GET opcional, sirve para geolocalizar la ubicación de la calle dada. Si no se envía no regresará latitud y longitud
- {numero} Variable tipo GET opcional, sirve para geolocalizar de forma mas precisa la ubicación de la calle dada. Si no se envía no regresará latitud y longitud. Si se envía una manzana o lote, puede que no regrese información.

Nota: la información de latitud y longitud puede ser no muy exacta en algunos casos.

Ejemplo de búsqueda sin calle, sin número y simplificado:

https://api.copomex.com/query/info_cp_geocoding/09810?type=simplified&token=pruebas


Y nos devolverá el siguiente ejemplo:

            
{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "cp": "09810",
        "calle": null,
        "numero": null,
        "asentamiento": [
            "Granjas Esmeralda",
            "Los Cipreses",
            "Minerva",
            "Progreso del Sur"
        ],
        "tipo_asentamiento": "Colonia",
        "municipio": "Iztapalapa",
        "estado": "Ciudad de México",
        "ciudad": "Ciudad de México",
        "pais": "México",
        "geocoding": [
            {
                "lat": null,
                "lng": null,
                "label": null
            }
        ]
    }
}
            
        

Ejemplo de búsqueda con calle, con número y simplificado:

https://api.copomex.com/query/info_cp_geocoding/06600?type=simplified&calle=reforma&numero=222&token=pruebas


Y nos devolverá el siguiente ejemplo:

            
{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "cp": "06600",
        "calle": "reforma",
        "numero": "222",
        "asentamiento": [
            "Juárez"
        ],
        "tipo_asentamiento": "Colonia",
        "municipio": "Cuauhtémoc",
        "estado": "Ciudad de México",
        "ciudad": "Ciudad de México",
        "pais": "México",
        "geocoding": [
            {
                "lat": 19.42881,
                "long": -99.16225,
                "label": "Paseo de la Reforma 222, Juárez, 06600 Cuauhtémoc, CMX, México"
            }
        ]
    }
}
            
        

Obtener dirección de geocoordenadas mediante una Latitud y Longitud decimal

Este método sirve para poder obtener la dirección de unas coordenadas dadas, se deberá mandar una latitud decimal, una longitud decimal. Nos retornará un json con la información. Este método consume 2 consultas de su bolsa adquirida.
Para esto se deberá acceder al método {info_cp_geocoding_reverse}. Este método no recibe criterio de búsqueda

Se deberá ingresar las siguientes variables tipo GET de forma obligatoria:

- {token} Variable tipo GET obligatoria, sirve para autenticar el proyecto
- {lat} Variable tipo GET obligatoria. Latitud en formaro decimal de la ubicación a buscar.
- {lng} Variable tipo GET obligatoria. Longitud en formaro decimal de la ubicación a buscar.

Ejemplo de búsqueda:

https://api.copomex.com/query/info_cp_geocoding_reverse?lat=19.42881&lng=-99.16225&token=pruebas


Y nos devolverá el siguiente ejemplo:

            

{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "label": "Paseo de la Reforma 222, Juárez, 06600 Cuauhtémoc, CMX, México",
        "cp": "06600",
        "calle": "Paseo de la Reforma",
        "numero": "222",
        "asentamiento": "Juárez",
        "municipio": "Cuauhtémoc",
        "estado": "Ciudad de México",
        "pais": "México",
        "lat": 19.42881,
        "lng": -99.16225,
        "asentamientos_cp": [
            "Juárez"
        ]
    }
}
            
        

Obtener estado y clave oficial de estado

Este método sirve para poder obtener un listado de estados (entidades federativas) con la clave oficial dada de alta por el Gobierno Oficial de México. Para esto se debe acceder al método {get_estado_clave} y de forma obligatoria enviar una variable tipo GET {token}. Este método NO cuenta con criterio de búsqueda

Ejemplo de búsqueda:

https://api.copomex.com/query/get_estado_clave?token=pruebas


Y nos devolverá el siguiente ejemplo:

            
{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "estado_clave": {
            "Aguascalientes": "01",
            "Baja California": "02",
            "Baja California Sur": "03",
            "Campeche": "04",
            "Coahuila de Zaragoza": "05",
            "Colima": "06",
            "Chiapas": "07",
            "Chihuahua": "08",
            "Ciudad de México": "09",
            "Durango": "10",
            "Guanajuato": "11",
            "Guerrero": "12",
            "Hidalgo": "13",
            "Jalisco": "14",
            "México": "15",
            "Michoacán de Ocampo": "16",
            "Morelos": "17",
            "Nayarit": "18",
            "Nuevo León": "19",
            "Oaxaca": "20",
            "Puebla": "21",
            "Querétaro": "22",
            "Quintana Roo": "23",
            "San Luis Potosí": "24",
            "Sinaloa": "25",
            "Sonora": "26",
            "Tabasco": "27",
            "Tamaulipas": "28",
            "Tlaxcala": "29",
            "Veracruz de Ignacio de la Llave": "30",
            "Yucatán": "31",
            "Zacatecas": "32"
        }
    }
}
            
        

Obtener municipios y clave oficial por estado

Este método sirve para poder obtener un listado de los municipios por estado, con la clave oficial dada de alta por el Gobierno Oficial de México. Para esto se debe acceder al método {get_municipio_clave_por_estado}, se ingresará el criterio de búsqueda {estado} y de forma obligatoria enviar una variable tipo GET {token}.

Ejemplo de búsqueda:

https://api.copomex.com/query/get_municipio_clave_por_estado/Aguascalientes?token=pruebas


Y nos devolverá el siguiente ejemplo:

            
{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "municipio_clave": {
            "Aguascalientes": "001",
            "San Francisco de los Romo": "011",
            "El Llano": "010",
            "Rincón de Romos": "007",
            "Cosío": "004",
            "San José de Gracia": "008",
            "Tepezalá": "009",
            "Pabellón de Arteaga": "006",
            "Asientos": "002",
            "Calvillo": "003",
            "Jesús María": "005"
        }
    }
}
            
        

Obtener municipios y clave oficial por clave de estado

Este método sirve para poder obtener un listado de los municipios por clave de estado, con la clave oficial dada de alta por el Gobierno Oficial de México. Para esto se debe acceder al método {get_municipio_clave_por_clave_estado}, se ingresará el criterio de búsqueda {clave_estado} y de forma obligatoria enviar una variable tipo GET {token}.

Ejemplo de búsqueda:

https://api.copomex.com/query/get_municipio_clave_por_clave_estado/01?token=pruebas


Y nos devolverá el siguiente ejemplo:

            
{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "municipio_clave": {
            "Aguascalientes": "001",
            "San Francisco de los Romo": "011",
            "El Llano": "010",
            "Rincón de Romos": "007",
            "Cosío": "004",
            "San José de Gracia": "008",
            "Tepezalá": "009",
            "Pabellón de Arteaga": "006",
            "Asientos": "002",
            "Calvillo": "003",
            "Jesús María": "005"
        }
    }
}
            
        

Obtener localidad y clave oficial por estado y municipio

Este método sirve para poder obtener un listado de las localidades y su clave, se obtiene al buscar un estado y municipio. Para esto se debe acceder al método {get_localidad_por_estado_municipio}, se deberán enviar las siguientes variables tipo GET
Se puede ingresar las siguientes variables tipo GET:

- {token} Variable tipo GET obligatoria, sirve para autenticar el proyecto
- {estado} Variable tipo GET obligatoria, se deberá ingresar el nombre oficial del estado
- {municipio} Variable tipo GET obligatoria, se deberá ingresar el nombre oficial del municipio del estado dado


Ejemplo de búsqueda:

https://api.copomex.com/query/get_localidad_por_estado_municipio/?estado=Aguascalientes&municipio=Aguascalientes&token=pruebas


Y nos devolverá el siguiente ejemplo:

            
{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "localidad_clave": {
            "Aguascalientes": "0001",
            "Granja Adelita": "0094",
            "Agua Azul": "0096",
            "Rancho Alegre": "0100",
            "Los Arbolitos [Rancho]": "0102",
            "Ardillas de Abajo (Las Ardillas)": "0104",
            "Arellano": "0106",
            "Bajío los Vázquez": "0112"
        }
    }
}
            
        

Obtener localidad y clave oficial por clave de estado y clave de municipio

Este método sirve para poder obtener un listado de las localidades y su clave, se obtiene al buscar una clave estado y una clave de municipio. Para esto se debe acceder al método {get_localidad_por_clave_estado_municipio}, se deberán enviar las siguientes variables tipo GET
Se puede ingresar las siguientes variables tipo GET:

- {token} Variable tipo GET obligatoria, sirve para autenticar el proyecto
- {clave_estado} Variable tipo GET obligatoria, se deberá ingresar la clave del estado
- {clave_municipio} Variable tipo GET obligatoria, se deberá ingresar la clave del municipio del estado dado


Ejemplo de búsqueda:

https://api.copomex.com/query/get_localidad_por_clave_estado_municipio/?clave_estado=01&clave_municipio=001&token=pruebas


Y nos devolverá el siguiente ejemplo:

            
{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "localidad_clave": {
            "Aguascalientes": "0001",
            "Granja Adelita": "0094",
            "Agua Azul": "0096",
            "Rancho Alegre": "0100",
            "Los Arbolitos [Rancho]": "0102",
            "Ardillas de Abajo (Las Ardillas)": "0104",
            "Arellano": "0106",
            "Bajío los Vázquez": "0112"
        }
    }
}
            
        

Obtener información de localidad

Este método sirve para poder obtener la información de una localidad dada, se obtiene al buscar una clave estado y una clave de municipio y la clave de la localidad. Para esto se debe acceder al método {info_localidad}, se deberán enviar las siguientes variables tipo GET
Se puede ingresar las siguientes variables tipo GET:

- {token} Variable tipo GET obligatoria, sirve para autenticar el proyecto
- {clave_estado} Variable tipo GET obligatoria, se deberá ingresar la clave del estado
- {clave_municipio} Variable tipo GET obligatoria, se deberá ingresar la clave del municipio del estado dado

- {clave_localidad} Variable tipo GET obligatoria, se deberá ingresar la clave de la localidad del municipio dado


Ejemplo de búsqueda:

https://api.copomex.com/query/info_localidad/?clave_estado=01&clave_municipio=001&clave_localidad=0001&token=pruebas


Y nos devolverá el siguiente ejemplo:

            
{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "localidad": [
            {
                "clave_estado": "01",
                "nombre_estado": "Aguascalientes",
                "clave_municipio": "001",
                "nombre_municipio": "Aguascalientes",
                "clave_localidad": "0001",
                "nombre_localidad": "Aguascalientes",
                "ambito_localidad": "URBANO",
                "lat_localidad": "21.87982300",
                "lng_localidad": "-102.29604700",
                "altitud_localidad": "1878"
            }
        ]
    }
}
            
        

Obtener vialidades

Este método sirve para poder obtener un listado de las vialidades, se obtiene al buscar una clave estado, una clave de municipio y opcionalmente se puede ingresar la clave de la localidad. Para esto se debe acceder al método {get_vialidad}. Actualmente contamos con mas de 3 millones de vialidades en todo México, pero puede que no tengamos todas las vialidades.
Se puede ingresar las siguientes variables tipo GET:

- {token} Variable tipo GET obligatoria, sirve para autenticar el proyecto
- {clave_estado} Variable tipo GET obligatoria, se deberá ingresar la clave del estado
- {clave_municipio} Variable tipo GET obligatoria, se deberá ingresar la clave del municipio del estado dado

- {clave_localidad} Variable tipo GET opcional, se deberá ingresar la clave de la localidad del municipio dado

- {busqueda} Variable tipo GET opcional, se deberá ingresar palabras clave para la búsqueda del nombre de la localidad

- {limit} Variable tipo GET opcional, se deberá ingresar el limite de resultados. Si no se manda, se asignará de forma automática el valor de 50


Ejemplo del request:

https://api.copomex.com/query/get_vialidad/?clave_estado=01&clave_municipio=001&clave_localidad=0001&token=pruebas


Y nos devolverá el siguiente ejemplo:

            
{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "vialidad": [
            {
                "clave_estado": "01",
                "clave_municipio": "001",
                "clave_localidad": "0001",
                "clave_vialidad": "47118",
                "nombre_vialidad": "10 de Octubre",
                "clave_tipo_vialidad": "5",
                "nombre_tipo_vialidad": "CALLE",
                "ambito_vialidad": "URBANO"
            },
            {
                "clave_estado": "01",
                "clave_municipio": "001",
                "clave_localidad": "0001",
                "clave_vialidad": "05809",
                "nombre_vialidad": "105",
                "clave_tipo_vialidad": "5",
                "nombre_tipo_vialidad": "CALLE",
                "ambito_vialidad": "URBANO"
            },
            {
                "clave_estado": "01",
                "clave_municipio": "001",
                "clave_localidad": "0001",
                "clave_vialidad": "05697",
                "nombre_vialidad": "11-1",
                "clave_tipo_vialidad": "5",
                "nombre_tipo_vialidad": "CALLE",
                "ambito_vialidad": "URBANO"
            },
            {
                "clave_estado": "01",
                "clave_municipio": "001",
                "clave_localidad": "0001",
                "clave_vialidad": "05711",
                "nombre_vialidad": "11-2",
                "clave_tipo_vialidad": "5",
                "nombre_tipo_vialidad": "CALLE",
                "ambito_vialidad": "URBANO"
            }
        ]
    }
}
            
        


Ejemplo del request con busqueda de calle y limitador:

https://api.copomex.com/query/get_vialidad/?clave_estado=01&clave_municipio=001&clave_localidad=0001&busqueda=octubre&limit=10&token=pruebas


Y nos devolverá el siguiente ejemplo:

            
{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "vialidad": [
            {
                "clave_estado": "01",
                "clave_municipio": "001",
                "clave_localidad": "0001",
                "clave_vialidad": "47118",
                "nombre_vialidad": "10 de Octubre",
                "clave_tipo_vialidad": "5",
                "nombre_tipo_vialidad": "CALLE",
                "ambito_vialidad": "URBANO"
            },
            {
                "clave_estado": "01",
                "clave_municipio": "001",
                "clave_localidad": "0001",
                "clave_vialidad": "03343",
                "nombre_vialidad": "19 de Octubre",
                "clave_tipo_vialidad": "5",
                "nombre_tipo_vialidad": "CALLE",
                "ambito_vialidad": "URBANO"
            },
            {
                "clave_estado": "01",
                "clave_municipio": "001",
                "clave_localidad": "0001",
                "clave_vialidad": "02754",
                "nombre_vialidad": "22 de Octubre",
                "clave_tipo_vialidad": "5",
                "nombre_tipo_vialidad": "CALLE",
                "ambito_vialidad": "URBANO"
            }
        ]
    }
}
            
        

Obtener tipo de vialidad

Este método sirve para poder obtener un listado de los tipos de vialidades. Para esto se debe acceder al método {get_tipo_vialidad}, se deberán enviar la variables tipo GET {token} de forma obligatoria

Ejemplo de búsqueda:

https://api.copomex.com/query/get_tipo_vialidad?token=pruebas


Y nos devolverá el siguiente ejemplo:

            
{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "tipo_vialidad_clave": {
            "AMPLIACIÓN": "1",
            "ANDADOR": "2",
            "AVENIDA": "3",
            "BOULEVARD": "4",
            "CALLE": "5",
            "CALLEJÓN": "6",
            "CALZADA": "7",
            "CERRADA": "8",
            "CIRCUITO": "9",
            "CIRCUNVALACIÓN": "10",
            "CONTINUACIÓN": "11",
            "CORREDOR": "12",
            "DIAGONAL": "13",
            "EJE VIAL": "14",
            "PASAJE": "15",
            "PEATONAL": "16",
            "PERIFÉRICO": "17",
            "PRIVADA": "18",
            "PROLONGACIÓN": "19",
            "RETORNO": "20",
            "VIADUCTO": "21",
            "NINGUNO": "22"
        }
    }
}
            
        

Cuenta

Consultas Disponibles

Se puede solicitar las consultas disponibles de un proyecto. Para esto se debe acceder al método {cuenta} y deberá ingresa el criterio de búsqueda {consultas_disponibles} y de forma obligatoria deberá enviar una variable tipo GET {token}
Ejemplo:

https://api.copomex.com/query/cuenta/consultas_disponibles?token=pruebas


Y nos devolverá el siguiente ejemplo:


{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "consultas_disponibles": "9999"
    }
}
    

Última actualización de la base de datos

Se puede consultar la última fecha de actualización de la base de datos de los código postal. Para esto se debe acceder al método {cuenta} y deberá ingresa el criterio de búsqueda {consultas_disponibles} y de forma obligatoria deberá enviar una variable tipo GET {token}
Ejemplo:

https://api.copomex.com/query/cuenta/ultima_actualizacion_db?token=pruebas


Y nos devolverá el siguiente ejemplo:

        
{
    "error": false,
    "code_error": 0,
    "error_message": null,
    "response": {
        "ultima_actualizacion_db": "Mayo 1 de 2020"
    }
}
        
    

Códigos de Error API

Una vez que se haya hecho el request, el servidor regresará un código http 400 si hubo un error en el envío de los parámetros al endpoint.

En la siguiente tabla, se listan los códigos de error:

Código Descripción Método
1 Se bloqueó la IP de solicitud, por uso indebido de la API N/A - Error general
2 No se recibió el token del proyecto N/A - Error general
3 El token del proyecto es inválido N/A - Error general
4 Error en su proyecto, se encuentra inactivo por algún motivo (el motivo está indicado en la respuesta de la aPI) N/A - Error general
5 Los créditos disponibles en su proyecto se han agotado N/A - Error general
102 La longitud del cp es inválida info_cp
103 El cp es inválido o no es un número info_cp
104 El cp es un número negativo info_cp
105 No se encontró el cp info_cp
106 El valor type es incorrecto info_cp
201 No se recibió el cp search_cp
202 El cp es inválido o no es un número search_cp
203 El cp es un número negativo search_cp
204 No se encontró el cp search_cp
205 El limitador de resultados es inválido o no es un número search_cp
301 Este método no recibe parámetros get_estados
401 No se recibió el estado a buscar get_municipio_por_estado
402 No se encontró el estado get_municipio_por_estado
501 No se recibió el municipio a buscar get_cp_por_municipio
502 No se encontró el municipio get_cp_por_municipio
601 No se recibió el cp get_colonia_por_cp
602 La longitud del cp es inválida get_colonia_por_cp
603 El cp es inválido o no es un número get_colonia_por_cp
604 El cp es un número negativo get_colonia_por_cp
605 No se encontró el cp get_colonia_por_cp
701 No se recibió el estado a buscar get_cp_por_estado
702 No se encontró el estado get_cp_por_estado
801 No se recibió el municipio para buscar las colonias get_colonia_por_municipio
802 No se encontró el municipio para buscar las colonias get_colonia_por_municipio
901 No se recibió el estado a buscar el CP search_cp_advanced
902 No se encontraron resultados con los criterios de búsqueda search_cp_advanced
903 El limitador de resultados es inválido o no es un número search_cp_advanced
1001 No se recibió el estado a buscar el CP get_cp_advanced
1002 No se encontraron resultados con los criterios de búsqueda get_cp_advanced
1003 El limitador de resultados es inválido o no es un número get_cp_advanced
1101 No se recibió el tipo de acción para su cuenta cuenta / consulta_creditos
1102 El tipo de acción es inválido cuenta / consulta_creditos
1201 No se recibió el cp info_cp_geocoding
1202 La longitud del cp es inválida info_cp_geocoding
1203 El cp es inválido o no es un número info_cp_geocoding
1204 El cp es un número negativo info_cp_geocoding
1205 No se encontró el cp info_cp_geocoding
1206 El valor type es incorrecto info_cp_geocoding
1301 Este méodo no recibe parametros get_estado_clave
1401 No se recibió el estado a buscar get_municipio_clave_por_estado
1402 No se encontró el estado get_municipio_clave_por_estado
1501 No se recibió el estado a buscar get_municipio_clave_por_clave_estado
1502 No se encontró el estado get_municipio_clave_por_clave_estado
1601 No se recibió el estado a buscar get_localidad_por_estado_municipio
1602 No se recibió el municipio a buscar get_localidad_por_estado_municipio
1603 No se encontró la localidad get_localidad_por_estado_municipio
1701 No se recibió el estado a buscar get_localidad_por_clave_estado_municipio
1702 No se recibió el municipio a buscar get_localidad_por_clave_estado_municipio
1703 No se encontró la localidad get_localidad_por_clave_estado_municipio
1801 No se recibió el estado a buscar info_localidad
1802 No se recibió el municipio a buscar info_localidad
1803 No se recibió la localidad a buscar info_localidad
1804 No se encontró la localidad info_localidad
1901 No se recibió el estado a buscar get_vialidad
1902 No se recibió el municipio a buscar get_vialidad
1903 El valor de limit es inválido get_vialidad
1904 No se encontraron vialidades get_vialidad
2001 Este método no recibe parametros get_tipo_vialidad
2101 Este método no recibe parametros info_cp_geocoding_reverse
2102 No se recibió la variable get lat (latitud) info_cp_geocoding_reverse
2103 No se recibió la variable get lng (Longitud) info_cp_geocoding_reverse
2104 La latitud debe ser mayor a -90 info_cp_geocoding_reverse
2105 La latitud debe ser menor a 90 info_cp_geocoding_reverse
2106 La longitud debe ser mayor a -180 info_cp_geocoding_reverse
2107 La longitud debe ser menor a 180 info_cp_geocoding_reverse
2108 No se encontraron resultados con las coordenadas ingresadas info_cp_geocoding_reverse
2109 Error no registrado. (Se muestra el error en el response) info_cp_geocoding_reverse
2201 No se recibió el estado get_colonia_por_estado_municipio
2202 No se recibió el municipio get_colonia_por_estado_municipio
2203 No se encontraron resultados con la información proporcionada get_colonia_por_estado_municipio

Códigos de ejemplo

A continuación se muestran como obtener información con cualquiera de los métodos disponibles.



Changelog

En esta sección aparecerán los cambios hechos en la API, desde el día de su publicación

Una API de Multiservicios Web