Usage Notes

This dataset harmonizes German electoral data over time, mapping historical election results onto consistent municipal boundaries despite administrative changes. It unifies previously scattered and inconsistently reported election data into a centralized, standardized format.

How to Use the Data

Longitudinal studies

Use harmonized datasets for comparisons across time. All results are mapped to consistent 2021 (or 2023/2025) municipal boundaries.

Cross-sectional analyses

Use unharmonized datasets for single-election analyses. These preserve original boundaries and reporting at the time of the election.

Important caveats

Electoral rules and reporting practices vary across states. Be cautious when comparing smaller municipalities or across state boundaries.

More details can be found in the accompanying paper, including information on data sources and processing steps.


Federal Elections

Bundestag election results at the municipality and county level. Municipality-level data covers 1980–2025 (unharmonized) and 1990–2025 (harmonized to 2021 or 2025 boundaries). County-level data covers 1990–2025 (harmonized). Includes turnout, valid/invalid votes, and vote shares for all parties.

Files: federal_muni_unharm, federal_muni_harm_21, federal_muni_harm_25, federal_cty_unharm, federal_cty_harm

Issue Description
Mail-in vote allocation Shared Briefwahl districts require proportional allocation based on polling-card voters. This is an approximation.
Pre-1990 not harmonized Municipality-level data exists from 1980, but harmonization only starts at 1990 due to crosswalk limitations.
Rounding from harmonization Minor vote total discrepancies when aggregating merged municipalities; typically a handful of votes.
Data sources

Bundeswahlleiterin. https://www.bundeswahlleiterin.de/bundeswahlleiter.html.


State Elections

Landtag election results at the municipality level for all 16 states, 1946–2025. Harmonized versions cover 1990–2025 with three boundary targets (2021, 2023, 2025). The unharmonized file preserves all individual party columns.

Files: state_unharm, state_harm, state_harm_21, state_harm_23, state_harm_25

Issue Description
Bayern Gesamtstimmen Bavaria reports combined first + second votes (Gesamtstimmen). This means valid_votes + invalid_votes = number_voters × 2. Account for this when comparing across states.
Missing turnout in some state-years Rheinland-Pfalz 1979–2016, Hessen 1958/1962, Schleswig-Holstein 1983 (partial), and Bayern 1994–2013 (eligible_voters) lack full turnout metadata. Affected rows have NA values.
Percentage-only data Bremen 1946–1995 provides vote share percentages only (no absolute counts). Rheinland-Pfalz 1979–2016 has absolute vote counts but lacks turnout denominator data (eligible_voters, number_voters, invalid_votes are NA).
Data sources

Raw election files from state statistical offices and election authorities across all 16 German states (1946–2025).


Municipal Elections

Kommunalwahl results at the municipality level, 1984–2025 (unharmonized) and 1990–2025 (harmonized), covering all 16 states. Includes turnout and party vote shares. Municipal elections are not synchronized across Germany—each state sets its own schedule.

Files: municipal_unharm, municipal_harm, municipal_harm_25

Issue Description
Varying reporting standards States sometimes lump small local parties or independents into “Other.” Disaggregated where possible; flagged otherwise.
Mail-in vote allocation Shared Briefwahl districts require proportional allocation; same approximation method as federal elections.
Rounding from harmonization Minor vote total discrepancies from boundary harmonization.
Data sources
StateSourceProcured via
Baden-WürttembergStatistisches Landesamt Baden-Württembergemail
BayernBayerisches Landesamt für Statistikwebsite
BrandenburgAmt für Statistik Berlin-Brandenburgwebsite
BremenStatistisches Landesamt Bremenwebsite
HamburgStatistik Nordwebsite
HessenHessisches Statistisches Landesamtwebsite
Mecklenburg-VorpommernLandesamt für innere Verwaltung & Statistisches Amtwebsite
NiedersachsenLandesamt für Statistik Niedersachsenwebsite (post-2006), email (pre-2006)
Nordrhein-WestfalenStatistisches Landesamt NRWemail
Rheinland-PfalzStatistisches Landesamt Rheinland-Pfalzemail
SaarlandStatistisches Landesamt des Saarlandesemail
SachsenStatistisches Landesamt des Freistaates Sachsenwebsite
Sachsen-AnhaltStatistisches Landesamt Sachsen-Anhaltwebsite
Schleswig-HolsteinStatistisches Amt für Hamburg und Schleswig-Holsteinwebsite (except 2013), email for 2013
ThüringenThüringer Landesamt für Statistikwebsite

European Elections

European Parliament election results at the municipality level for 4 elections: 2009, 2014, 2019, 2024. Harmonized to 2021 boundaries.

Files: european_muni_unharm, european_muni_harm

Issue Description
Limited time coverage Only 4 elections available; earlier European Parliament elections are not included.
Mail-in vote allocation Votes from shared Briefwahl districts distributed proportionally to municipalities.
Data sources

Bundeswahlleiterin. European Parliament election results at the municipality level.


Mayoral Elections

Bürgermeisterwahl results for 7 states (Bayern, Niedersachsen, NRW, Rheinland-Pfalz, Saarland, Sachsen, Schleswig-Holstein), 1945–2025. Includes election-level results, candidate-level data (with gender and migration background classifications), and an annual mayor panel for tracking individuals across terms. Mayoral elections are not synchronized—each municipality has its own schedule.

Files: mayoral_unharm, mayoral_harm, mayoral_candidates, mayor_panel, mayor_panel_harm, mayor_panel_annual, mayor_panel_annual_harm

Issue Description
7 states only Mayoral election data is available only for Bayern, Niedersachsen, NRW, Rheinland-Pfalz, Saarland, Sachsen, and Schleswig-Holstein.
Rheinland-Pfalz: percentages only All count columns (eligible_voters, number_voters, etc.) are NA. Only vote share percentages are available. Flagged with flag_pct_only.
Bayern: no candidate names Source data lacks candidate names. Cross-round matching uses party instead; mayor panel uses date of first taking office for person identification.
Sachsen runoff structure Sachsen holds a full re-election with all candidates (not a 2-person runoff) when no one wins >50% in the first round.
VG/SG elections excluded from harmonization Verbandsgemeinde and Samtgemeinde mayoral elections (~1,100 rows) use pseudo-AGS codes not in the municipality crosswalk.
Data sources

Data procured from state statistical offices and election authorities in Bayern, Niedersachsen, Nordrhein-Westfalen, Rheinland-Pfalz, Saarland, Sachsen, and Schleswig-Holstein (1945–2025) via their websites and direct email requests.


County Elections

Kreistag (county council) election results, 1948–2024, at both municipality and county level. Available for 11 states. Harmonized to 2021 boundaries.

Files: county_elec_unharm, county_elec_harm_21

Issue Description
Partial state coverage Not all 16 states have county election data; coverage varies by state and time period.
Varying reporting standards States use different party categorization and reporting granularity for county council elections.

Harmonization

To facilitate consistent comparisons across time and regions, we provide files harmonized to 2021 municipal and county boundaries. We use official crosswalks to track mergers, splits, and boundary shifts.

Harmonization versions

For state elections, three harmonization versions are available:

  • 2021 boundaries (state_harm_21): All elections mapped to 2021 municipal boundaries
  • 2023 boundaries (state_harm_23): All elections mapped to 2023 municipal boundaries
  • 2025 boundaries (state_harm_25): All elections mapped to 2025 municipal boundaries

For federal elections, harmonized data is available for both 2021 and 2025 municipality boundaries, based on crosswalk files created from official cross-sectional information on municipality reforms.

Crosswalks and shapefiles

Meinungsbild

The Meinungsbild component provides subnational public opinion estimates for 43 policy issues, estimated using Multilevel Regression and Poststratification (MRP). Estimates are available at three geographic levels: federal states, electoral districts, and counties. For full details and interactive exploration, see the Meinungsbild page.

Note: These estimates are intended for exploration and descriptive purposes. MRP estimates can suffer from validity concerns, particularly for small geographic units or issues with limited survey data. They should not be interpreted as ground truth. The Meinungsbild data is not available for download.

Code Availability

The code used to generate the datasets is available in the code folder of our GitHub repository. Additional details and instructions are provided in the scripts.

Authors

Andreas Wiedemann, Hanno Hilbig, Vincent Heddesheimer, and Florian Sichart.

GERDA authors

Acknowledgements

We thank Cornelius Erfort, Sascha Riaz and Moritz Marbach for helpful comments. We also thank the anonymous reviewers at Scientific Data for their constructive feedback. Thanks to Daniela Gaus, Maurice Baudet von Gersdorff, and Luca Schenk for excellent research assistance and Victor Kreitman for providing code and data on election dates.

Citation

Please cite the accompanying paper when using this dataset:

Heddesheimer, Vincent, Hanno Hilbig, Florian Sichart, & Andreas Wiedemann. 2025. GERDA: German Election Database. Nature: Scientific Data, 12: 618.

@article{Heddesheimer2025GERDA,
   author = {Vincent Heddesheimer and Hanno Hilbig and Florian Sichart and Andreas Wiedemann},
   doi = {10.1038/s41597-025-04811-5},
   issn = {2052-4463},
   issue = {1},
   journal = {Scientific Data},
   month = {4},
   pages = {618},
   title = {GERDA: The German Election Database},
   volume = {12},
   url = {https://www.nature.com/articles/s41597-025-04811-5},
   year = {2025}
}