Office briefing
ANCASH / SANTA / SANTA — District municipal ballot
Tracked current office. Identifiers stay separate from display names.
Peru · ANCASH / SANTA / SANTA / ANCASH · municipal · District municipal ballotPE-07b061331820fd
Read the complete original research briefing
ONPE geography matched on full named hierarchy; original electoral codes retained. Municipal votes are shared mayor–council slate ballots; seats require JNE proclamation.
1. What office, where, and when is the next election?
- Geography
- ANCASH / SANTA / SANTA / ANCASH
- Next election
- 2026-10-04
- Linked upcoming event
- next-01be34084ab15cf306615dc1
- Registry qualification
- Unknown
2. How certain is that date?
2026-10-04 is expected (not formally called). Day precision. A date without a formal call is not confirmed.
3. Who won earlier selected elections?
2022-10-02
Ordinary · Legal certification not established · list votes
- ALIANZA PARA EL PROGRESO30.9%
- MOVIMIENTO REGIONAL EL MAICITO15.5%
- MOVIMIENTO INDEPENDIENTE REGIONAL ANCASH A LA OBRA12.0%
- JUNTOS POR EL PERU10.9%
- MOVIMIENTO ACCION NACIONALISTA PERUANO8.1%
- SOCIOS POR ANCASH7.9%
- ALIANZA GOBIERNO UNIDAD Y ACCION - AGUA5.0%
- PARTIDO POLITICO NACIONAL PERU LIBRE4.4%
- PODEMOS PERU2.1%
- RENOVACION POPULAR1.9%
- PARTIDO DEMOCRATICO SOMOS PERU1.5%
| Label / candidate | Party code | Votes | Share | Seats | Status |
|---|---|---|---|---|---|
| ALIANZA PARA EL PROGRESO | peru/Sc91a28be23/2022 | 4,970 | 30.9% | Unknown | Recorded |
| MOVIMIENTO REGIONAL EL MAICITO | peru/Sc91a28be23/2022 | 2,491 | 15.5% | Unknown | Recorded |
| MOVIMIENTO INDEPENDIENTE REGIONAL ANCASH A LA OBRA | peru/Sc91a28be23/2022 | 1,925 | 12% | Unknown | Recorded |
| JUNTOS POR EL PERU | peru/Sc91a28be23/2022 | 1,749 | 10.9% | Unknown | Recorded |
| MOVIMIENTO ACCION NACIONALISTA PERUANO | peru/Sc91a28be23/2022 | 1,298 | 8.1% | Unknown | Recorded |
| SOCIOS POR ANCASH | peru/Sc91a28be23/2022 | 1,267 | 7.9% | Unknown | Recorded |
| ALIANZA GOBIERNO UNIDAD Y ACCION - AGUA | peru/Sc91a28be23/2022 | 801 | 5% | Unknown | Recorded |
| PARTIDO POLITICO NACIONAL PERU LIBRE | peru/Sc91a28be23/2022 | 710 | 4.4% | Unknown | Recorded |
| PODEMOS PERU | peru/Sc91a28be23/2022 | 332 | 2.1% | Unknown | Recorded |
| RENOVACION POPULAR | peru/Sc91a28be23/2022 | 302 | 1.9% | Unknown | Recorded |
| PARTIDO DEMOCRATICO SOMOS PERU | peru/Sc91a28be23/2022 | 245 | 1.5% | Unknown | Recorded |
2018-10-07
Ordinary · Legal certification not established · list votes
- MOVIMIENTO INDEPENDIENTE REGIONAL RIO SANTA CAUDALOSO18.6%
- MOVIMIENTO REGIONAL EL MAICITO18.2%
- ALIANZA PARA EL PROGRESO12.3%
- MOVIMIENTO INDEPENDIENTE REGIONAL ANCASH A LA OBRA10.9%
- PARTIDO APRISTA PERUANO10.6%
- JUNTOS POR EL PERU8.6%
- DEMOCRACIA DIRECTA5.9%
- FUERZA POPULAR5.1%
- FRENTE POPULAR AGRICOLA FIA DEL PERU - FREPAP3.7%
- PARTIDO DEMOCRATICO SOMOS PERU3.3%
- PODEMOS POR EL PROGRESO DEL PERU2.0%
- ACCION POPULAR0.4%
- TODOS POR EL PERU0.3%
- AVANZA PAIS - PARTIDO DE INTEGRACION SOCIAL0.0%
- RESTAURACION NACIONAL0.0%
- SIEMPRE UNIDOS0.0%
- VAMOS PERU0.0%
- MOVIMIENTO ACCION NACIONALISTA PERUANO0.0%
- MOVIMIENTO INDEPENDIENTE REGIONAL HORA CERO0.0%
- MOVIMIENTO REGIONAL ANDE - MAR0.0%
| Label / candidate | Party code | Votes | Share | Seats | Status |
|---|---|---|---|---|---|
| MOVIMIENTO INDEPENDIENTE REGIONAL RIO SANTA CAUDALOSO | peru/S3a6d07677a/2018 | 3,016 | 18.6% | Unknown | Recorded |
| MOVIMIENTO REGIONAL EL MAICITO | peru/S3a6d07677a/2018 | 2,953 | 18.2% | Unknown | Recorded |
| ALIANZA PARA EL PROGRESO | peru/S3a6d07677a/2018 | 1,996 | 12.3% | Unknown | Recorded |
| MOVIMIENTO INDEPENDIENTE REGIONAL ANCASH A LA OBRA | peru/S3a6d07677a/2018 | 1,761 | 10.9% | Unknown | Recorded |
| PARTIDO APRISTA PERUANO | peru/S3a6d07677a/2018 | 1,726 | 10.6% | Unknown | Recorded |
| JUNTOS POR EL PERU | peru/S3a6d07677a/2018 | 1,400 | 8.6% | Unknown | Recorded |
| DEMOCRACIA DIRECTA | peru/S3a6d07677a/2018 | 957 | 5.9% | Unknown | Recorded |
| FUERZA POPULAR | peru/S3a6d07677a/2018 | 823 | 5.1% | Unknown | Recorded |
| FRENTE POPULAR AGRICOLA FIA DEL PERU - FREPAP | peru/S3a6d07677a/2018 | 607 | 3.7% | Unknown | Recorded |
| PARTIDO DEMOCRATICO SOMOS PERU | peru/S3a6d07677a/2018 | 528 | 3.3% | Unknown | Recorded |
| PODEMOS POR EL PROGRESO DEL PERU | peru/S3a6d07677a/2018 | 330 | 2% | Unknown | Recorded |
| ACCION POPULAR | peru/S3a6d07677a/2018 | 66 | 0.4% | Unknown | Recorded |
| TODOS POR EL PERU | peru/S3a6d07677a/2018 | 46 | 0.3% | Unknown | Recorded |
| AVANZA PAIS - PARTIDO DE INTEGRACION SOCIAL | peru/S3a6d07677a/2018 | 0 (recorded zero) | 0% (recorded zero) | Unknown | Recorded |
| RESTAURACION NACIONAL | peru/S3a6d07677a/2018 | 0 (recorded zero) | 0% (recorded zero) | Unknown | Recorded |
| SIEMPRE UNIDOS | peru/S3a6d07677a/2018 | 0 (recorded zero) | 0% (recorded zero) | Unknown | Recorded |
| VAMOS PERU | peru/S3a6d07677a/2018 | 0 (recorded zero) | 0% (recorded zero) | Unknown | Recorded |
| MOVIMIENTO ACCION NACIONALISTA PERUANO | peru/S3a6d07677a/2018 | 0 (recorded zero) | 0% (recorded zero) | Unknown | Recorded |
| MOVIMIENTO INDEPENDIENTE REGIONAL HORA CERO | peru/S3a6d07677a/2018 | 0 (recorded zero) | 0% (recorded zero) | Unknown | Recorded |
| MOVIMIENTO REGIONAL ANDE - MAR | peru/S3a6d07677a/2018 | 0 (recorded zero) | 0% (recorded zero) | Unknown | Recorded |
2014-10-05
Ordinary · Legal certification not established · list votes
- ALIANZA PARA EL PROGRESO40.3%
- MOVIMIENTO INDEPENDIENTE REGIONAL RIO SANTA CAUDALOSO20.9%
- MOVIMIENTO REGIONAL ANDE - MAR7.8%
- PARTIDO HUMANISTA PERUANO6.2%
- MOVIMIENTO INDEPENDIENTE REGIONAL PURO ANCASH5.7%
- DEMOCRACIA DIRECTA5.6%
- PARTIDO APRISTA PERUANO5.1%
- PARTIDO DEMOCRATICO SOMOS PERU3.2%
- ALIANZA HORA CERO FUERZA POPULAR2.3%
- MOVIMIENTO ACCION NACIONALISTA PERUANO2.1%
- SIEMPRE UNIDOS0.7%
- PERU PATRIA SEGURA0.4%
| Label / candidate | Party code | Votes | Share | Seats | Status |
|---|---|---|---|---|---|
| ALIANZA PARA EL PROGRESO | peru/Sf2ea9fdc53/2014 | 6,314 | 40.3% | Unknown | Recorded |
| MOVIMIENTO INDEPENDIENTE REGIONAL RIO SANTA CAUDALOSO | peru/Sf2ea9fdc53/2014 | 3,278 | 20.9% | Unknown | Recorded |
| MOVIMIENTO REGIONAL ANDE - MAR | peru/Sf2ea9fdc53/2014 | 1,224 | 7.8% | Unknown | Recorded |
| PARTIDO HUMANISTA PERUANO | peru/Sf2ea9fdc53/2014 | 965 | 6.2% | Unknown | Recorded |
| MOVIMIENTO INDEPENDIENTE REGIONAL PURO ANCASH | peru/Sf2ea9fdc53/2014 | 886 | 5.7% | Unknown | Recorded |
| DEMOCRACIA DIRECTA | peru/Sf2ea9fdc53/2014 | 871 | 5.6% | Unknown | Recorded |
| PARTIDO APRISTA PERUANO | peru/Sf2ea9fdc53/2014 | 794 | 5.1% | Unknown | Recorded |
| PARTIDO DEMOCRATICO SOMOS PERU | peru/Sf2ea9fdc53/2014 | 494 | 3.2% | Unknown | Recorded |
| ALIANZA HORA CERO FUERZA POPULAR | peru/Sf2ea9fdc53/2014 | 359 | 2.3% | Unknown | Recorded |
| MOVIMIENTO ACCION NACIONALISTA PERUANO | peru/Sf2ea9fdc53/2014 | 329 | 2.1% | Unknown | Recorded |
| SIEMPRE UNIDOS | peru/Sf2ea9fdc53/2014 | 108 | 0.7% | Unknown | Recorded |
| PERU PATRIA SEGURA | peru/Sf2ea9fdc53/2014 | 58 | 0.4% | Unknown | Recorded |
4. Competition and volatility
competition index
Provisional imported-series CI43.510–100 historical closeness
Actual-event and/or comparability review incomplete
Comparison status: Provisional imported-series comparison; actual-event review open
Method ci.weighted-gap.v1. Inputs: latest_gap=15.407085146053447, oldest_gap=19.362244897959187, previous_gap=0.38867295946696245
pedersen volatility
Provisional volatility21.61percentage points
Grouped Pedersen lower bound (percentage points). Eight exact standalone national-party-name categories in ONPE returns. Regional movements, alliances and changed labels remain Other; no merger or party-rename bridge is assumed. Source geography and validity exclusions apply before calculation. An interval is withheld if either election has no list mapped to an explicit named group. This is aggregate share change, not individual voter switching. Event review: Actual-event and/or comparability review incomplete
Comparison status: Latest interval
Method pedersen.grouped.v1. Inputs: groups=["ALIANZA PARA EL PROGRESO","PARTIDO DEMOCRATICO SOMOS PERU","ACCION POPULAR","FUERZA POPULAR","PARTIDO APRISTA PERUANO","PARTIDO POPULAR CRISTIANO - PPC","UNION POR EL PERU","FRENTE POPULAR AGRICOLA FIA DEL PERU - FREPAP","Other"], interval=Latest interval, vectors=[[30.888750776880048,1.5226848974518334,0,0,0,0,0,0,67.58856432566813],[12.314146461842187,3.2574495650564503,0.4071811956320563,5.077426121290641,10.648405206983774,0,0,3.7448331174039113,64.550558331791],[40.267857142857146,3.1505102040816326,0,0,5.063775510204081,0,0,0,51.517857142857146]]
pedersen volatility
Provisional volatility27.95percentage points
Grouped Pedersen lower bound (percentage points). Eight exact standalone national-party-name categories in ONPE returns. Regional movements, alliances and changed labels remain Other; no merger or party-rename bridge is assumed. Source geography and validity exclusions apply before calculation. An interval is withheld if either election has no list mapped to an explicit named group. This is aggregate share change, not individual voter switching. Event review: Actual-event and/or comparability review incomplete
Comparison status: Previous interval
Method pedersen.grouped.v1. Inputs: groups=["ALIANZA PARA EL PROGRESO","PARTIDO DEMOCRATICO SOMOS PERU","ACCION POPULAR","FUERZA POPULAR","PARTIDO APRISTA PERUANO","PARTIDO POPULAR CRISTIANO - PPC","UNION POR EL PERU","FRENTE POPULAR AGRICOLA FIA DEL PERU - FREPAP","Other"], interval=Previous interval, vectors=[[30.888750776880048,1.5226848974518334,0,0,0,0,0,0,67.58856432566813],[12.314146461842187,3.2574495650564503,0.4071811956320563,5.077426121290641,10.648405206983774,0,0,3.7448331174039113,64.550558331791],[40.267857142857146,3.1505102040816326,0,0,5.063775510204081,0,0,0,51.517857142857146]]
pedersen volatility
Provisional volatility24.78percentage points
Grouped Pedersen lower bound (percentage points). Eight exact standalone national-party-name categories in ONPE returns. Regional movements, alliances and changed labels remain Other; no merger or party-rename bridge is assumed. Source geography and validity exclusions apply before calculation. An interval is withheld if either election has no list mapped to an explicit named group. This is aggregate share change, not individual voter switching. Event review: Actual-event and/or comparability review incomplete
Comparison status: Both intervals mean
Method pedersen.grouped.v1. Inputs: groups=["ALIANZA PARA EL PROGRESO","PARTIDO DEMOCRATICO SOMOS PERU","ACCION POPULAR","FUERZA POPULAR","PARTIDO APRISTA PERUANO","PARTIDO POPULAR CRISTIANO - PPC","UNION POR EL PERU","FRENTE POPULAR AGRICOLA FIA DEL PERU - FREPAP","Other"], interval=Both intervals mean, vectors=[[30.888750776880048,1.5226848974518334,0,0,0,0,0,0,67.58856432566813],[12.314146461842187,3.2574495650564503,0.4071811956320563,5.077426121290641,10.648405206983774,0,0,3.7448331174039113,64.550558331791],[40.267857142857146,3.1505102040816326,0,0,5.063775510204081,0,0,0,51.517857142857146]]
Source-reported control: Unverified. Current tenure requires separate dated evidence.
5. Officeholder evidence
Dated roster observations are not automatically current tenure. The source current-office flag means this office is tracked now, not that the last winner still holds it.
No officeholder observation supplied.
6. Polling context
No local poll supplied.
National context is listed on the polling page. It is not a local forecast.
7. Unresolved issues and sources
ONPE geography matched on full named hierarchy; original electoral codes retained. Municipal votes are shared mayor–council slate ballots; seats require JNE proclamation. The 3,085-entry INEI 2026 municipal directory and one unresolved 2025-only entry are tracked separately from RENIEC’s 3,382 electoral rolls. The complete named 2026 local call register and three-cycle vote/seat archive remain unavailable. Manitea Alta is bridged to its new district/code. Valle Nazarategui’s omission requires legal reconciliation. Five malformed 2022 source units, full seat proclamations and current control remain incomplete. Pión’s final annulment and Ninabamba’s final 2025 result are resolved.
other · open
Source reconciliation: {"file": "pe_Resultados_por_mesa_de_la_Consulta_Popular_de_Revocatoria_2025 .csv", "year": 2025, "event_kind": "supplementary", "rows": 110, "offices": 0, "source_id": "S4d993bb027"}
other · open
Source reconciliation: {"file": "pe_Resultados_por_mesa_de_las_Elecciones_Municipales_Complementarias_2025.csv", "year": 2025, "event_kind": "supplementary", "rows": 22, "offices": 2, "source_id": "S125d1cb4ee"}
other · open
Source reconciliation: {"file": "pe_Resultados_por_mesa_de_las_Elecciones_Municipales_Complementarias_2024.csv", "year": 2024, "event_kind": "supplementary", "rows": 12, "offices": 2, "source_id": "S8ba8db0d39"}
other · open
Source reconciliation: {"file": "pe_Resultados_por_mesa_EM2015_Provincial.csv", "year": 2015, "event_kind": "supplementary", "rows": 75, "offices": 1, "source_id": "S6040ea1fd1"}
other · open
Source reconciliation: {"file": "pe_Resultados_por_mesa_EM2015_Distrital.csv", "year": 2015, "event_kind": "supplementary", "rows": 915, "offices": 9, "source_id": "S7fd66d3286"}
other · open
Source reconciliation: {"file": "pe_Resultados_por_mesa_de_las_Elecciones_Municipales_2017.csv", "year": 2017, "event_kind": "supplementary", "rows": 95, "offices": 3, "source_id": "Sb5ab8b4e28"}
other · open
Source reconciliation: {"file": "pe_ERM2022_Gobernador_Vicegobernador.zip", "year": 2022, "event_kind": "ordinary", "rows": 509064, "offices": 25, "source_id": "S295a380ddb"}
other · open
Source reconciliation: {"file": "pe_ERM2022_Consejero_Regional.zip", "year": 2022, "event_kind": "ordinary", "rows": 524570, "offices": 25, "source_id": "Sa818fce54b"}
other · open
Source reconciliation: {"file": "pe_ERM2022_Municipal_Provincial.zip", "year": 2022, "event_kind": "ordinary", "rows": 765271, "offices": 196, "source_id": "S3bc179da18"}
other · open
Source reconciliation: {"file": "pe_ERM2022_Municipal_Distrital.zip", "year": 2022, "event_kind": "ordinary", "rows": 542812, "offices": 1694, "source_id": "Sc91a28be23"}
other · open
Source reconciliation: {"file": "pe_Resultados_de_las_Elecciones_Municipales_Diciembre_2017.csv", "year": 2017, "event_kind": "supplementary", "rows": 395, "offices": 18, "source_id": "S251d92ae75"}
other · open
Source reconciliation: {"file": "pe_Resultados_por_mesa_Consulta_Popular_de_Revocatorias_2021.csv", "year": 2021, "event_kind": "supplementary", "rows": 359, "offices": 0, "source_id": "S6894929125"}
other · open
Source reconciliation: {"file": "pe_SER2022_Gobernador_Vicegobernador.csv", "year": 2022, "event_kind": "runoff", "rows": 47156, "offices": 9, "source_id": "Sfcc78da016"}
other · open
Source reconciliation: {"file": "pe_EMC2023_Municipal_Distrital.csv", "year": 2023, "event_kind": "supplementary", "rows": 176, "offices": 11, "source_id": "S7e0c9a7d57"}
other · open
Source reconciliation: {"file": "pe_EMC2021_Municipal_Distrital.csv", "year": 2021, "event_kind": "supplementary", "rows": 8, "offices": 1, "source_id": "S5d2aee2cc9"}
other · open
Source reconciliation: {"file": "pe_Resultados_por_mesa_de_las_Elecciones_Municipales_Complementarias_2019_0.csv", "year": 2019, "event_kind": "supplementary", "rows": 561, "offices": 12, "source_id": "Sd5e707eb97"}
other · open
Source reconciliation: {"file": "pe_Resultados_por_mesa_Consulta_Popular_de_Revocatoria_de_Autoridades_Municipales_2017.csv", "year": 2017, "event_kind": "supplementary", "rows": 664, "offices": 0, "source_id": "S37c8a9acbe"}
other · open
Source reconciliation: {"file": "pe_Resultados_por_mesa_de_las_Nuevas_Elecciones_Municipales_2014_Distrital.csv", "year": 2014, "event_kind": "supplementary", "rows": 2472, "offices": 36, "source_id": "S3d73c74d79"}
other · open
Source reconciliation: {"file": "pe_EMC2015_Municipal_Provincial.csv", "year": 2015, "event_kind": "supplementary", "rows": 738, "offices": 2, "source_id": "S9fe6e388b4"}
other · open
Source reconciliation: {"file": "pe_EMC2015_Municipal_Distrital.csv", "year": 2015, "event_kind": "supplementary", "rows": 2029, "offices": 29, "source_id": "Sf6d6a81fcd"}
other · open
Source reconciliation: {"file": "pe_SER2014_Consejero_Regional.zip", "year": 2014, "event_kind": "runoff", "rows": 1052, "offices": 2, "source_id": "S9520d02bc4"}
other · open
Source reconciliation: {"file": "pe_SER2014_Gobernador_Vicegobernador.zip", "year": 2014, "event_kind": "runoff", "rows": 68006, "offices": 14, "source_id": "Sb8cc55f349"}
other · open
Source reconciliation: {"file": "pe_ERM2014_Municipal_Distrital.zip", "year": 2014, "event_kind": "ordinary", "rows": 835170, "offices": 1647, "source_id": "Sf2ea9fdc53"}
other · open
Source reconciliation: {"file": "pe_ERM2014_Municipal_Provincial.zip", "year": 2014, "event_kind": "ordinary", "rows": 1188948, "offices": 195, "source_id": "S0ef30ae2f8"}
other · open
Source reconciliation: {"file": "pe_ERM2014_Consejero_Regional.zip", "year": 2014, "event_kind": "ordinary", "rows": 792713, "offices": 25, "source_id": "Sb45e7b898e"}
other · open
Source reconciliation: {"file": "pe_ERM2014_Gobernador_Vicegobernador.zip", "year": 2014, "event_kind": "ordinary", "rows": 851285, "offices": 25, "source_id": "S189e36d0d6"}
other · open
Source reconciliation: {"file": "pe_ERM2018_Gobernador_Regional_total.zip", "year": 2018, "event_kind": "ordinary", "rows": 755523, "offices": 25, "source_id": "S984d5a0bb9"}
other · open
Source reconciliation: {"file": "pe_ERM2018_Consejero_Regional_total.zip", "year": 2018, "event_kind": "ordinary", "rows": 755523, "offices": 25, "source_id": "S3bf32d4ffa"}
other · open
Source reconciliation: {"file": "pe_ERM2018_Municipal_Distrital_total.zip", "year": 2018, "event_kind": "ordinary", "rows": 1002013, "offices": 1678, "source_id": "S3a6d07677a"}
other · open
Source reconciliation: {"file": "pe_ERM2018_Municipal_Provincial_total.zip", "year": 2018, "event_kind": "ordinary", "rows": 1284368, "offices": 196, "source_id": "Sbbedb7d378"}
other · open
2026 populated-centre electoral roster reconciliation open: 374 is a net difference, not a verified list of missing offices. Renamings, incorporations and exclusions require the actual 2026 roster. All 3,008 imported names remain provisional members of the 2026 cohort.
other · open
Historical vote vectors and current political control not in INEI directory: The directory supplies identities, officeholder names and self-reported terms. No directory snapshot is counted as a completed election history.
other · open
Term-end exceptions: {"issue": "Term-end exceptions", "counts": {"2026": 2993, "": 4, "2025": 11}, "source_id": "Sa468bb63fbd0"}
other · open
Source encoding limitation: Invalid sequences occur outside all retained fields. Relevant identifiers and names passed the encoding check.
other · open
Partial current-cohort confirmation: RENIEC document contains only 26 centres receiving special registration, not all 3,382 upcoming centres. It does not close the national electoral-map gap.
Sources
- Peru: https://www.datosabiertos.gob.pe/dataset/resultados-por-mesa-de-las-elecciones-municipales-distritales-2022-oficina-nacional-de · rights unknown
- Peru: https://www.datosabiertos.gob.pe/dataset/resultados-por-mesa-de-las-elecciones-municipales-distritales-2018-oficina-nacional-de · rights unknown
- Peru: https://www.datosabiertos.gob.pe/dataset/resultados-por-mesa-de-las-elecciones-municipales-distritales-2014-oficina-nacional-de · rights unknown
- Peru: Resultados por mesa de las Elecciones Municipales Distritales 2022 [Oficina Nacional de Procesos Electorales (ONPE)] · rights unknown
- Peru: Resultados por mesa de las Elecciones Municipales Distritales 2018 - [Oficina Nacional de Procesos Electorales (ONPE)] · rights unknown
- Peru: Resultados por mesa de las Elecciones Municipales Distritales 2014 [Oficina Nacional de Procesos Electorales (ONPE)] · rights unknown
Cite this record
Center for Digital Democracy. “ANCASH / SANTA / SANTA — District municipal ballot.” Subnational Election Observatory, releaselatin-america-fe5e91689def, snapshot 2026-09-13. /electiondatabase/offices/PE-07b061331820fd. Sources: peru--url-9bd067e0afb3adebfbe26129, peru--url-d2ce24b0d891532338ce443b, peru--url-70fbea0821c469ccfe91fe2c, peru--Sc91a28be23, peru--S3a6d07677a, peru--Sf2ea9fdc53.