Small-Area Global Elections (SAGE) Dataset

by Noah Dasanaike

SAGE contains lower-house parliamentary and presidential election returns for 134 countries at the smallest unit each electoral authority publishes, which for most countries is a polling station with fewer than a thousand voters. I scraped, compiled, geocoded, and harmonized the data over the span of 2022-2026. In total, the data contain more than eleven billion votes cast across more than nine million units.

Now archived and citable at Harvard Dataverse: doi.org/10.7910/DVN/YGJR1L.

Formats & access

Tabular (Parquet), partitioned by country and year, with coordinates (about 1 GB); most analyses need only this. Polygons (GeoParquet), one file per country, for choropleth mapping. The R and Python packages load one country and year in a single line:

R:      install.packages("sage")
        sage_load("Germany", years = 2021)

Python: pip install "git+https://github.com/noahdasanaike/sage.git#subdirectory=sage_python"
        import sage; sage.sage_load("Germany", years=2021)

Coverage, sources, and column definitions for each country are in the codebook. R users who want the polygons joined to the vote rows can load the native sf objects; see the code repository.

I release new versions as I add countries, election years, and corrections. Sign up for announcements:

Download

Single file download: the full tabular dataset (all countries and years, votes and coordinates) as a single Parquet file, sage.parquet (~1.1 GB), readable with Arrow, DuckDB, GeoPandas, pandas, or R arrow. Polygon boundaries are not in this file; use the per-country bundles below or the polygons/ tree for geometry.

By country: each row below has a country's files for all years. Click a country to download a single year. csv is a ZIP with one CSV file per election year, which opens in Excel, Stata, R, or Python. gpkg has the unit boundaries as a GeoPackage for QGIS, ArcGIS, R, or Python. parquet has the vote rows as Parquet; for all years it is a ZIP with the GeoParquet boundaries as well. rds is the native R sf object, with the polygons joined to the vote rows, for all years only. codebook is that country's section of the codebook, with its sources and notes. The citable copy of the full dataset is the Harvard Dataverse deposit.

Country Years All years

Countries

Each country has a page with its elections, sources, and downloads by year; open it with the country’s name or the page button. Click elsewhere on the row to see its elections here, with the election type, the vote type or round where there is one, and the number of units. Units are the smallest units in the data, and located units are those with coordinates. Click a column to sort. The table by election is also available as a CSV file.

Afghanistan2018–20192country page →
Albania2017–20253country page →
Argentina2011–20256country page →
Armenia2012–20265country page →
Australia2004–20258country page →
Austria1999–202411country page →
Bangladesh2018–20263country page →
Barbados2022–20262country page →
Belgium2014–20243country page →
Belize1984–202510country page →
Benin2023–20262country page →
Bhutan20181country page →
Bolivia2019–20253country page →
Bosnia and Herzegovina2018–20222country page →
Botswana2014–20192country page →
Brazil1998–20268country page →
Bulgaria2013–20269country page →
Cabo Verde2021–20262country page →
Cambodia20131country page →
Canada1997–202510country page →
Chile2013–20254country page →
Colombia2018–20262country page →
Costa Rica2018–20222country page →
Croatia2011–20258country page →
Cyprus2001–202611country page →
Czechia2002–20259country page →
Democratic Republic of the Congo20231country page →
Denmark1979–202616country page →
Dominica2014–20223country page →
Dominican Republic2000–202410country page →
Ecuador2002–20258country page →
Egypt2014–20183country page →
El Salvador2014–20214country page →
Estonia2011–20234country page →
Fiji20221country page →
Finland2003–20249country page →
France2002–20246country page →
Gambia20211country page →
Georgia2012–20244country page →
Germany1998–20258country page →
Ghana2012–20244country page →
Greece2012–20234country page →
Greenland2005–202613country page →
Grenada20221country page →
Guatemala20231country page →
Guyana2015–20252country page →
Honduras20211country page →
Hong Kong2016–20212country page →
Hungary2002–20267country page →
Iceland1952–202428country page →
India20191country page →
Indonesia20191country page →
Iran20171country page →
Iraq20211country page →
Ireland2002–20257country page →
Isle of Man2016–20263country page →
Israel2006–20228country page →
Italy1948–202219country page →
Ivory Coast20251country page →
Jamaica2007–20255country page →
Japan2009–20267country page →
Kenya20221country page →
Kosovo2017–20265country page →
Kyrgyzstan2015–20255country page →
Latvia2014–20264country page →
Lebanon2018–20222country page →
Lesotho2017–20222country page →
Liberia2011–20233country page →
Liechtenstein2001–20257country page →
Lithuania2016–20244country page →
Luxembourg2004–20235country page →
Madagascar2018–20243country page →
Malawi2019–20252country page →
Malaysia2008–20224country page →
Maldives20241country page →
Malta2003–20266country page →
Mauritania20241country page →
Mexico1991–202412country page →
Moldova2014–20257country page →
Mongolia2020–20212country page →
Montenegro2020–20232country page →
Morocco2016–20263country page →
Mozambique1994–20094country page →
Myanmar2010–20152country page →
Namibia2014–20243country page →
Nepal2017–20263country page →
Netherlands2010–20256country page →
New Zealand1996–202310country page →
Nicaragua20011country page →
Nigeria20191country page →
North Macedonia2016–20242country page →
Norway2001–20257country page →
Pakistan20181country page →
Palestine20061country page →
Panama2004–20245country page →
Papua New Guinea1987–20177country page →
Paraguay2003–20184country page →
Peru2006–20265country page →
Philippines2022–20252country page →
Poland1990–202516country page →
Portugal1976–202625country page →
Romania2014–20256country page →
Russia2000–202411country page →
Saint Lucia2021–20252country page →
Samoa20251country page →
Senegal20241country page →
Serbia2000–202212country page →
Seychelles2020–20252country page →
Singapore2020–20252country page →
Slovakia2002–20249country page →
Slovenia2012–20266country page →
Solomon Islands2006–20194country page →
South Africa2004–20245country page →
South Korea2002–202511country page →
Spain1982–202313country page →
Sri Lanka2020–20242country page →
Suriname20251country page →
Sweden2002–20267country page →
Switzerland1971–202314country page →
Taiwan1995–202411country page →
Thailand2023–20262country page →
Timor-Leste20181country page →
Trinidad and Tobago2015–20253country page →
Tunisia20141country page →
Turkey2011–20235country page →
Uganda2006–20214country page →
Ukraine20191country page →
United Kingdom2001–20247country page →
United States of America2016–20243country page →
Uruguay2014–20243country page →
Vanuatu2002–20256country page →
Venezuela20131country page →
Zambia20211country page →
Zimbabwe20181country page →

Release V1.4

November 1, 2026

[] [codebook] [country-level coverage]

Release V1.3

October 9, 2026

[] [codebook] [country-level coverage]

Release V1.2

July 24, 2026

[] [codebook] [country-level coverage]

Release V1.1

July 7, 2026

[]

Added 2025 national elections (Germany, Vanuatu, Ecuador, Australia, Philippines, Portugal, Singapore, Poland, Kosovo, Bolivia, Norway, Moldova, Argentina, Netherlands, Kyrgyzstan) and 2026 national elections (Portugal, Japan, Thailand, Nepal, Colombia, Slovenia, Denmark, Hungary, Peru, Bulgaria, Cyprus, Armenia, Kosovo); expanded Taiwan to full legislative coverage; switched Malaysia to per-election parliamentary boundaries; updated the 2024 United States presidential precincts.

Earlier releases

v1.0 and before

[]

v1.0 (June 30, 2026): Public release; conditionally accepted at Nature Scientific Data
v0.895 (September 30th, 2025): Fixed Croatian vote-share aggregation
v0.89 (August 25th, 2025): Fixed party names in Chile and Slovakia; minor party name adjustments elsewhere
v0.88 (July 14th, 2025): Added 2025 South Korean presidential election; Fixed Danish eligible voter and turnout calculation
v0.875 (July 9th, 2025): Added Portugal parish boundaries back to 1976, fixed independent candidate reference
v0.87 (May 30th, 2025): Added elections for the Kyrgyz Republic, Liechtenstein, Mauritania, Uganda, making 110 total countries
v0.86 (May 6th, 2025): Added registered voter turnout in the United States for 2012 to 2020
v0.85 (April 5th, 2025): Redid all of the United States; presidential results only from 2008 to 2024
v0.81 (March 24th, 2025): Redid all of Greece from scratch, and added 2023 elections
v0.80 (March 17th, 2025): Added registered/eligible voter counts to elections in Canada, Denmark, Finland, Hungary
v0.78 (March 12th, 2025): Changed party columns corresponding to candidates in Myanmar to candidate columns
v0.75 (February 4th, 2025): Added turnout for most Russian elections
v0.7 (January 24th, 2025): Fixed Bosnia and Herzegovina Thiessen polygons
v0.6 (January 15th, 2025): Fixed bug in Thiessen generation code affecting polygon edges
v0.5 (January 9th, 2025): Added 2024 election results for multiple countries
v0.4 (January 7th, 2025): Added 2014 and 2018 Hungarian elections
v0.3 (December 20th, 2024): Added Icelandic presidential elections
v0.2 (December 8th, 2024): Fixed overseas France geometry (meridian Thiessen issues)
v0.1 (September 5th, 2024): Fixed vote count totals for Uruguay and the Solomon Islands
v0.0 (August 6th, 2024): Initial completion of the data

Citation

If you use SAGE, please cite both the dataset and the accompanying paper:

Dasanaike, Noah. The Small-Area Global Elections (SAGE) Dataset. Harvard Dataverse, https://doi.org/10.7910/DVN/YGJR1L (2026).
Dasanaike, Noah. “The Small-Area Global Elections (SAGE) Dataset.” Scientific Data (2026).

Please also cite

I scraped nearly every SAGE country from official government sources, then geocoded and harmonized the results. For several countries, though, I started from data that other researchers gathered and released first. If you use one of these countries, please cite the original source alongside SAGE.

Brazil (polling-station coordinates)
Since release 1.2, the polling-station coordinates for 2014, 2018, and 2022 come from F. Daniel Hidalgo’s geocoded Brazilian polling stations instead of the official TSE coordinates.
Afghanistan
Results compiled by Colin Cookman from the Independent Election Commission: 2018 parliamentary and 2019 presidential.
Pakistan
Polling-station data for the 2018 general election, transcribed from Election Commission of Pakistan scans by Colin Cookman and team: pakistan_polling_stations_2018.
Uganda
2006, 2011 and 2016 polling-station results from the Uganda Elections Data Portal, a project of the International Republican Institute, which converted the Electoral Commission’s PDFs into machine-readable form.
United States
The 2024 election comes from The New York Times’ 2024 presidential precinct map, for which the Times assembled precinct returns and boundaries from state and county sources nationwide. Earlier years use VEST (Voting and Election Science Team), Joshua Metcalf, and Jonathan Rodden, as well as my own collection; see also Baltz et al. under related projects below.
Malaysia
Since release 1.2, the polling-district results come from ElectionData.MY (Thevesh Thevananthan), which compiled them from Form 14 returns obtained from stakeholders, and polling-district boundaries from Tindak Malaysia.
Mexico
For 1991 through 2021, I use Eric Magar’s compiled returns (Magar 2019), elecRetrns, and added the coordinates myself. I collected the 2024 election directly from INE.
Papua New Guinea and Solomon Islands
Constituency results compiled by Terence Wood (2019).
Russia
Polling-station returns come from the compilations of Sergey Shpilkin and Ivan Shukshin, scraped from the Central Election Commission and distributed at dkobak/elections. The Commission has never released station-level results in bulk and has closed many of its results pages over time. The collection therefore cannot be rebuilt from the official source. Station addresses used for geocoding come partly from the GIS-Lab CIK commission directory and the UIK GEO crowdsourcing project.
South Africa
Boundary files from SA-Maps.
Ghana, Zambia and Botswana
Parliamentary constituency boundaries from Brian Engelsma’s African parliamentary constituency shapefiles.
Belgium, DR Congo, Myanmar, Uruguay
From openly released compilations by José Parreiras (Belgium), Bernard Ng’andu (DR Congo 2023), Thomas Cunningham (Myanmar 2015), and ale-uy (Uruguay 2019).

SAGE is one of several projects that make election returns comparable across places. For some questions, one of these will suit better than SAGE:

Constituency-Level Elections Archive (CLEA)
Constituency-level results for lower and upper chambers in 183 countries, going much further back than SAGE. I use CLEA to check SAGE’s country totals.
GERDA: The German Election Database
Local, state, and federal German results by municipality and county over three decades, harmonized across boundary changes and mail-in districts. GERDA covers far more German elections than SAGE does and has an R package.
American election results at the precinct level (Baltz et al. 2022)
Nearly all available US precinct results for 2016, 2018, and 2020, for every office from president down to ballot initiatives. The collection covers many more offices than SAGE does.
Precinct-Level Election Data (Ansolabehere, Palmer and Lee)
US precinct returns by state for 2002 to 2012, before SAGE’s US precinct data begin.
Adrian Frith, South African election and census maps
An interactive map of South African general election results, 2004 to 2019, down to the voting district, along with census and boundary maps.
elecRetrns (Eric Magar)
Mexican federal and state election returns, kept up to date for many years. The collection includes state races; SAGE has only federal ones.
Electoral precinct-level database for Mexican municipal elections (Calderón-Hernández, Larreguy, Marshall and Pérez-Castellanos 2025)
Precinct-level returns for Mexican municipal elections, 1994 to 2019, with identifiers for the incumbent coalition, registration, and turnout. SAGE has federal elections only; for local Mexican contests, use this database.