API i widgets
Tot el contingut de Hola Política és open data sota llicència CC-BY 4.0. Pots consumir l'API REST directament, incrustar widgets a la teva web o descarregar fitxers de tota la legislatura. Veure metodologia →
API REST pública
L'API està hostatjada a https://api.holapolitica.org. No requereix autenticació; les peticions són respostes JSON amb caché de 5 minuts. Si esperes fer més de 100 peticions per minut, contacta'ns abans de desplegar res.
| Endpoint | Descripció |
|---|---|
GET /votes | Llistat paginat de votacions. Filtres: chamber_id, legislature_id, topic_slug, proposing_group_slug, result, date_from, date_to, q. |
GET /votes/{id} | Detall d'una votació individual: totals (sí, no, abst., absent), descripció, expedient, proposant, resum planer. |
GET /initiatives/{id} | Iniciativa parlamentària: títol original, situació, vots associats, temes. |
GET /topics | Taxonomia tancada de temes (17 editorials + 17 ODS). Paràmetre opcional kind=theme|sdg. |
GET /topics/{slug} | Detall del tema amb nom multilingüe i descripció. |
GET /topics/{slug}/initiatives | Iniciatives classificades sota un tema. Filtres: legislature_id, status. |
GET /groups | Grups parlamentaris actius. Filtre legislature_id. |
GET /groups/{slug} | Detall d'un grup parlamentari. |
GET /groups/{slug}/members | Diputats actius del grup amb dates de pertinença. |
GET /groups/{slug}/composition | Distribució per gènere, edat i partit electoral. |
GET /persons | Llistat paginat de diputats. Filtres: q, legislature_id. |
GET /persons/{id} | Fitxa pública del diputat (mai dades privades). |
GET /persons/{id}/kpis | Indicadors agregats: assistència, dissidència, vots emesos. |
GET /stats/summary | Comptadors globals (iniciatives, votacions, classificades). |
GET /metrics/cohesion?vote_id=N | Cohesió per grup en una votació concreta. |
GET /metrics/coincidence?legislature_id=N | Matriu completa de coincidència entre parelles de grups. |
GET /metrics/attendance?legislature_id=N | Assistència per diputat al període sol·licitat. |
GET /metrics/dissidence?legislature_id=N | Dissidència individual respecte a la línia del grup. |
Exemple amb curl — última pàgina de votacions del PSOE:
curl -s "https://api.holapolitica.org/votes?proposing_group_slug=psoe&page_size=5" \
| jq '.items[] | {id, title, voted_at, result}'Les rutes són estables; canvis de signatura es comuniquen amb mes d'antelació al CHANGELOG.
Widgets embedables
Cinc widgets pensats per a articles de premsa: incrusta'ls amb un <iframe> sense scripts ni cookies de tercers. Cap tracker, càrrega <1s, contingut només factual amb atribució a Hola Política i enllaç a la font.
| Ruta | Què mostra | Alçada |
|---|---|---|
/embed/votes/{id} | Resultat d'una votació: totals, qui ho proposa, barra apilada. | 320px |
/embed/groups/{slug} | Cohesió mitjana, assistència mitjana, mida del grup. | 220px |
/embed/topics/{slug} | Distribució d'iniciatives sobre el tema (aprovades, rebutjades, en tràmit). | 220px |
/embed/persons/{id} | Fitxa breu del diputat: foto, grup, KPIs (assistència, dissidència). | 220px |
/api/og/vote/{id} | Imatge social 1200×630 (PNG) per a Open Graph / Twitter. | — |
Exemple d'iframe:
<iframe src="https://holapolitica.org/embed/votes/12345" width="100%" height="320" frameborder="0" sandbox="allow-scripts allow-same-origin" loading="lazy" title="Votació al Congrés — Hola Política" ></iframe>
El sandbox és recomanat però opcional. Si t'omple massa l'alçada, ajusta l'atribut height — el contingut és responsive.
Diccionari de dades essencial
Els camps més consultats. La definició completa és al codi font (models/__init__.py).
- vote.result:
approved|rejected|tie. Empat només quan els sí igualen els no exactament. - vote.proposed_by_government: booleà. Quan és
true, el campproposing_group_slugsol sernull: el govern proposa, no un grup. - vote.expediente_raw: codi oficial del Congrés (p.ex.
122/000262) — clau per cercar a la font original. - initiative.type: enum amb
proyecto_ley,proposicion_ley,proposicion_no_ley,real_decreto_ley,mocion,interpelacion,other. - cohesion: percentatge de membres del grup que voten igual que la majoria del grup.
nullquan menys de 3 membres voten. - coincidence: percentatge de votacions on dos grups voten igual sentit (sí vs. sí, no vs. no, abst. vs. abst.).
- attendance: percentatge de votacions on el diputat emet un vot (sí, no o abstenció). Excusats i baixes computen com a absents perquè la font no els distingeix.
- dissidence: percentatge de votacions on el diputat vota diferent que la majoria del seu grup. Diputats amb càrrec institucional (govern, mesa) tenen valors no comparables; el camp
role_kindho indica.
Llicències i atribució
- Dades: CC-BY 4.0. Reutilitza-les citant Hola Política i la font original (Congreso de los Diputados).
- Codi font: EUPL-1.2 (GitHub).
- Widgets i imatges OG: lliures d'ús en mitjans i xarxes amb la mateixa obligació d'atribució.
Contacte tècnic: dades@holapolitica.org.
Si la teva redacció necessita un tall concret (per exemple, totes les votacions d'un partit en un trimestre), obre un issue al repositori i ho prioritzem.
Obrir un issue a GitHub