196 public water systems in Minnesota were sampled in EPA's UCMR 5 programme (2023–2025); we show six PFAS and lithium. Read 2026-10-31.
17 of 196 systems had at least one sample above a 2024 federal limit; 108 had at least one PFAS found above the reporting level; 88 had none found above the reporting level.
A single sample above a 2024 limit is a measurement, not a violation. Compliance is judged on running yearly averages, and water systems have until 2029 to meet the limits. On 20 May 2026 EPA proposed giving qualifying systems until 2031 for PFOA and PFOS and removing the limits for PFHxS, PFNA and HFPO-DA; those proposals were not final when we last checked (5 Nov 2026). Counts are per system, not per person; population figures are available only for systems serving more than 25,000 people (about 2,784,119 people across those systems here). UCMR 5 was a one-time national monitoring programme (2023–2025). The results are a snapshot at the system's entry points or taps on the sample dates, not a continuous measurement and not a compliance record.
| System | People served | UCMR 5 result |
|---|---|---|
| Minneapolis Minneapolis | 425,300 | None detected (below the reporting level) |
| Saint Paul Regional Water Services Saint Paul Regional Water Services | 392,529 | None detected (below the reporting level) |
Pages for these are being added in stages. The data for all 196 systems is in the public dataset.
| System | People served | UCMR 5 result |
|---|---|---|
| Rochester, Mn Rochester, Mn | 123,624 | Detected, below the 2024 limit |
| Bloomington, Mn Bloomington, Mn | 91,300 | None detected (below the reporting level) |
| Brooklyn Park Brooklyn Park | 89,995 | Above the 2024 limit in at least one sample |
| Duluth Duluth | 86,859 | None detected (below the reporting level) |
| Woodbury Woodbury | 82,643 | Above the 2024 limit in at least one sample |
| Maple Grove Maple Grove | 82,000 | None detected (below the reporting level) |
| Plymouth, Mn Plymouth, Mn | 76,546 | None detected (below the reporting level) |
| Saint Cloud Saint Cloud | 71,321 | None detected (below the reporting level) |
| Blaine Blaine | 70,220 | None detected (below the reporting level) |
| Eagan Eagan | 68,223 | None detected (below the reporting level) |
| Lakeville Lakeville | 67,300 | None detected (below the reporting level) |
| Burnsville Burnsville | 64,317 | None detected (below the reporting level) |
| Eden Prairie Eden Prairie | 63,726 | None detected (below the reporting level) |
| Coon Rapids Coon Rapids | 63,599 | None detected (below the reporting level) |
| Minnetonka Minnetonka | 54,474 | None detected (below the reporting level) |
| Edina Edina | 53,494 | None detected (below the reporting level) |
| Apple Valley Apple Valley | 50,300 | Detected, below the 2024 limit |
| Saint Louis Park Saint Louis Park | 50,010 | None detected (below the reporting level) |
| Shakopee Shakopee | 47,000 | Detected, below the 2024 limit |
| Moorhead Moorhead | 44,583 | None detected (below the reporting level) |
| Mankato Mankato | 42,803 | None detected (below the reporting level) |
| Cottage Grove Cottage Grove | 42,760 | None detected (below the reporting level) |
| Richfield Richfield | 38,482 | None detected (below the reporting level) |
| Roseville Roseville | 35,343 | None detected (below the reporting level) |
| Inver Grove Heights Inver Grove Heights | 34,189 | None detected (below the reporting level) |