Códigos postales de Sonora
Sonora concentra 981 códigos postales repartidos en 72 municipios y 8,816 colonias. Van del 83000 al 85994.
- Códigos postales
- 981
- Municipios
- 72
- Colonias
- 8,816
- Rango
- 83000–85994
Los dos primeros dígitos son el estado
Sonora usa 3 prefijos de dos dígitos: 83, 84, 85. Un código que empiece con cualquiera de ellos está en Sonora y en ningún otro estado.
- 83
- 84
- 85
Eso vale para todo el país: entre los 31,880 códigos postales del catálogo, no hay un solo prefijo de dos dígitos que compartan dos estados. Por eso se puede saber el estado con un código a medio escribir, y por eso una búsqueda por prefijo de dos dígitos es un filtro por estado disfrazado.
Por número de códigos postales, Sonora ocupa el lugar 18 de 32 estados; por número de municipios, el 11.
Municipios de Sonora
72 en total, en orden alfabético, con la clave INEGI que la API devuelve en municipality.code y el tramo que cubren sus códigos postales.
| Nombre | INEGI | Códigos postales | Rango |
|---|---|---|---|
| Aconchi | 001 | 10 | 84920–84935 |
| Agua Prieta | 002 | 29 | 84200–84318 |
| Álamos | 003 | 15 | 85760–85779 |
| Altar | 004 | 18 | 83750–83797 |
| Arivechi | 005 | 4 | 85680–85695 |
| Arizpe | 006 | 7 | 84640–84657 |
| Atil | 007 | 6 | 83820–83837 |
| Bacadéhuachi | 008 | 9 | 84480–84496 |
| Bacanora | 009 | 6 | 85660–85676 |
| Bacerac | 010 | 7 | 84380–84397 |
| Bacoachi | 011 | 6 | 84680–84695 |
| Bácum | 012 | 8 | 85260–85278 |
| Banámichi | 013 | 5 | 84880–84895 |
| Baviácora | 014 | 9 | 84940–84958 |
| Bavispe | 015 | 12 | 84360–84377 |
| Benito Juárez | 071 | 7 | 85290–85298 |
| Benjamín Hill | 016 | 16 | 83900–83927 |
| Caborca | 017 | 38 | 83600–83740 |
| Cajeme | 018 | 72 | 85000–85219 |
| Cananea | 019 | 11 | 84620–84637 |
| Carbó | 020 | 12 | 83380–83398 |
| Cucurpe | 022 | 7 | 84660–84679 |
| Cumpas | 023 | 16 | 84500–84527 |
| Divisaderos | 024 | 6 | 84730–84747 |
| Empalme | 025 | 32 | 85300–85537 |
| Etchojoa | 026 | 7 | 85280–85288 |
| Fronteras | 027 | 11 | 84320–84336 |
| General Plutarco Elías Calles | 070 | 12 | 83570–83590 |
| Granados | 028 | 1 | 84460 |
| Guaymas | 029 | 42 | 85400–85513 |
| Hermosillo | 030 | 148 | 83000–83357 |
| Huachinera | 031 | 8 | 84400–84427 |
| Huásabas | 032 | 5 | 84530–84536 |
| Huatabampo | 033 | 42 | 85240–85994 |
| Huépac | 034 | 2 | 84860–84874 |
| Imuris | 035 | 13 | 84120–84137 |
| La Colorada | 021 | 6 | 85540–85556 |
| Magdalena | 036 | 12 | 84160–84178 |
| Mazatán | 037 | 3 | 85560–85575 |
| Moctezuma | 038 | 8 | 84560–84576 |
| Naco | 039 | 12 | 84180–84197 |
| Nácori Chico | 040 | 5 | 84440–84450 |
| Nacozari de García | 041 | 6 | 84340–84349 |
| Navojoa | 042 | 42 | 85220–85896 |
| Nogales | 043 | 49 | 84000–84118 |
| Ónavas | 044 | 3 | 85740–85748 |
| Opodepe | 045 | 6 | 84800–84850 |
| Oquitoa | 046 | 1 | 83840 |
| Pitiquito | 047 | 10 | 83960–83990 |
| Puerto Peñasco | 048 | 11 | 83550–83567 |
| Quiriego | 049 | 7 | 85720–85737 |
| Rayón | 050 | 5 | 84980–84990 |
| Rosario | 051 | 7 | 85700–85717 |
| Sahuaripa | 052 | 8 | 85600–85618 |
| San Felipe de Jesús | 053 | 1 | 84960 |
| San Ignacio Río Muerto | 072 | 5 | 85514–85519 |
| San Javier | 054 | 1 | 85620 |
| San Luis Río Colorado | 055 | 38 | 83400–83540 |
| San Miguel de Horcasitas | 056 | 13 | 83360–83378 |
| San Pedro de la Cueva | 057 | 6 | 84700–84711 |
| Santa Ana | 058 | 7 | 84600–84617 |
| Santa Cruz | 059 | 3 | 84140–84150 |
| Sáric | 060 | 3 | 83860–83890 |
| Soyopa | 061 | 5 | 85640–85656 |
| Suaqui Grande | 062 | 1 | 85580 |
| Tepache | 063 | 3 | 84750–84760 |
| Trincheras | 064 | 4 | 83930–83937 |
| Tubutama | 065 | 6 | 83800–83818 |
| Ures | 066 | 8 | 84900–84919 |
| Villa Hidalgo | 067 | 2 | 84580–84583 |
| Villa Pesqueira | 068 | 3 | 84770–84790 |
| Yécora | 069 | 12 | 85780–85798 |
Un rango es un primer código y un último código, no una afirmación de que todo lo que hay en medio pertenezca al mismo lugar. Los rangos se traslapan, y esa es la razón habitual de que una consulta por rango devuelva más de lo que esperabas.
Los mismos datos, en JSON
Esta tabla es una sola llamada. Sonora tiene el id 26 en el catálogo, y pedir sus códigos postales recorre los 981, de veinte en veinte.
Solicitud
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://api.postalkit.mx/v1/states/26/postal-codes
Respuesta
{
"data": [
{
"id": 25381,
"code": "83000",
"state": {
"id": 26,
"name": "Sonora",
"code": "26"
},
"municipality": {
"id": 1911,
"name": "Hermosillo",
"code": "030"
},
"city": {
"id": 512,
"name": "Hermosillo"
}
}
],
"links": { "first": "...", "last": "...", "prev": null, "next": "..." },
"meta": { "current_page": 1, "total": 981, "per_page": 20 }
}
Si lo que traes es el nombre y no el id, la búsqueda geográfica lo acepta como texto, y acepta el nombre que escribiría una persona, no solo el del catálogo.
Solicitud
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://api.postalkit.mx/v1/postal-codes/search?state=Sonora"
Un nivel más abajo, /v1/states/26/municipalities devuelve la tabla de arriba con sus ids, que es sobre lo que se arma un menú en cascada estado → municipio.
Antes de copiarla
Qué hay en esta página, y qué hay detrás
-
La fuente es el catálogo nacional de SEPOMEX.
Cada cifra de aquí es un conteo sobre las mismas filas con las que responde la API: el catálogo que publica Correos de México, importado completo y no por muestra.
-
Se revisa cada mes, y solo se mueve cuando se mueve la fuente.
La actualización compara un hash del catálogo publicado antes de escribir nada, así que un mes sin cambios deja los datos intactos. GET /v1/account/db-version te dice qué versión estás leyendo.
-
Un código postal no es un polígono.
El catálogo es una lista de códigos con las colonias que cuelgan de cada uno, no un archivo de fronteras. Te dice qué colonias comparten un código; no te dibuja la forma de ninguno.
-
Un código, muchas colonias.
Es el caso normal, no la excepción: Sonora tiene 8,816 colonias repartidas en 981 códigos. Un formulario que espere que un código lleve a un solo barrio se va a equivocar más veces de las que acierte.