eleccionesdb API

API REST gratuita, abierta y sin autenticación para consultar datos electorales de España: elecciones generales y autonómicas desde 1977, con resultados a nivel de comunidad autónoma, provincia, municipio y sección censal.

Inicio rápido

La URL base de la API es https://api.spainelectoralproject.com/v1. Todos los endpoints requieren autenticación mediante API key. Incluye tu clave en el header X-API-Key.

curl

# Listar elecciones generales de 2019
curl -X 'GET' 'https://spainelectoralproject.com/v1/tipos-eleccion' -H 'X-API-Key: TU_API_KEY'"

Python

import requests

resp = requests.get(
    "https://api.spainelectoralproject.com/v1/elecciones",
    headers={"X-API-Key": "TU_API_KEY"},
    params={"tipo_eleccion": "G", "year": "2019"}
)
data = resp.json()
print(f"{data['total']} elecciones encontradas")
for e in data["data"]:
    print(f"  {e['fecha']} — {e['descripcion']}")

R

library(httr2)

resp <- request("https://api.spainelectoralproject.com/v1/elecciones") |>
  req_headers("X-API-Key" = "TU_API_KEY") |>
  req_url_query(tipo_eleccion = "G", year = "2019") |>
  req_perform() |>
  resp_body_json()

cat(resp$total, "elecciones encontradas\n")
for (e in resp$data) {
  cat("  ", e$fecha, "—", e$descripcion, "\n")
}

Recursos disponibles

La API organiza los datos en cuatro recursos principales. Todos los listados usan paginación y admiten filtros opcionales.

🗳️

Elecciones

Catálogo de convocatorias electorales: tipo (generales, autonómicas...), fecha, ámbito territorial.

/v1/elecciones

🗺️

Territorios

Jerarquía territorial completa: comunidades autónomas → provincias → municipios → secciones censales.

/v1/territorios

🏛️

Partidos

Partidos políticos con búsqueda por siglas y agrupaciones lógicas (recodes) para análisis longitudinal.

/v1/partidos

📊

Resultados

Totales territoriales (censo, participación, votos), votos por partido y resultados combinados.

/v1/resultados

Ejemplo de respuesta

Todas las respuestas paginadas siguen la misma estructura: total, skip, limit y data.

GET /v1/elecciones?tipo_eleccion=G&year=2019&limit=2

{
  "total": 2,
  "skip": 0,
  "limit": 2,
  "data": [
    {
      "id": 208,
      "tipo_eleccion": "G",
      "year": "2019",
      "mes": "04",
      "dia": "28",
      "fecha": "2019-04-28",
      "descripcion": "Elecciones Generales 2019",
      "ambito": "Nacional",
      "slug": "elecciones-generales-2019"
    },
    {
      "id": 226,
      "tipo_eleccion": "G",
      "year": "2019",
      "mes": "11",
      "dia": "10",
      "fecha": "2019-11-10",
      "descripcion": "Elecciones Generales 2019",
      "ambito": "Nacional",
      "slug": "elecciones-generales-2019"
    }
  ]
}