Código postal de Costa Rica

Buscá el código postal de cualquier distrito por su nombre o por su número. Datos oficiales del IGN para las 7 provincias, 84 cantones y 494 distritos.

Escribí el nombre de un distrito o cantón, o un código postal de 5 dígitos.

Buscar por provincia, cantón y distrito

Provincias y cantones de Costa Rica

Elegí una provincia o un cantón para ver los códigos postales de todos sus distritos.

Ver los 84 cantonesVer los 494 distritos

Distritos dentro y fuera de la GAM

Los 494 distritos con su código postal y su zona, según la Gran Área Metropolitana del Plan GAM 2013-2030. Filtrá por zona o buscá por nombre o código.

Zona

Código postalDistritoCantónProvinciaZona

Cómo funciona el código postal de Costa Rica

Costa Rica no tiene un único código postal: cada distrito tiene el suyo, de 5 dígitos. Es el código oficial del distrito: P (provincia, 1 dígito) + CC (cantón, 2 dígitos) + DD (distrito, 2 dígitos). Por ejemplo, San Antonio de Desamparados es 1 03 05 = 10305.

Los códigos de cada provincia empiezan con su número: 1 San José, 2 Alajuela, 3 Cartago, 4 Heredia, 5 Guanacaste, 6 Puntarenas y 7 Limón. Cuando un distrito pasa a otro cantón, su código viejo se retira y no se reutiliza, así que puede haber saltos en la numeración (por ejemplo, Grecia no tiene distrito 6).

Preguntas frecuentes

¿Cuál es el código postal de Costa Rica?

No hay uno solo: cada uno de los 494 distritos tiene su propio código de 5 dígitos. Por ejemplo, el centro de San José (distrito Carmen) es 10101, Alajuela centro es 20101, Cartago (Oriental) es 30101 y Heredia centro es 40101. Buscá el tuyo con el buscador de arriba.

¿Qué pongo en "zip code" cuando compro en línea?

El código postal de 5 dígitos de tu distrito. Los formularios internacionales lo llaman "zip code" o "postal code", pero en Costa Rica es el mismo número.

¿Cuántas provincias, cantones y distritos tiene Costa Rica?

Según la División Territorial Administrativa 2026 del IGN, Costa Rica tiene 7 provincias, 84 cantones y 494 distritos. Los cantones más recientes son Monteverde y Puerto Jiménez, en Puntarenas. Los distritos más nuevos son Pijije (Bagaces) y Cabagra (Buenos Aires), creados por ley en mayo de 2025.

¿Qué códigos postales son de la GAM?

Hoy son 167 distritos dentro de la Gran Área Metropolitana y 327 fuera; podés verlos en la lista de distritos. Se usa la definición oficial del Plan GAM 2013-2030 del MIVAH. Cuando el límite parte un distrito, cuenta como GAM si al menos la mitad de sus edificaciones quedan dentro. Algunas empresas de envío usan su propia lista; por ejemplo, Grecia no es GAM en la definición oficial.

¿De dónde salen los datos?

De la División Territorial Administrativa 2026 del Instituto Geográfico Nacional (IGN), la división oficial de provincias, cantones y distritos. El código postal es el código oficial de cada distrito.

API gratuita de códigos postales para desarrolladores

Todos estos datos están disponibles como API JSON gratuita: archivos estáticos, CORS abierto y sin API key.

7provincias
84cantones
494distritos

Fuente: División Territorial Administrativa 2026, Instituto Geográfico Nacional.

Endpoints de la API

Todos responden GET con JSON. Los números de cantón y distrito van sin ceros a la izquierda.

RutaDevuelve
/provincias.jsonLas 7 provincias
/provincia/{p}/cantones.jsonCantones de una provincia
/provincia/{p}/canton/{c}/distritos.jsonDistritos de un cantón
/codigo-postal/{PCCDD}.jsonUn distrito por su código postal, con su cantón y provincia
/distritos.jsonLista plana de todos los distritos con código postal
/gam.jsonCódigos postales dentro y fuera de la GAM, para tarifas de envío
/todo.jsonÁrbol completo con códigos oficiales y áreas en km²
/meta.jsonVersión de la API, fuente, edición y totales
/openapi.jsonEspecificación OpenAPI 3.1 de la API
/llms.txtGuía de uso para agentes de IA

Ejemplos de uso

// Cantones de San José
const cantones = await fetch('/provincia/1/cantones.json').then(r => r.json());
// { "1": "San José", "2": "Escazú", "3": "Desamparados", ... }

// Distrito a partir del código postal
const d = await fetch('/codigo-postal/10305.json').then(r => r.json());
// { "codigo_postal": "10305", "distrito": "San Antonio", "canton": "Desamparados",
//   "provincia": "San José", "codigos": { "provincia": 1, "canton": 3, "distrito": 5 },
//   "gam": true, ... }

Preguntas sobre la API

¿La API es gratis? ¿Necesito una API key?

Es gratis y no necesita API key ni registro. Tiene CORS abierto, así que la podés usar directamente desde el navegador, una app móvil o un servidor.

¿Cada cuánto se actualizan los datos?

Cuando el Instituto Geográfico Nacional publica una nueva edición de la División Territorial Administrativa, que sale cada dos años, o cuando una ley crea un cantón o distrito nuevo. /meta.json indica la edición vigente.

¿Sirve como reemplazo de ubicaciones.paginasweb.cr?

Sí. Las rutas /provincias.json, /provincia/{p}/cantones.json y /provincia/{p}/canton/{c}/distritos.json tienen la misma forma, así que solo cambiás la URL base.