BFS – Ergebnisse der eidgenössischen Volksabstimmungen, Schweiz und Kantone
bfs-vote-results
- Herausgeber
- OFS/BFS
- Zugriffsart
ckan- Tabellen-ID
echtzeitdaten-zu-den-eidgenossischen-abstimmungen-gemeindestand-am-datum-der-abstimmung- Lizenz
- opendata.swiss terms of use "terms_ask": "Open use. Use for commercial purposes requires permission of the data owner." (non-commercial use free; commercial use needs the prior permission of the BFS; citing the source is recommended)
- Abdeckung
- Gebiet Switzerland and the 26 cantons (canton state of the voting day) · von 2024-03-03 · bis 2026-09-27
- Lücken
- Only the voting days from 3 March 2024 are fetched (the package goes back to 14 June 1981); scheduled votes and votes still being counted have no rows. Districts, communes and Zurich counting circles are in the raw files but not kept. Blank and invalid ballots, eligible voters and the cantonal votes (Standesstimmen) are not kept either.
- Verwendet in
- AGORA-22, STORY-09
- Bekannte Grenzen
- BFS figures from the communes, compiled on voting Sunday and corrected afterwards; until provisional = false they can still change. They are not always the Federal Council decree's figures: for anr 665 (13th AHV pension, 03.03.2024) Vaud has 70 422 no votes and turnout 58.21 % here, the decree (BBl 2024 996) 70 222 and 58.17 % (swissvotes has the decree's values). For deciding questions, yes = votes for the initiative and no = votes for the counter-proposal (codebook). The harmonised twin package ("Echtzeitdaten am Abstimmungstag zu eidgenössischen Abstimmungsvorlagen") is not used: for 2025-09-28 its eligible voters for Bern differ from the decree. Cantonal results are on the canton state of the voting day (Moutier in Bern until 2025).
- Prüfung
- verification date: 2026-10-31 · method: Fetched the CKAN package and the 10 voting-day files from 2024-03-03 to 2026-09-27. Compared anr 679 (E-ID-Gesetz, 28.09.2025) with the Federal Council decree on the result of 30.04.2026 (BBl 2026 1165, einziger Artikel Ziff. 2 and Beilage 2): national 1 384 586 yes, 1 363 362 no, turnout 49.58 %; Bern 171 771 yes, 182 387 no, turnout 47.78 % (750 999 eligible, 358 855 ballots); Zurich 274 702 yes, 229 221 no, 52.16 % — the same counts and turnouts as the processed rows. Also anr 677 (BBl 2025 1288: 639 005 yes, 1 473 529 no) agrees; anr 665 Vaud does not (see knownLimits). · checkedValue: anr 679 ch: yes_votes 1384586, no_votes 1363362, yes_pct 50.39, turnout 49.58; anr 679 BE: 171771, 182387, yes_pct 48.50, turnout 47.78 · checkedAgainst: https://www.fedlex.admin.ch/eli/fga/2026/1165/de
- Aufbereitete Datei
- data/processed/bfs-vote-results.csv
Wie aktuell sind diese Daten?
- Aktualität
- Abfrage gestört
Die automatischen Abfragen konnten die Quelle mehrmals hintereinander nicht lesen oder sind länger als vorgesehen nicht gelungen. Die gezeigten Daten stammen von der letzten erfolgreichen Abfrage.
- Abgedeckter Zeitraum
- 03.03.2024–27.09.2026
- Letzte Änderung der Daten
- Letzte Abfrage der Quelle
- Aktualisierungsrhythmus
- Nach jedem Abstimmungssonntag
Vermerk im Register (auf Englisch): Each voting Sunday from 12:00 (provisional official result once all cantons have confirmed); cantonal corrections in the following two weeks; definitive after the Federal Council's validation decree (usually 2–6 months later).
- Votara fragt die Quelle ab
- Jeden Tag
Der Zustand wird bei jeder Erstellung der Website berechnet; diese Seite zeigt den Stand vom . Ergebnisse der Prüfungen
Verarbeitungsschritte
- Read the CKAN package (package_show), take the resources whose name date ("Volksabstimmung vom DD.MM.YYYY– …") is between 2024-03-03 and today (Europe/Zurich), download each JSON file from its download_url and check that its abstimmtag is that date. Script: scripts/fetch/bfs-vote-results.ts
- anr from vorlagenId: BFS vote number × 10 (6670 → 667), connected proposals + 1 initiative, + 2 counter-proposal, + 3 deciding question (6821 → 682.1); the type (vorlagenArtId 1–3 or 4–6) must match, else the fetch fails.
- Only proposals with vorlageBeendet = true (all 26 cantons counted and confirmed): one row geo_level ch (schweiz.vorlagen[].resultat, canton empty) and one row per canton (kantone[].resultat, geoLevelnummer 1–26 → ZH … JU in BFS order; each must be counted and confirmed).
- yes_pct = jaStimmenInProzent and turnout = stimmbeteiligungInProzent, published with 9 decimals, rounded half-up to two decimals; yes_votes = jaStimmenAbsolut, no_votes = neinStimmenAbsolut, copied. provisional = provisorisch (true until the Federal Council has validated the result).
- Checks reported as warnings in the nightly summary: cantonal yes/no votes add up to the national ones; published yes share = 100 × yes ÷ (yes + no); resource rights still terms_ask. Rows sorted by vote number, ch first, then cantons.