Saltar a la demo en vivo

Sincronizado del catálogo oficial de SEPOMEX

Los datos postales de México, en una sola API.

Cada código postal, cada colonia, los 32 estados, directo del catálogo oficial de SEPOMEX. Un token Bearer, JSON limpio, sin SDK que instalar.

códigos postales
31,874
códigos postales
colonias
157,932
colonias
municipios
2,478
municipios
estados
32
estados

5 dígitos, incluyendo ceros a la izquierda

Prueba

GET /v1/postal-codes/

200 OK · ejemplo en caché ejemplo

Juárez

Cuauhtémoc · Ciudad de México

{
    "data": {
        "id": 384,
        "code": "06600",
        "state": {
            "id": 1,
            "name": "Ciudad de México",
            "code": "09"
        },
        "municipality": {
            "id": 6,
            "name": "Cuauhtémoc",
            "code": "015"
        },
        "city": {
            "id": 1,
            "name": "Ciudad de México"
        },
        "settlements": [
            {
                "id": 532,
                "name": "Juárez",
                "zone": "Urbano",
                "settlement_type": {
                    "id": 1,
                    "name": "Colonia"
                }
            }
        ]
    }
}

API en vivo, mismos datos y estructura que el endpoint con key. No necesitas key para probar.

Una sola URL base. Todo el catálogo.

Cada endpoint devuelve JSON, paginado cuando tiene sentido, con encabezados Cache-Control para que tu cliente pueda cachear sin problemas.

  • GET /v1/postal-codes/{code}

    Estado, municipio, ciudad y cada colonia de un código de 5 dígitos

    06600 → Juárez · Cuauhtémoc, CDMX

  • GET /v1/postal-codes?q={prefix}

    Autocompletado: códigos que empiezan con un prefijo numérico

    066 → 06600, 06700, 06760 …

  • GET /v1/postal-codes/search

    Busca códigos por estado, municipio y/o nombre de colonia

    Jalisco · Guadalajara · Centro → 44100

  • GET /v1/postal-codes/{code}/settlements

    Solo las colonias de un código, respuesta ligera

    64000 → Monterrey Centro, La Finca …

  • GET /v1/postal-codes/{code}/geocode

    Latitud y longitud de un código

    97000 → 20.97, -89.62

  • GET /v1/states · /v1/states/{id}/municipalities

    Los 32 estados y los municipios de cada uno

    09 → Cuauhtémoc, Benito Juárez …

  • GET /v1/settlements?q={name}

    Busca colonias por nombre en todo el país

    Polanco → 11550, 11560 …

  • GET /v1/geocode/reverse

    El código postal más cercano a un par de lat / long

    19.43, -99.13 → 06000

Detalles completos de solicitud y respuesta en la referencia de API.

Podrías parsear el archivo de SEPOMEX tú mismo.

El catálogo oficial se distribuye como un archivo de texto separado por pipes: cada colonia del país, codificada en Latin-1, sin IDs estables, actualizado sin calendario fijo. Puedes descargarlo, parsearlo, hospedarlo y acordarte de re-sincronizarlo cada pocos meses. O puedes llamar a un endpoint.

GET /v1/postal-codes/06600

Esa es toda la integración.

Precios

Gratis para empezar. Planes de pago en pesos mexicanos. Cancela cuando quieras.

Free

$0 / mes

100 solicitudes / mes

  • Sin tarjeta de crédito
  • Soporte comunitario
Empieza gratis

Starter

$149 / mes

5,000 solicitudes / mes

  • Soporte por correo
  • Múltiples tokens de API
Comienza

Pro

Popular

$499 / mes

50,000 solicitudes / mes

  • Soporte prioritario
  • Múltiples tokens de API
Comienza

Business

$1,499 / mes

250,000 solicitudes / mes

  • Soporte dedicado
  • Múltiples tokens de API
Comienza

Intégralo en tu stack

Autentícate con un token Bearer, parsea el JSON. Esa es la integración.

curl -s https://api.postalkit.mx/v1/postal-codes/06600 \
  -H "Authorization: Bearer YOUR_API_KEY"
const res = await fetch(
  "https://api.postalkit.mx/v1/postal-codes/06600",
  { headers: { Authorization: "Bearer YOUR_API_KEY" } },
);
const { data } = await res.json();
// data.settlements -> [{ name: "Roma Norte", ... }, ...]
use Illuminate\Support\Facades\Http;

$data = Http::withToken('YOUR_API_KEY')
    ->get('https://api.postalkit.mx/v1/postal-codes/06600')
    ->json('data');
import requests

data = requests.get(
    "https://api.postalkit.mx/v1/postal-codes/06600",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
).json()["data"]

Referencia completa · Especificación OpenAPI · Colección de Postman

Haz tu primera llamada en dos minutos.

Regístrate, verifica tu correo, copia tu key. El plan gratis es 100 solicitudes al mes, sin tarjeta.

curl -s https://api.postalkit.mx/v1/postal-codes/06600 -H "Authorization: Bearer YOUR_KEY"