Politica Electoral

API de datos electorales del mundo democrático: partidos políticos, perfiles ideológicos y programas electorales.

Documentación

Política Electoral — Servidor MCP

Una API de datos políticos que cubre el mundo democrático: partidos, políticos, figuras públicas, eventos, votaciones del congreso, instituciones, procedimientos parlamentarios y conceptos políticos. Disponible como servidor MCP (Model Context Protocol) sobre HTTP para integraciones con agentes de IA, además de una API REST en /api/v1/* y versiones Markdown sin procesar por página ({any-page}.md).

Todo el contenido está en español. (Existió un piloto en inglés hasta agosto de 2026; las URL de perfil heredadas /en/ ahora devuelven 301 a su equivalente en español, cualquier otra URL /en/ devuelve 404).


Endpoints

URLDescripción
POST /mcp-serverEndpoint principal JSON-RPC 2.0
GET /mcp-serverInformación del servidor
GET /.well-known/mcp.jsonDescubrimiento MCP
GET /llms.txtÍndice de contenido apto para LLM (URLs en ES + EN)
GET /openapi.jsonEspecificación OpenAPI 3.1 para la API REST
GET /api/docsDocumentación interactiva de la API REST (Scalar)

Protocolo

MCP 2024-11-05 sobre HTTP (JSON-RPC 2.0).

Solicitud mínima:

POST /mcp-server
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_parties_list",
    "arguments": { "country": "es" }
  }
}

Protocolo de enlace completo:

# 1. Initialize
curl -X POST https://www.politicaelectoral.com/mcp-server \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"my-client","version":"1.0"}}}'

# 2. Notify ready (no response expected)
curl -X POST https://www.politicaelectoral.com/mcp-server \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"notifications/initialized","params":{}}'

# 3. List available tools
curl -X POST https://www.politicaelectoral.com/mcp-server \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

Códigos de país

El argumento country es siempre un código ISO 3166-1 alpha-2.

CódigoPaís
esEspaña
arArgentina
mxMéxico
clChile
coColombia
uyUruguay
pePerú
veVenezuela
brBrasil
usEstados Unidos
gbGran Bretaña
frFrancia
deAlemania
itItalia
ptPortugal
nlPaíses Bajos
seSuecia
plPolonia
huHungría
grGrecia
ilIsrael
euUnión Europea

Herramientas

El servidor expone 25 herramientas, agrupadas por propósito:

Todos los ejemplos de herramientas a continuación usan el método JSON-RPC tools/call:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": { "name": "<TOOL>", "arguments": { ... } }
}

Descubrimiento y búsqueda

summarize_country

Resumen político de alto nivel: jefe de gobierno, principales partidos, últimas/próximas elecciones, eventos recientes, totales por tipo de recurso.

{ "name": "summarize_country", "arguments": { "country": "es" } }

search

Búsqueda de texto libre entre recursos (políticos, partidos, figuras públicas, eventos, votaciones, instituciones, procedimientos, conceptos), ordenada por puntuación.

ArgumentoTipoObligatorioDescripción
countrystringsíCódigo de país ISO-2
qstringsíConsulta de texto libre (≥ 2 caracteres)
limitintegernoMáximo de resultados (1–50, por defecto 20)
{ "name": "search", "arguments": { "country": "es", "q": "sanchez", "limit": 5 } }

Partidos y políticos

get_parties_list

Lista de partidos políticos de un país.

{ "name": "get_parties_list", "arguments": { "country": "es" } }

get_party_profile

Perfil ideológico e histórico de un partido (Markdown).

ArgumentoTipoObligatorioDescripción
countrystringsíCódigo de país ISO-2
partystringsíSlug del partido (p. ej. pp, psoe, vox)
{ "name": "get_party_profile", "arguments": { "country": "es", "party": "psoe" } }

get_politicians_list

Lista de políticos de un país, opcionalmente filtrada por partido.

ArgumentoTipoObligatorioDescripción
countrystringsíCódigo de país ISO-2
partystringnoSlug del partido para filtrar
{ "name": "get_politicians_list", "arguments": { "country": "es", "party": "psoe" } }

get_politician_profile

Perfil detallado de un político: trayectoria, cargo actual y posicionamiento ideológico (Markdown).

ArgumentoTipoObligatorioDescripción
countrystringsíCódigo de país ISO-2
politicianstringsíSlug del político (p. ej. pedro-sanchez)
{ "name": "get_politician_profile", "arguments": { "country": "es", "politician": "pedro-sanchez" } }

compare_parties

Comparación lado a lado de dos partidos del mismo país.

{ "name": "compare_parties", "arguments": { "country": "es", "party_a": "pp", "party_b": "psoe" } }

compare_politicians

Comparación lado a lado de dos políticos.

{ "name": "compare_politicians", "arguments": { "country": "es", "politician_a": "pedro-sanchez", "politician_b": "alberto-nunez-feijoo" } }

Elecciones

get_elections_list

Lista de elecciones disponibles para un país, con tipo (generales, autonomicas, europeas) y fecha.

{ "name": "get_elections_list", "arguments": { "country": "es" } }

get_election_regions

Lista de regiones (comunidades autónomas, estados, etc.) disponibles para una elección específica.

ArgumentoTipoObligatorioDescripción
countrystringsíCódigo de país ISO-2
electionstringsíSlug de la elección (p. ej. generales-2023, autonomicas-2024)
{ "name": "get_election_regions", "arguments": { "country": "es", "election": "generales-2023" } }

get_election_region

Página de inicio general para una elección + región específicas: contexto, partidos participantes, datos clave.

ArgumentoTipoObligatorioDescripción
countrystringsíCódigo de país ISO-2
electionstringsíSlug de la elección
regionstringsíSlug de la región (p. ej. nacional, cataluna, madrid)
{ "name": "get_election_region", "arguments": { "country": "es", "election": "generales-2023", "region": "nacional" } }

get_election_region_parties

Lista de partidos con contenido electoral para una elección + región específicas.

{ "name": "get_election_region_parties", "arguments": { "country": "es", "election": "generales-2023", "region": "nacional" } }

get_election_region_party

Resumen del programa electoral de un partido en una elección + región específicas (Markdown).

{ "name": "get_election_region_party",
  "arguments": { "country": "es", "election": "generales-2023", "region": "nacional", "party": "pp" } }

Figuras públicas

Figuras públicas no políticas con relevancia política: monarcas, periodistas, líderes empresariales, asesores, jueces, fiscales, etc.

get_public_figures_list

ArgumentoTipoObligatorioDescripción
countrystringsíCódigo de país ISO-2
kindstringnoFiltrar por tipo: monarca, periodista, empresario, asesor, juez, fiscal, figura
{ "name": "get_public_figures_list", "arguments": { "country": "gb", "kind": "monarca" } }

get_public_figure

{ "name": "get_public_figure", "arguments": { "country": "gb", "slug": "king-charles-iii" } }

Votaciones del Congreso (solo España)

get_votes_list

Votaciones clave del Congreso español.

{ "name": "get_votes_list", "arguments": { "country": "es" } }

get_vote

Análisis detallado de una votación: resultado, desglose por partido, contexto.

{ "name": "get_vote", "arguments": { "country": "es", "vote": "ley-amnistia-2024" } }

Instituciones, procedimientos y conceptos

get_institutions_list · get_institution

Instituciones del Estado (parlamento, gobierno, poder judicial, órganos de control, órganos consultivos).

{ "name": "get_institution", "arguments": { "country": "es", "institution": "tribunal-constitucional" } }

get_procedures_list · get_procedure

Procedimientos parlamentarios (p. ej. investidura, moción de censura).

{ "name": "get_procedure", "arguments": { "country": "es", "procedure": "mocion-de-censura" } }

get_political_concepts_list · get_political_concept

Conceptos políticos (separación de poderes, método D'Hondt, voto en blanco vs. nulo, etc.).

ArgumentoTipoObligatorioDescripción
countrystringsíCódigo de país ISO-2
subcategorystringnofundamental o electoral
{ "name": "get_political_concept", "arguments": { "country": "es", "concept": "division-de-poderes" } }

Eventos

Grandes eventos políticos: escándalos, crisis, episodios de política exterior, reformas constitucionales, etc.

{ "name": "get_events_list", "arguments": { "country": "es" } }
{ "name": "get_event", "arguments": { "country": "es", "event": "atentados-11m-2004" } }

Flujo recomendado

Obtener el programa electoral de un partido:

get_elections_list(country)               → pick election slug
get_election_regions(country, election)   → pick region slug
get_election_region_parties(...)          → pick party slug
get_election_region_party(...)            → programme as Markdown

Obtener el perfil de un partido:

get_parties_list(country)        → pick party slug
get_party_profile(country, ...)  → ideological profile as Markdown

Exploración de texto libre:

search(country, q="<term>")      → ranked mixed-resource results

Versiones Markdown (URLs .md sin procesar)

Cada página pública también ofrece una versión Markdown sin procesar añadiendo .md a la URL.

Todas las entidades (español):

/es/{country-es}/partido/{slug}.md                 → party profile
/es/{country-es}/politicos/{slug}.md               → politician profile
/es/{country-es}/personajes/{slug}.md              → public figure profile
/es/{country-es}/eventos/{slug}.md                 → political event
/es/{country-es}/votaciones/{slug}.md              → Congress vote (Spain)
/es/{country-es}/instituciones/{slug}.md           → state institution
/es/{country-es}/procedimientos/{slug}.md          → parliamentary procedure
/es/{country-es}/conceptos-politicos/{slug}.md     → political concept
/es/{country-es}/{election}/{region}.md            → election landing
/es/{country-es}/{election}/{region}/{party}.md    → party programme summary

Ejemplos:

https://www.politicaelectoral.com/es/espana/politicos/pedro-sanchez.md
https://www.politicaelectoral.com/es/reino-unido/personajes/king-charles-iii.md
https://www.politicaelectoral.com/es/eeuu/partido/republicano.md

Si no hay un .md publicado para ese slug, la URL devuelve 404.


API REST

Además de MCP, los mismos datos se exponen como API REST con raíz en /api/v1/. Especificación: /openapi.json. Documentación interactiva: /api/docs.

# List parties for Spain
curl 'https://www.politicaelectoral.com/api/v1/parties?country=es'

# Politician profile
curl 'https://www.politicaelectoral.com/api/v1/politicians/pedro-sanchez?country=es'

# Free-text search
curl 'https://www.politicaelectoral.com/api/v1/search?q=sanchez&country=es&limit=5'

country es siempre ISO-2. lang tiene como valor predeterminado es y es el único valor admitido (cualquier otro devuelve 400).


Licencia y uso

Los datos provienen de los programas electorales oficiales de cada partido. Los perfiles y análisis se generan con IA a partir de fuentes públicas. Uso gratuito para proyectos no comerciales con atribución.

Sitio: politicaelectoral.com