Toate datele LaButoane sunt publice și interogabile direct, fără cont și fără limită de utilizare rezonabilă — API REST (PostgREST) cu răspuns JSON sau CSV. Dacă publici ceva pe baza lor, un link către la-butoane.ro e tot ce cerem. Datele provin din sursele oficiale (senat.ro, cdep.ro) și acoperă voturile de plen începând cu 2 februarie 2026.
Fiecare cerere are nevoie de cheia publică de citire (header apikey — e aceeași pe care o folosește site-ul, e sigură de distribuit):
# ultimele 5 voturi, JSON
curl "https://zmxewrkykbxawfhzxbni.supabase.co/rest/v1/votes?select=*&order=vote_date.desc&limit=5" \
-H "apikey: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InpteGV3cmt5a2J4YXdmaHp4Ym5pIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzcyOTk1NzUsImV4cCI6MjA5Mjg3NTU3NX0.zK6SufKAS3YvUYiS5JgeIW6Y2gPw6cjKAMpUzO6JaJE"# același lucru, CSV (deschide direct în Excel)
curl "https://zmxewrkykbxawfhzxbni.supabase.co/rest/v1/votes?select=*&order=vote_date.desc&limit=100" \
-H "apikey: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InpteGV3cmt5a2J4YXdmaHp4Ym5pIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzcyOTk1NzUsImV4cCI6MjA5Mjg3NTU3NX0.zK6SufKAS3YvUYiS5JgeIW6Y2gPw6cjKAMpUzO6JaJE" \
-H "Accept: text/csv" > voturi.csv# cum a votat fiecare partid la un vot anume
curl "https://zmxewrkykbxawfhzxbni.supabase.co/rest/v1/party_vote_breakdown?vote_id=eq.<UUID>" \
-H "apikey: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InpteGV3cmt5a2J4YXdmaHp4Ym5pIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzcyOTk1NzUsImV4cCI6MjA5Mjg3NTU3NX0.zK6SufKAS3YvUYiS5JgeIW6Y2gPw6cjKAMpUzO6JaJE"| votes | toate voturile de plen (dată, cameră, rezultat, numărători) |
| politician_votes | votul fiecărui parlamentar la fiecare vot (pentru/împotrivă/abținere/absent) + devierea de la linia de partid |
| politicians | parlamentarii: nume, cameră, județ, partid curent, rol în Guvern |
| parties | partidele parlamentare |
| laws | legile urmărite: cod, titlu, categorie, rezumat |
| law_status | drumul fiecărei legi: voturile din ambele camere + statusul prezidențial |
| senator_stats | agregate per senator: prezență, devieri, comportament de vot |
| deputy_stats | agregate per deputat |
| party_cohesion | coeziunea partidelor pe voturile disputate |
| party_vote_breakdown | distribuția voturilor pe partid, pentru fiecare vot |
Răspunsurile sunt limitate la 1.000 de rânduri; pentru seturi mari folosește header-ul Range:
# rândurile 0–999, apoi 1000–1999 ș.a.m.d.
curl "https://zmxewrkykbxawfhzxbni.supabase.co/rest/v1/politician_votes?select=*" \
-H "apikey: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InpteGV3cmt5a2J4YXdmaHp4Ym5pIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzcyOTk1NzUsImV4cCI6MjA5Mjg3NTU3NX0.zK6SufKAS3YvUYiS5JgeIW6Y2gPw6cjKAMpUzO6JaJE" \
-H "Range: 0-999"Sintaxa completă de filtrare (eq, gte, in, ilike, join-uri cu select=*,laws(*)) e documentată la postgrest.org. Accesul e read-only, garantat la nivel de bază de date (RLS).
Dacă lucrezi la un material și ai nevoie de un export anume, o verificare de metodologie sau context despre limitările datelor (adoptări tacite, absențe structurale ale miniștrilor), scrie-ne: siminiucdenis@gmail.com.