---
title: "Censo electoral por edad y sexo"
method: GET
path: "/v1/electoral/censo"
tags: ["Electoral"]
---

# Censo electoral por edad y sexo

`GET /v1/electoral/censo`

## Request

- Base URL: `https://api.alfil.co`
- URL: `https://api.alfil.co/v1/electoral/censo`
- Auth: OAuth 2 (authorization code, authorization URL `https://api.alfil.co/oauth/authorize`, token URL `https://api.alfil.co/oauth/token`, scopes: `buscar:read`)

Votantes habilitados de una elección por sexo y, cuando la fuente lo trae, por rango etario, a nivel nacional/departamental/municipal/puesto. Cita el radicado oficial (RNEC) o DIVIPOL como fuente.

## Query parameters

- `eleccion` string, required
- `geografia` string
- `nivel` 'nacion' | 'departamento' | 'municipio' | 'puesto'
- `cursor` integer

## Response `200`

Censo por sexo y edad

- ElectoralCenso
  - `eleccion` object, required
    - `codigo` string, required
    - `nombre` string, required
  - `fecha` string, required: Fecha de corte del censo (fecha de la elección), ISO 8601
  - `total` integer, required
  - `por_sexo` object, required
    - `mujeres` integer, required
    - `hombres` integer, required
  - `por_edad` CensoEdad[], nullable, required: null cuando la fuente solo trae la partición por sexo (DIVIPOL)
    - `rango` string, required: Rango etario (p. ej. 18-20, 60+)
    - `mujeres` integer, required
    - `hombres` integer, required
  - `filas` CensoFila[], required
    - `codigo` string, nullable, required: Código DIVIPOLA de la fila (null a nivel nación)
    - `rango` string, required: Rango etario, o 'total' cuando la fuente solo trae sexo
    - `sexo` 'F' | 'M', required
    - `habilitados` integer, required
  - `truncado` boolean, required: true cuando esta página no trae el resto del desglose crudo (equivalente a pagina.has_more); total/por_sexo/por_edad siempre reflejan TODAS las filas del censo, nunca solo la página devuelta
  - `pagina` Page, required: Paginación por cursor opaco (no offset)
    - `cursor` string, nullable, required: Cursor opaco de la siguiente página; null si no hay más
    - `has_more` boolean, required: Indica si existen más resultados
  - `fuente` CensoFuente, required
    - `tipo` 'rnec_potencial_etario' | 'divipol', required
    - `referencia` string, nullable, required: Radicado de la solicitud Ley 1712 cuando la fuente es rnec_potencial_etario; null para divipol

## Other responses

- `401`: Token faltante, expirado o de emisor inesperado
- `403`: Scope insuficiente
- `429`: Cuota agotada o rate limit

---

[API](https://skmtc.dev/alfil/apis/alfil-api.md) · [All operations](https://skmtc.dev/alfil/apis/alfil-api/llms.txt) · [OpenAPI document](https://skmtc.dev/alfil/apis/alfil-api/revisions/e2545a4c45a5?raw)
