Current members of the Federal Assembly
parl-members
- Publisher
- Parliamentary Services of the Federal Assembly
- Access method
odata- Table id
MemberCouncil- Licence
- Parliamentary Services conditions of use: source "Parlamentsdienste der Bundesversammlung, Bern" must be named; content must not be altered; the download date must always be visible; no use may suggest an official publication.
- Coverage
- Geography national, by canton · councils National Council (200 seats), Council of States (46 seats) · legislature 52nd (2023-12-04 to 2027-12-05, LegislativePeriod 52)
- Gaps
- Current members only (no former members, no history of party or group changes). Federal Council and Federal Chancellor (also "Active" in MemberCouncil) are excluded. No committees, roles, business or votes yet.
- Used on
- AGORA-13, AGORA-14, STEER-01, STEER-04, AGORA-17, STEER-05, PLAT-08
- Known limits
- date_joined is the start of the member's current MemberCouncil record, not always the first day in the council. Example: person 3891 has been in the Council of States since 2015-12-08 (MemberCouncilHistory) but shows 2026-06-05, the day the service records him as non-party. Names are kept as published (German rows; FR/IT rows had identical names on 2026-10-31).
- Verification
- verification date: 2026-10-31 · method: Fetched MemberCouncil from ws.parlament.ch: 200 National Council and 46 Council of States members. Compared National Council members per canton with the Federal Council ordinance on the seat distribution for the 52nd legislature (SR 161.13 of 1 September 2021, Art. 1) — equal for all 26 cantons. Council of States: two per canton, one each for OW, NW, BS, BL, AR, AI (Art. 150 Cst.). Also compared group strength per council with the Federal Chancellery's "Der Bund kurz erklärt 2026" (as of 19.12.2025, p. 37): V 67/7, M-E 31/15, RL 27/12, G 23/3, GL 11/1 equal; S 41/8 there vs 41/7 here, because person 3891 left the SP on 2026-06-05 (MemberPartyHistory) and is non-attached. · checkedValue: National Council members per canton: ZH 36, BE 24, VD 19, AG 16, SG 12, GE 12, LU 9, TI 8, VS 8 … JU 2 (total 200) · checkedAgainst: https://www.fedlex.admin.ch/eli/cc/2021/533/de
- Processed file
- data/processed/parl-members.csv
How current is this data?
- Freshness
- Checks failing
The automatic checks could not read the source several times in a row, or have not succeeded for longer than planned. The data shown dates from the last successful check.
- Period covered
- Not a time series
- Last change of the data
- Last check of the source
- Update rhythm
- Continuous
Ledger note (in English): Changes whenever a member joins, leaves or changes party or group (successions, resignations, party switches); the service is read nightly.
- Votara checks the source
- Every day
The state is computed each time the site is built; this page shows it as of . Results of the accuracy checks
Transformations
- OData GET MemberCouncil, filter Active eq true and (Council eq 1 or Council eq 2), languages DE, FR and IT, following __next pages. Script: scripts/fetch/parl-opendata.ts
- person_id = PersonNumber; council = CouncilAbbreviation in German (NR, SR); canton = CantonAbbreviation; first_name, last_name, gender (GenderAsString, "m"/"f") as published in the German rows.
- party_id = Party, party_abbr_de/fr/it = PartyAbbreviation of the German, French and Italian rows ("-" = non-party, id 26); group_id = ParlGroupNumber, group_abbr = ParlGroupAbbreviation.
- date_joined = DateJoining (OData /Date(ms)/, midnight UTC) as YYYY-MM-DD.
- Privacy (docs/07) — only the fields above are kept; birth date, birthplace, marital status, children, military rank, mandates and interests published by the service are dropped.
- Seat check: more members than seats, or fewer than 190 (NR) / 40 (SR), fails the fetch; fewer than 200 / 46 is reported as a possible vacancy in the nightly summary.
- Rows sorted by council, canton (constitutional order) and person_id.