Iowa Water Quality: 3K Violations in 1058 ZIP Codes
1058 ZIP codes · 963 water systems · IPC plumbing code · Updated 2026-06-03
Data: EPA SDWIS, NWS, State plumbing boards, Rewiring America Last verified: 2026-06-03
Across Iowa, EPA compliance figures show a notable spread — elevated violation counts appear in both rural and suburban utility districts, not isolated to a single geographic pocket, and the state's aggregate safety grade sits low in current reporting data.
Score Distribution
How Iowa's 1058 ZIP codes are distributed across safety grades.
Home Safety Scores by State
Data: EPA SDWIS, FEMA NFIP, EPA Radon, USGS Earthquake Hazards, NIFC Wildfire • 2026-06-03
Top 10 Safest ZIP Codes in Iowa
Highest Home Safety Scores in the state.
| # | ZIP Code | City | County | Score | Grade |
|---|---|---|---|---|---|
| 1 | 50006 | Alden | Hardin | 70 | B |
| 2 | 50020 | Anita | Cass | 70 | B |
| 3 | 50032 | Berwick | Polk | 70 | B |
| 4 | 50035 | Bondurant | Polk | 70 | B |
| 5 | 50044 | Bussey | Marion | 70 | B |
| 6 | 50046 | Cambridge | Story | 70 | B |
| 7 | 50055 | Collins | Story | 70 | B |
| 8 | 50058 | Coon Rapids | Carroll | 70 | B |
| 9 | 50063 | Dallas Center | Dallas | 70 | B |
| 10 | 50072 | Earlham | Madison | 70 | B |
10 Lowest-Scoring ZIP Codes in Iowa
| # | ZIP Code | City | County | Score | Grade | Violations |
|---|---|---|---|---|---|---|
| 1 | 51462 | Scranton | Greene | 30 | F | 3 |
| 2 | 50133 | Kellerton | Ringgold | 30 | F | 4 |
| 3 | 50128 | Jamaica | Guthrie | 32 | F | 8 |
| 4 | 52642 | Rome | Henry | 33 | F | 0 |
| 5 | 50669 | Reinbeck | Grundy | 34 | F | 1 |
| 6 | 50635 | Gladbrook | Tama | 34 | F | 1 |
| 7 | 50501 | Fort Dodge | Webster | 35 | F | 27 |
| 8 | 52163 | Protivin | Howard | 36 | F | 1 |
| 9 | 50539 | Fenton | Kossuth | 36 | F | 0 |
| 10 | 50522 | Burt | Kossuth | 36 | F | 0 |
County Rankings
Water quality breakdown by county. 100 counties with data in Iowa.
County-level aggregation of ZIP code safety scores • EPA SDWIS, FEMA NFIP, EPA Radon, USGS, NIFC
| County | Avg Score | Grade | ZIPs | Best ZIP | Worst ZIP |
|---|---|---|---|---|---|
| Marion | 58 | C | 13 | 50044 (70) | 50143 (40) |
| Guthrie | 57 | C | 9 | 50115 (70) | 50128 (32) |
| Dallas | 60 | C | 15 | 50063 (70) | 50235 (40) |
| Marshall | 57 | C | 13 | 50051 (66) | 50239 (40) |
| Hardin | 58 | C | 13 | 50006 (70) | 50269 (40) |
| Polk | 61 | C | 79 | 50032 (70) | 50007 (40) |
| Wayne | 52 | D | 9 | 52590 (66) | 52583 (40) |
| Story | 64 | C | 18 | 50046 (70) | 50154 (40) |
| Cass | 58 | C | 9 | 50020 (70) | 51552 (40) |
| Audubon | 56 | C | 5 | 50076 (70) | 51543 (40) |
| Mahaska | 52 | D | 7 | 52577 (68) | 52595 (40) |
| Jasper | 59 | C | 14 | 50135 (70) | 50242 (40) |
| Greene | 50 | D | 7 | 50129 (70) | 51462 (30) |
| Warren | 59 | C | 15 | 50160 (70) | 50145 (40) |
| Hamilton | 57 | C | 9 | 50034 (66) | 50132 (40) |
| Boone | 63 | C | 8 | 50156 (69) | 50040 (40) |
| Franklin | 59 | C | 8 | 50475 (70) | 50427 (40) |
| Lucas | 56 | C | 5 | 50238 (68) | 50272 (40) |
| Carroll | 60 | C | 15 | 50058 (70) | 51432 (40) |
| Decatur | 50 | D | 7 | 50103 (66) | 50264 (40) |
| Wright | 61 | C | 10 | 50421 (70) | 50227 (40) |
| Madison | 61 | C | 4 | 50072 (70) | 50222 (40) |
| Ringgold | 43 | D | 10 | 50854 (62) | 50133 (30) |
| Poweshiek | 51 | D | 8 | 50157 (66) | 50112 (36) |
| Keokuk | 55 | C | 17 | 50268 (70) | 52586 (40) |
| Clarke | 48 | D | 5 | 50174 (66) | 50275 (40) |
| Monroe | 62 | C | 2 | 50150 (66) | 52531 (57) |
| Adair | 53 | D | 8 | 50250 (66) | 50842 (40) |
| Tama | 58 | C | 11 | 50173 (70) | 50635 (34) |
| Webster | 56 | C | 15 | 50569 (70) | 50501 (35) |
| Cerro Gordo | 62 | C | 10 | 50428 (70) | 50467 (40) |
| Hancock | 64 | C | 8 | 50430 (66) | 50484 (61) |
| Winnebago | 63 | C | 7 | 50453 (69) | 50473 (40) |
| Mitchell | 56 | C | 8 | 50471 (70) | 50454 (40) |
| Floyd | 61 | C | 7 | 50468 (70) | 50433 (40) |
| Worth | 65 | C | 7 | 50459 (70) | 50456 (58) |
| Kossuth | 60 | C | 12 | 50511 (69) | 50539 (36) |
| Chickasaw | 58 | C | 8 | 50630 (69) | 50661 (40) |
| Howard | 62 | C | 6 | 50628 (70) | 52163 (36) |
| Buena Vista | 63 | C | 10 | 50588 (70) | 51366 (40) |
| Emmet | 62 | C | 6 | 50531 (70) | 50528 (40) |
| Palo Alto | 56 | C | 8 | 50536 (70) | 50527 (40) |
| Humboldt | 59 | C | 10 | 50519 (66) | 50545 (40) |
| Calhoun | 60 | C | 10 | 50538 (66) | 50520 (40) |
| Sac | 63 | C | 9 | 51458 (70) | 50567 (40) |
| Pocahontas | 63 | C | 8 | 50546 (66) | 50571 (55) |
| Butler | 56 | C | 12 | 50625 (70) | 50649 (40) |
| Fayette | 64 | C | 12 | 50655 (70) | 52164 (53) |
| Buchanan | 51 | D | 10 | 50682 (70) | 50671 (40) |
| Grundy | 58 | C | 10 | 50621 (70) | 50669 (34) |
| Benton | 58 | C | 16 | 52313 (70) | 52354 (40) |
| Black Hawk | 60 | C | 15 | 50643 (70) | 50667 (40) |
| Bremer | 61 | C | 7 | 50666 (70) | 50631 (53) |
| Union | 65 | C | 1 | 50801 (65) | 50801 (65) |
| Taylor | 51 | D | 7 | 50833 (70) | 50862 (40) |
| Adams | 50 | D | 3 | 50841 (70) | 50859 (40) |
| Montgomery | 52 | D | 7 | 51591 (65) | 51573 (40) |
| Plymouth | 64 | C | 9 | 51031 (70) | 51011 (40) |
| Sioux | 67 | C | 12 | 51003 (70) | 51247 (63) |
| Woodbury | 64 | C | 25 | 51004 (70) | 51051 (40) |
| Cherokee | 65 | C | 8 | 51005 (66) | 51012 (60) |
| Ida | 65 | C | 5 | 51445 (70) | 51025 (58) |
| O'Brien | 63 | C | 8 | 51201 (70) | 51231 (40) |
| Monona | 65 | C | 9 | 51040 (70) | 51558 (58) |
| Clay | 55 | C | 7 | 51338 (70) | 51357 (40) |
| Lyon | 65 | C | 8 | 51237 (70) | 51246 (60) |
| Osceola | 67 | C | 5 | 51232 (69) | 51350 (66) |
| Dickinson | 67 | C | 7 | 51351 (70) | 51360 (64) |
| Crawford | 63 | C | 10 | 51448 (70) | 51520 (40) |
| Shelby | 57 | C | 11 | 51530 (66) | 51578 (40) |
| Pottawattamie | 60 | C | 18 | 51502 (66) | 51548 (40) |
| Harrison | 63 | C | 10 | 51564 (70) | 51555 (46) |
| Mills | 58 | C | 7 | 51571 (69) | 51554 (40) |
| Page | 58 | C | 12 | 51601 (70) | 51656 (40) |
| Fremont | 60 | C | 9 | 51639 (70) | 51648 (40) |
| Dubuque | 58 | C | 18 | 52068 (70) | 52079 (40) |
| Jackson | 63 | C | 12 | 52031 (70) | 52074 (40) |
| Clayton | 60 | C | 19 | 52035 (70) | 52050 (40) |
| Delaware | 65 | C | 6 | 52223 (69) | 52057 (60) |
| Clinton | 62 | C | 18 | 52733 (70) | 52771 (40) |
| Winneshiek | 59 | C | 9 | 52144 (70) | 52166 (40) |
| Allamakee | 61 | C | 6 | 52151 (70) | 52170 (53) |
| Washington | 65 | C | 7 | 52201 (70) | 52621 (55) |
| Linn | 61 | C | 33 | 52202 (70) | 52329 (40) |
| Iowa | 54 | D | 13 | 52361 (70) | 52325 (40) |
| Jones | 63 | C | 10 | 52323 (70) | 52252 (53) |
| Cedar | 61 | C | 8 | 52772 (70) | 52766 (45) |
| Johnson | 56 | C | 13 | 52235 (66) | 52246 (46) |
| Wapello | 55 | C | 7 | 52530 (70) | 52594 (40) |
| Jefferson | 60 | C | 6 | 52567 (63) | 52635 (55) |
| Van Buren | 57 | C | 9 | 52651 (66) | 52573 (40) |
| Davis | 57 | C | 4 | 52537 (66) | 52552 (40) |
| Appanoose | 54 | D | 8 | 52544 (66) | 52593 (40) |
| Jefferson,Keokuk,Wapello,Washington | 50 | D | 2 | 52548 (50) | 52566 (50) |
| Des Moines | 59 | C | 6 | 52655 (70) | 52650 (40) |
| Lee | 53 | D | 10 | 52625 (70) | 52657 (40) |
| Henry | 55 | C | 12 | 52641 (70) | 52642 (33) |
| Louisa | 60 | C | 10 | 52752 (68) | 52754 (53) |
| Muscatine | 60 | C | 8 | 52747 (68) | 52760 (40) |
| Scott | 56 | C | 22 | 52773 (70) | 52758 (40) |
Most Common Contaminants in Iowa
| Contaminant / Rule | Category | ZIPs Affected | Violations | Health Risk |
|---|---|---|---|---|
| Consumer Confidence Report Rule | Reporting | 246 | 501 | Yes |
| Haloacetic Acids (HAA5) | Disinfection Byproducts | 157 | 205 | Yes |
| Lead and Copper Rule | Treatment Technique | 138 | 539 | No |
| Total Trihalomethanes (TTHM) | Disinfection Byproducts | 120 | 141 | Yes |
| Surface Water Treatment Rule | Treatment Technique | 102 | 270 | No |
| Stage 1 DBP Rule | Treatment Technique | 100 | 223 | No |
| Lead | Inorganic | 78 | 173 | Yes |
| Copper | Inorganic | 73 | 271 | Yes |
Overview
We track water quality, weather alerts, plumbing regulations, and energy rebates for 1058 ZIP codes across Iowa, covering 963 community water systems that serve approximately 2,600,444 people.
479 of 1058 ZIP codes (45%) have recorded EPA violations. 159 health-based violations have been documented.
Plumbing Regulations
Iowa follows the International Plumbing Code (2018 edition).
- Plumbing code: IPC (2018)
- Homeowner DIY: Licensed plumber required
- Water heater permit: Required
- Annual backflow test: Required
Areas with Most Violations
| ZIP Code | City | Safety Score | Violations | Health-Based | System |
|---|---|---|---|---|---|
| 52310 | Monticello | C | 119 | 1 | Monticello Water Supply |
| 52401 | Cedar Rapids | C | 77 | 2 | Cedar Rapids Water Department |
| 52402 | Cedar Rapids | C | 77 | 2 | Cedar Rapids Water Department |
| 52403 | Cedar Rapids | C | 77 | 2 | Cedar Rapids Water Department |
| 52404 | Cedar Rapids | D | 77 | 2 | Cedar Rapids Water Department |
| 52405 | Cedar Rapids | D | 77 | 2 | Cedar Rapids Water Department |
| 52406 | Cedar Rapids | C | 77 | 2 | Cedar Rapids Water Department |
| 52407 | Cedar Rapids | C | 77 | 2 | Cedar Rapids Water Department |
| 52408 | Cedar Rapids | C | 77 | 2 | Cedar Rapids Water Department |
| 52409 | Cedar Rapids | C | 77 | 2 | Cedar Rapids Water Department |
Areas with No Violations
| ZIP Code | City | Safety Score | System | Population |
|---|---|---|---|---|
| 50001 | Ackworth | D | Warren Water District | 20,095 |
| 50006 | Alden | B | Alden Water Supply | 763 |
| 50007 | Alleman | D | Des Moines Water Works | 246,055 |
| 50022 | Atlantic | C | Atlantic Municipal Utilities | 7,252 |
| 50025 | Audubon | C | Audubon Water Supply | 2,053 |
| 50026 | Bagley | D | Xenia Rwd (des Moines) | 12,860 |
| 50031 | Beaver | D | GRAND JCT MUNICIPAL WATER DEPT | 725 |
| 50032 | Berwick | B | Sunnybrook Mobile Home Park | 360 |
| 50033 | Bevington | D | MARTENSDALE WATER SUPPLY | 421 |
| 50034 | Blairsburg | C | Xenia Rwd (des Moines) | 12,860 |
Home Safety Score
Average Home Safety Score for Iowa: C (59/100)
Lead & Copper
- Average lead level (90th percentile): 0.0031 mg/L (EPA action level: 0.015 mg/L)
- 4 ZIP codes exceed the EPA lead action level
Radon Risk
- High risk (Zone 1): 1056 ZIP codes (100%)
- Moderate risk (Zone 2): 0 ZIP codes
- Low risk (Zone 3): 0 ZIP codes
ZIP Code Reports for Iowa
Largest Communities
| ZIP Code | City | Population | Safety Grade | Violations |
|---|---|---|---|---|
| 50263 | Waukee | 426,930 | C | 0 |
| 50325 | Clive | 411,216 | D | 0 |
| 50265 | West Des Moines | 361,471 | C | 0 |
| 50266 | West Des Moines | 360,549 | B | 0 |
| 50169 | Mitchellville | 356,040 | C | 3 |
| 50323 | Urbandale | 355,456 | D | 3 |
| 50226 | Polk City | 348,290 | C | 0 |
| 50131 | Johnston | 345,145 | C | 3 |
| 50021 | Ankeny | 335,762 | C | 4 |
| 50244 | Slater | 333,483 | C | 2 |
| 50073 | Elkhart | 332,537 | C | 2 |
| 50161 | Maxwell | 332,514 | C | 2 |
| 50046 | Cambridge | 332,313 | B | 0 |
| 50035 | Bondurant | 332,048 | B | 0 |
| 50313 | Des Moines | 331,887 | C | 6 |
| 50261 | Van Meter | 330,135 | C | 1 |
| 50061 | Cumming | 329,412 | C | 0 |
| 50023 | Ankeny | 326,369 | C | 4 |
| 50312 | Des Moines | 324,403 | D | 6 |
| 50321 | Des Moines | 324,403 | C | 6 |
Lowest Safety Scores
| ZIP Code | City | Score | Grade | Violations |
|---|---|---|---|---|
| 50133 | Kellerton | 30 | F | 4 |
| 51462 | Scranton | 30 | F | 3 |
| 50128 | Jamaica | 32 | F | 8 |
| 52642 | Rome | 33 | F | 0 |
| 50635 | Gladbrook | 34 | F | 1 |
Highest Safety Scores
| ZIP Code | City | Score | Grade | Violations |
|---|---|---|---|---|
| 50006 | Alden | 70 | B | 0 |
| 50020 | Anita | 70 | B | 1 |
| 50032 | Berwick | 70 | B | 0 |
| 50035 | Bondurant | 70 | B | 0 |
| 50044 | Bussey | 70 | B | 0 |
All 1058 ZIP Codes in Iowa
- 50601 (Ackley) [B] — 1 violation
- 50001 (Ackworth) [D]
- 50002 (Adair) [C] — 11 violations
- 50003 (Adel) [C] — 7 violations
- 50830 (Afton) [D]
- 52530 (Agency) [B]
- 52201 (Ainsworth) [B] — 1 violation
- 51001 (Akron) [C] — 2 violations
- 50510 (Albert City) [C]
- 52531 (Albia) [C]
- 50005 (Albion) [C] — 1 violation
- 52202 (Alburnett) [B] — 1 violation
- 50006 (Alden) [B]
- 50420 (Alexander) [C] — 1 violation
- 50511 (Algona) [C] — 2 violations
- 50007 (Alleman) [D]
- 50008 (Allerton) [C] — 1 violation
- 50602 (Allison) [C]
- 51002 (Alta) [C]
- 50603 (Alta Vista) [C] — 1 violation
- 51003 (Alton) [B]
- 50009 (Altoona) [C] — 3 violations ⚠
- 51230 (Alvord) [C]
- 52203 (Amana) [C] — 3 violations
- 52204 (Amana) [C] — 3 violations
- 50010 (Ames) [C] — 2 violations
- 50011 (Ames) [C] — 2 violations
- 50012 (Ames) [C] — 2 violations
- 50013 (Ames) [C] — 2 violations
- 50014 (Ames) [C] — 2 violations
- 52205 (Anamosa) [C] — 5 violations ⚠
- 52701 (Andover) [C] — 2 violations
- 52030 (Andrew) [C] — 1 violation
- 50020 (Anita) [B] — 1 violation
- 50021 (Ankeny) [C] — 4 violations
- 50023 (Ankeny) [C] — 4 violations
- 51004 (Anthon) [B]
- 50604 (Aplington) [C]
- 51430 (Arcadia) [C] — 1 violation
- 51231 (Archer) [D]
- 50605 (Aredale) [D]
- 52619 (Argyle) [D]
- 51520 (Arion) [D]
- 50831 (Arispe) [D]
- 50606 (Arlington) [C]
- 50514 (Armstrong) [C] — 3 violations
- 51331 (Arnolds Park) [C]
- 51431 (Arthur) [C] — 1 violation
- 51232 (Ashton) [C] — 2 violations
- 51432 (Aspinwall) [D]
- 52720 (Atalissa) [C]
- 52206 (Atkins) [C] — 3 violations ⚠
- 50022 (Atlantic) [C]
- 51433 (Auburn) [C]
- 50025 (Audubon) [C]
- 51005 (Aurelia) [C]
- 50607 (Aurora) [D]
- 50608 (Austinville) [D]
- 51521 (Avoca) [C] — 2 violations
- 50515 (Ayrshire) [D]
- 50516 (Badger) [C]
- 50026 (Bagley) [D]
- 52207 (Baldwin) [C]
- 50517 (Bancroft) [C]
- 50027 (Barnes City) [D] — 2 violations
- 50518 (Barnum) [D]
- 52533 (Batavia) [C] — 7 violations
- 51006 (Battle Creek) [C]
- 50028 (Baxter) [C] — 3 violations
- 50029 (Bayard) [D] — 3 violations
- 52534 (Beacon) [D]
- 50609 (Beaman) [C]
- 50031 (Beaver) [D]
- 50833 (Bedford) [B]
- 52208 (Belle Plaine) [D] — 21 violations
- 52031 (Bellevue) [B] — 1 violation
- 50421 (Belmond) [B] — 1 violation
- 52721 (Bennett) [C]
- 50835 (Benton) [D]
- 52032 (Bernard) [C]
- 50032 (Berwick) [B]
- 52722 (Bettendorf) [D] — 17 violations
- 50033 (Bevington) [D]
- 52535 (Birmingham) [C]
- 50034 (Blairsburg) [C]
- 52209 (Blairstown) [D] — 1 violation ⚠
- 52536 (Blakesburg) [C] — 1 violation
- 51630 (Blanchard) [D]
- 51523 (Blencoe) [B]
- 50836 (Blockton) [D]
- 52537 (Bloomfield) [C]
- 52538 (Bloomfield) [C]
- 52726 (Blue Grass) [C] — 1 violation
- 50519 (Bode) [C]
- 52620 (Bonaparte) [C]
- 50035 (Bondurant) [B]
- 50036 (Boone) [C] — 1 violation ⚠
- 50037 (Boone) [C] — 1 violation ⚠
- 50099 (Boone) [C] — 1 violation ⚠
- 50038 (Booneville) [D]
- 50039 (Bouton) [C] — 5 violations ⚠
- 50040 (Boxholm) [D]
- 51234 (Boyden) [B]
- 51631 (Braddyville) [C]
- 50041 (Bradford) [D]
- 50520 (Bradgate) [D]
- 52210 (Brandon) [B]
- 50042 (Brayton) [C] — 1 violation
- 51436 (Breda) [C] — 2 violations
- 50837 (Bridgewater) [D]
- 52540 (Brighton) [C] — 5 violations
- 50611 (Bristow) [C] — 3 violations ⚠
- 50423 (Britt) [C] — 3 violations
- 51007 (Bronson) [C]
- 52211 (Brooklyn) [C]
- 51008 (Brunsville) [C]
- 52727 (Bryant) [D]
- 50043 (Buckeye) [D]
- 50612 (Buckingham) [D]
- 52728 (Buffalo) [C] — 3 violations
- 50424 (Buffalo Center) [C]
- 52601 (Burlington) [C]
- 50521 (Burnside) [D]
- 50522 (Burt) [F]
- 50044 (Bussey) [B]
- 52729 (Calamus) [C] — 2 violations
- 50523 (Callender) [C]
- 52132 (Calmar) [C]
- 51009 (Calumet) [C]
- 52730 (Camanche) [C]
- 50046 (Cambridge) [B]
- 52542 (Cantril) [C] — 1 violation
- 50839 (Carbon) [D]
- 50047 (Carlisle) [C] — 3 violations
- 50426 (Carpenter) [D]
- 51401 (Carroll) [C]
- 51525 (Carson) [C] — 2 violations
- 51510 (Carter Lake) [C] — 6 violations
- 52033 (Cascade) [C]
- 50048 (Casey) [C]
- 52133 (Castalia) [C]
- 51010 (Castana) [C] — 1 violation
- 52543 (Cedar) [D]
- 50613 (Cedar Falls) [D] — 3 violations
- 50614 (Cedar Falls) [C] — 3 violations
- 52401 (Cedar Rapids) [C] — 77 violations ⚠
- 52402 (Cedar Rapids) [C] — 77 violations ⚠
- 52403 (Cedar Rapids) [C] — 77 violations ⚠
- 52404 (Cedar Rapids) [D] — 77 violations ⚠
- 52405 (Cedar Rapids) [D] — 77 violations ⚠
- 52406 (Cedar Rapids) [C] — 77 violations ⚠
- 52407 (Cedar Rapids) [C] — 77 violations ⚠
- 52408 (Cedar Rapids) [C] — 77 violations ⚠
- 52409 (Cedar Rapids) [C] — 77 violations ⚠
- 52410 (Cedar Rapids) [C] — 77 violations ⚠
- 52411 (Cedar Rapids) [C] — 77 violations ⚠
- 52497 (Cedar Rapids) [C] — 77 violations ⚠
- 52498 (Cedar Rapids) [C] — 77 violations ⚠
- 52499 (Cedar Rapids) [C] — 77 violations ⚠
- 52212 (Center Junction) [C] — 3 violations
- 52213 (Center Point) [C] — 10 violations
- 52544 (Centerville) [C]
- 52214 (Central City) [C]
- 50427 (Chapin) [D]
- 50049 (Chariton) [C]
- 50616 (Charles City) [D] — 1 violation
- 52731 (Charlotte) [C]
- 51439 (Charter Oak) [C]
- 51011 (Chatsworth) [D]
- 52215 (Chelsea) [D] — 6 violations
- 51012 (Cherokee) [C]
- 52134 (Chester) [C] — 2 violations
- 52548 (Chillicothe) [D]
- 50050 (Churdan) [C] — 1 violation
- 52549 (Cincinnati) [C]
- 50524 (Clare) [C]
- 52216 (Clarence) [C]
- 51632 (Clarinda) [B]
- 50525 (Clarion) [C]
- 50526 (Clarion) [C]
- 50619 (Clarksville) [C] — 1 violation
- 50428 (Clear Lake) [B]
- 50840 (Clearfield) [D]
- 51014 (Cleghorn) [C]
- 50051 (Clemons) [C]
- 52135 (Clermont) [C]
- 51015 (Climbing Hill) [D]
- 52732 (Clinton) [C]
- 52733 (Clinton) [B]
- 52734 (Clinton) [C]
- 52736 (Clinton) [C]
- 50052 (Clio) [D]
- 50325 (Clive) [D]
- 52217 (Clutier) [C]
- 52218 (Coggon) [C] — 4 violations
- 51636 (Coin) [C]
- 52035 (Colesburg) [B]
- 50054 (Colfax) [C]
- 51637 (College Springs) [D]
- 50055 (Collins) [B]
- 50056 (Colo) [C] — 1 violation
- 50057 (Columbia) [D]
- 52737 (Columbus City) [C] — 2 violations
- 52738 (Columbus Junction) [C] — 2 violations
- 50620 (Colwell) [C]
- 52739 (Conesville) [D]
- 50621 (Conrad) [B]
- 52220 (Conroy) [D]
- 50058 (Coon Rapids) [B]
- 50059 (Cooper) [D]
- 52241 (Coralville) [D] — 5 violations
- 50841 (Corning) [B] — 1 violation
- 51016 (Correctionville) [C]
- 50430 (Corwith) [C]
- 50060 (Corydon) [C] — 2 violations
- 50431 (Coulter) [C] — 1 violation
- 51501 (Council Bluffs) [D] — 2 violations
- 51502 (Council Bluffs) [C] — 2 violations
- 51503 (Council Bluffs) [C] — 2 violations
- 52621 (Crawfordsville) [C]
- 51526 (Crescent) [C] — 2 violations
- 52136 (Cresco) [C]
- 50801 (Creston) [C]
- 50842 (Cromwell) [D]
- 50432 (Crystal Lake) [C] — 1 violation ⚠
- 50843 (Cumberland) [C]
- 50061 (Cumming) [C]
- 50527 (Curlew) [D]
- 51018 (Cushing) [C]
- 50528 (Cylinder) [D]
- 50529 (Dakota City) [C]
- 50063 (Dallas Center) [B] — 1 violation
- 50064 (Dana) [D]
- 51019 (Danbury) [C] — 1 violation ⚠
- 52623 (Danville) [C] — 2 violations ⚠
- 52801 (Davenport) [D] — 10 violations
- 52802 (Davenport) [D] — 10 violations
- 52803 (Davenport) [D] — 10 violations
- 52804 (Davenport) [D] — 10 violations
- 52805 (Davenport) [C] — 10 violations
- 52806 (Davenport) [D] — 10 violations
- 52807 (Davenport) [D] — 10 violations
- 52808 (Davenport) [C] — 10 violations
- 52809 (Davenport) [C] — 10 violations
- 50065 (Davis City) [D]
- 50066 (Dawson) [D] — 7 violations
- 50530 (Dayton) [C] — 1 violation
- 50069 (De Soto) [C] — 6 violations
- 52742 (De Witt) [B]
- 50067 (Decatur) [D]
- 52101 (Decorah) [D] — 2 violations
- 51440 (Dedham) [D] — 15 violations
- 52222 (Deep River) [C]
- 51527 (Defiance) [C] — 7 violations
- 52036 (Delaware) [C]
- 52223 (Delhi) [C] — 2 violations
- 52037 (Delmar) [C]
- 51441 (Deloit) [C] — 3 violations
- 52550 (Delta) [C] — 1 violation
- 51442 (Denison) [C]
- 52624 (Denmark) [D]
- 50622 (Denver) [C] — 3 violations
- 50068 (Derby) [D]
- 50301 (Des Moines) [C] — 6 violations
- 50302 (Des Moines) [C] — 6 violations
- 50303 (Des Moines) [C] — 6 violations
- 50304 (Des Moines) [C] — 6 violations
- 50305 (Des Moines) [C] — 6 violations
- 50306 (Des Moines) [C] — 6 violations
- 50307 (Des Moines) [C] — 6 violations
- 50308 (Des Moines) [C] — 6 violations
- 50309 (Des Moines) [C] — 6 violations
- 50310 (Des Moines) [C] — 6 violations
- 50311 (Des Moines) [C] — 6 violations
- 50312 (Des Moines) [D] — 6 violations
- 50313 (Des Moines) [C] — 6 violations
- 50314 (Des Moines) [C] — 6 violations
- 50315 (Des Moines) [C] — 6 violations
- 50316 (Des Moines) [C] — 6 violations
- 50317 (Des Moines) [C] — 6 violations
- 50318 (Des Moines) [C] — 6 violations
- 50319 (Des Moines) [C] — 6 violations
- 50320 (Des Moines) [C] — 6 violations
- 50321 (Des Moines) [C] — 6 violations
- 50328 (Des Moines) [C] — 6 violations
- 50329 (Des Moines) [C] — 6 violations
- 50330 (Des Moines) [C] — 6 violations
- 50331 (Des Moines) [C] — 6 violations
- 50332 (Des Moines) [C] — 6 violations
- 50333 (Des Moines) [C] — 6 violations
- 50334 (Des Moines) [C] — 6 violations
- 50335 (Des Moines) [C] — 6 violations
- 50336 (Des Moines) [C] — 6 violations
- 50339 (Des Moines) [C] — 6 violations
- 50340 (Des Moines) [C] — 6 violations
- 50359 (Des Moines) [C] — 6 violations
- 50360 (Des Moines) [C] — 6 violations
- 50361 (Des Moines) [C] — 6 violations
- 50362 (Des Moines) [C] — 6 violations
- 50363 (Des Moines) [C] — 6 violations
- 50364 (Des Moines) [C] — 6 violations
- 50367 (Des Moines) [C] — 6 violations
- 50368 (Des Moines) [C] — 6 violations
- 50369 (Des Moines) [C] — 6 violations
- 50380 (Des Moines) [C] — 6 violations
- 50381 (Des Moines) [C] — 6 violations
- 50391 (Des Moines) [C] — 6 violations
- 50392 (Des Moines) [C] — 6 violations
- 50393 (Des Moines) [C] — 6 violations
- 50394 (Des Moines) [C] — 6 violations
- 50395 (Des Moines) [C] — 6 violations
- 50396 (Des Moines) [C] — 6 violations
- 50397 (Des Moines) [C] — 6 violations
- 50936 (Des Moines) [C] — 6 violations
- 50940 (Des Moines) [C] — 6 violations
- 50947 (Des Moines) [C] — 6 violations
- 50950 (Des Moines) [C] — 6 violations
- 50980 (Des Moines) [C] — 6 violations
- 50981 (Des Moines) [C] — 6 violations
- 50982 (Des Moines) [C] — 6 violations
- 50983 (Des Moines) [C] — 6 violations
- 50623 (Dewar) [D]
- 50070 (Dexter) [C] — 2 violations
- 50845 (Diagonal) [C] — 8 violations
- 51333 (Dickens) [D]
- 50624 (Dike) [B]
- 52745 (Dixon) [C]
- 50531 (Dolliver) [B]
- 52746 (Donahue) [C]
- 52625 (Donnellson) [B]
- 51235 (Doon) [C] — 1 violation
- 52140 (Dorchester) [D]
- 52551 (Douds) [D]
- 50433 (Dougherty) [D]
- 51528 (Dow City) [C]
- 50071 (Dows) [C]
- 52552 (Drakesville) [D]
- 52001 (Dubuque) [C] — 4 violations
- 52002 (Dubuque) [C] — 4 violations
- 52003 (Dubuque) [C] — 4 violations
- 52004 (Dubuque) [C] — 4 violations
- 52099 (Dubuque) [C] — 4 violations
- 50625 (Dumont) [B] — 1 violation
- 50532 (Duncombe) [C]
- 52038 (Dundee) [D]
- 50626 (Dunkerton) [C] — 3 violations
- 51529 (Dunlap) [C] — 3 violations
- 52039 (Durango) [D]
- 52747 (Durant) [C]
- 52040 (Dyersville) [C] — 1 violation
- 52224 (Dysart) [C] — 1 violation
- 50533 (Eagle Grove) [C] — 1 violation
- 50072 (Earlham) [B]
- 51530 (Earling) [C] — 1 violation
- 52041 (Earlville) [C]
- 50535 (Early) [C] — 5 violations ⚠
- 52553 (Eddyville) [D]
- 52042 (Edgewood) [B]
- 52225 (Elberon) [D]
- 52554 (Eldon) [C] — 3 violations
- 50627 (Eldora) [C]
- 52748 (Eldridge) [C] — 2 violations
- 52141 (Elgin) [C]
- 51531 (Elk Horn) [C] — 10 violations
- 52043 (Elkader) [C]
- 50073 (Elkhart) [C] — 2 violations
- 52044 (Elkport) [D]
- 51532 (Elliott) [D] — 1 violation
- 50074 (Ellston) [D]
- 50075 (Ellsworth) [C] — 2 violations
- 50628 (Elma) [B]
- 52227 (Ely) [B]
- 51533 (Emerson) [C] — 1 violation
- 50536 (Emmetsburg) [B]
- 52045 (Epworth) [C]
- 51638 (Essex) [C]
- 51334 (Estherville) [C]
- 50707 (Evansdale) [C] — 1 violation
- 51338 (Everly) [B] — 1 violation
- 50076 (Exira) [B] — 1 violation
- 52555 (Exline) [D]
- 50629 (Fairbank) [C] — 1 violation
- 52228 (Fairfax) [C] — 4 violations
- 52556 (Fairfield) [C] — 5 violations
- 52557 (Fairfield) [C] — 5 violations
- 52046 (Farley) [C]
- 52047 (Farmersburg) [B]
- 52626 (Farmington) [C] — 1 violation
- 50538 (Farnhamville) [C]
- 51639 (Farragut) [B]
- 52142 (Fayette) [B] — 1 violation
- 50539 (Fenton) [F]
- 50078 (Ferguson) [D]
- 50434 (Fertile) [C] — 6 violations
- 52560 (Floris) [D]
- 50435 (Floyd) [C] — 1 violation
- 50540 (Fonda) [C] — 2 violations
- 50846 (Fontanelle) [C]
- 50436 (Forest City) [C] — 1 violation
- 52144 (Fort Atkinson) [B]
- 50501 (Fort Dodge) [F] — 27 violations ⚠
- 52627 (Fort Madison) [D] — 1 violation
- 51340 (Fostoria) [C]
- 50630 (Fredericksburg) [C] — 3 violations
- 50631 (Frederika) [D]
- 52561 (Fremont) [D]
- 52749 (Fruitland) [D]
- 50101 (Galt) [D]
- 51020 (Galva) [C] — 1 violation
- 52048 (Garber) [D]
- 50102 (Garden City) [D]
- 50103 (Garden Grove) [C]
- 52049 (Garnavillo) [B]
- 50438 (Garner) [C]
- 52229 (Garrison) [C]
- 50632 (Garwin) [B]
- 50633 (Geneva) [C]
- 51237 (George) [B]
- 50104 (Gibson) [D]
- 50259 (Gifford) [D]
- 50105 (Gilbert) [B] — 1 violation
- 50634 (Gilbertville) [C]
- 51341 (Gillett Grove) [D]
- 50106 (Gilman) [C]
- 50541 (Gilmore City) [C] — 2 violations ⚠
- 50635 (Gladbrook) [F] — 1 violation
- 51534 (Glenwood) [C] — 1 violation
- 51443 (Glidden) [C] — 2 violations
- 50542 (Goldfield) [B]
- 50439 (Goodell) [C] — 1 violation
- 52750 (Goose Lake) [C] — 1 violation
- 50543 (Gowrie) [C]
- 51342 (Graettinger) [C]
- 50440 (Grafton) [C]
- 50107 (Grand Junction) [C] — 3 violations
- 52751 (Grand Mound) [C]
- 50108 (Grand River) [D]
- 52752 (Grandview) [C] — 2 violations
- 50109 (Granger) [C] — 3 violations
- 50847 (Grant) [D]
- 51022 (Granville) [C]
- 50848 (Gravity) [D]
- 50110 (Gray) [D]
- 52050 (Greeley) [D]
- 50636 (Greene) [C]
- 50849 (Greenfield) [C]
- 51343 (Greenville) [D]
- 50111 (Grimes) [C] — 4 violations
- 50112 (Grinnell) [F] — 24 violations ⚠
- 51535 (Griswold) [C] — 2 violations
- 50638 (Grundy Center) [B]
- 52221 (Guernsey) [D]
- 50115 (Guthrie Center) [B]
- 52052 (Guttenberg) [C]
- 51444 (Halbur) [C] — 1 violation
- 51640 (Hamburg) [C]
- 50116 (Hamilton) [D]
- 50117 (Hamlin) [D]
- 50441 (Hampton) [C]
- 51536 (Hancock) [C]
- 50444 (Hanlontown) [C] — 3 violations
- 50544 (Harcourt) [C]
- 50545 (Hardy) [D]
- 51537 (Harlan) [C]
- 51593 (Harlan) [C]
- 52231 (Harper) [C]
- 52146 (Harpers Ferry) [D]
- 51345 (Harris) [C]
- 50118 (Hartford) [C]
- 51346 (Hartley) [B]
- 52232 (Hartwick) [D]
- 50119 (Harvey) [B] — 1 violation
- 51540 (Hastings) [D] — 9 violations ⚠
- 50546 (Havelock) [C]
- 50120 (Haverhill) [D]
- 51023 (Hawarden) [B]
- 52147 (Hawkeye) [B]
- 52562 (Hayesville) [D]
- 50641 (Hazleton) [C] — 4 violations
- 52563 (Hedrick) [B] — 1 violation
- 51541 (Henderson) [C]
- 52233 (Hiawatha) [C] — 11 violations
- 52149 (Highlandville) [D]
- 52235 (Hills) [C]
- 52630 (Hillsboro) [C]
- 51024 (Hinton) [C] — 2 violations
- 50642 (Holland) [C]
- 51025 (Holstein) [C]
- 52053 (Holy Cross) [C] — 2 violations
- 52236 (Homestead) [D]
- 51542 (Honey Creek) [D]
- 52237 (Hopkinton) [C]
- 51026 (Hornick) [C]
- 51238 (Hospers) [C] — 1 violation
- 52631 (Houghton) [D]
- 50122 (Hubbard) [C]
- 50643 (Hudson) [B]
- 51239 (Hull) [C]
- 50548 (Humboldt) [C] — 6 violations
- 50123 (Humeston) [C] — 5 violations
- 50124 (Huxley) [C]
- 51445 (Ida Grove) [B]
- 51645 (Imogene) [D]
- 50644 (Independence) [D]
- 50125 (Indianola) [C]
- 51240 (Inwood) [C] — 1 violation
- 50645 (Ionia) [C]
- 52240 (Iowa City) [D] — 14 violations
- 52242 (Iowa City) [D] — 14 violations
- 52243 (Iowa City) [D] — 14 violations
- 52244 (Iowa City) [D] — 14 violations
- 52245 (Iowa City) [D] — 14 violations
- 52246 (Iowa City) [D] — 14 violations
- 50126 (Iowa Falls) [C] — 9 violations
- 50127 (Ira) [D]
- 51027 (Ireton) [C]
- 51446 (Irwin) [C] — 5 violations
- 50128 (Jamaica) [F] — 8 violations ⚠
- 50647 (Janesville) [C]
- 50129 (Jefferson) [B]
- 50648 (Jesup) [C] — 1 violation
- 50130 (Jewell) [D] — 1 violation
- 50131 (Johnston) [C] — 3 violations
- 50446 (Joice) [C]
- 50551 (Jolley) [C]
- 52247 (Kalona) [C] — 1 violation
- 50132 (Kamrar) [D]
- 50447 (Kanawha) [C]
- 50133 (Kellerton) [F] — 4 violations
- 50134 (Kelley) [C]
- 50135 (Kellogg) [B] — 1 violation
- 50448 (Kensett) [C] — 1 violation
- 52632 (Keokuk) [C]
- 52565 (Keosauqua) [C] — 1 violation
- 52248 (Keota) [C]
- 50649 (Kesley) [D]
- 50136 (Keswick) [C]
- 52249 (Keystone) [C] — 2 violations ⚠
- 50137 (Killduff) [D]
- 51543 (Kimballton) [D] — 6 violations
- 51028 (Kingsley) [B]
- 51447 (Kirkman) [D]
- 52566 (Kirkville) [D]
- 51448 (Kiron) [B] — 1 violation
- 50449 (Klemme) [C] — 1 violation
- 50552 (Knierim) [C] — 5 violations ⚠
- 50138 (Knoxville) [C] — 2 violations
- 52054 (La Motte) [C]
- 50651 (La Porte City) [C] — 1 violation
- 50139 (Lacona) [C]
- 52251 (Ladora) [D] — 14 violations
- 51449 (Lake City) [C] — 1 violation
- 50450 (Lake Mills) [C]
- 51347 (Lake Park) [C]
- 51450 (Lake View) [C] — 3 violations
- 50451 (Lakota) [C] — 1 violation
- 50140 (Lamoni) [C] — 9 violations ⚠
- 50650 (Lamont) [D] — 2 violations
- 51451 (Lanesboro) [D] — 9 violations ⚠
- 52252 (Langworthy) [D]
- 52151 (Lansing) [B]
- 51241 (Larchwood) [C] — 1 violation
- 51029 (Larrabee) [C]
- 50452 (Latimer) [C]
- 50141 (Laurel) [C]
- 50554 (Laurens) [C] — 1 violation
- 52154 (Lawler) [C] — 2 violations ⚠
- 51030 (Lawton) [C] — 2 violations
- 52753 (Le Claire) [C]
- 50142 (Le Grand) [C]
- 51031 (Le Mars) [B]
- 50556 (Ledyard) [C] — 1 violation
- 50557 (Lehigh) [D] — 4 violations ⚠
- 50143 (Leighton) [D]
- 50453 (Leland) [C] — 4 violations ⚠
- 50851 (Lenox) [C]
- 50144 (Leon) [C] — 6 violations ⚠
- 51242 (Lester) [B]
- 52754 (Letts) [D]
- 51544 (Lewis) [C] — 2 violations ⚠
- 50145 (Liberty Center) [D]
- 52567 (Libertyville) [C] — 3 violations
- 51452 (Lidderdale) [C]
- 52155 (Lime Springs) [B] — 1 violation
- 50652 (Lincoln) [D]
- 50146 (Linden) [D]
- 50147 (Lineville) [C]
- 51033 (Linn Grove) [C] — 3 violations
- 52253 (Lisbon) [C] — 4 violations ⚠
- 50148 (Liscomb) [C]
- 50454 (Little Cedar) [D]
- 51243 (Little Rock) [C]
- 51545 (Little Sioux) [C] — 4 violations
- 50558 (Livermore) [C] — 1 violation
- 52635 (Lockridge) [C]
- 51546 (Logan) [C] — 2 violations
- 51453 (Lohrville) [C]
- 50559 (Lone Rock) [C] — 1 violation
- 52755 (Lone Tree) [C] — 4 violations
- 52756 (Long Grove) [C] — 3 violations
- 50149 (Lorimor) [D]
- 52254 (Lost Nation) [C] — 4 violations
- 50150 (Lovilia) [C]
- 52757 (Low Moor) [C]
- 52255 (Lowden) [C] — 2 violations
- 50560 (Lu Verne) [C] — 1 violation
- 52156 (Luana) [C] — 1 violation
- 50151 (Lucas) [D]
- 50152 (Luther) [C] — 2 violations ⚠
- 52056 (Luxemburg) [C]
- 52257 (Luzerne) [D]
- 50153 (Lynnville) [C]
- 50561 (Lytton) [C]
- 51549 (Macedonia) [C]
- 50155 (Macksburg) [D]
- 50156 (Madrid) [C] — 2 violations ⚠
- 51550 (Magnolia) [C] — 1 violation
- 50157 (Malcom) [C]
- 50562 (Mallard) [D] — 12 violations ⚠
- 51551 (Malvern) [C] — 6 violations
- 52057 (Manchester) [C]
- 51454 (Manilla) [C] — 2 violations
- 50456 (Manly) [C] — 7 violations
- 51455 (Manning) [B]
- 50563 (Manson) [C] — 2 violations
- 51034 (Mapleton) [C] — 1 violation
- 52060 (Maquoketa) [C]
- 50565 (Marathon) [C]
- 50653 (Marble Rock) [B]
- 51035 (Marcus) [C]
- 52301 (Marengo) [D] — 9 violations ⚠
- 52302 (Marion) [C]
- 51552 (Marne) [D]
- 52158 (Marquette) [C]
- 50158 (Marshalltown) [D] — 24 violations ⚠
- 52305 (Martelle) [C] — 2 violations
- 50160 (Martensdale) [B]
- 52568 (Martinsburg) [D]
- 50401 (Mason City) [C] — 1 violation
- 50402 (Mason City) [C] — 1 violation
- 50654 (Masonville) [D]
- 50853 (Massena) [C] — 11 violations ⚠
- 51244 (Matlock) [C] — 1 violation
- 51036 (Maurice) [C]
- 50161 (Maxwell) [C] — 2 violations
- 50655 (Maynard) [B]
- 50154 (Mc Callsburg) [D]
- 52758 (Mc Causland) [D]
- 51548 (Mc Clelland) [D]
- 52157 (Mc Gregor) [D]
- 50455 (Mc Intire) [D]
- 52306 (Mechanicsville) [C] — 4 violations
- 52637 (Mediapolis) [C] — 7 violations
- 50162 (Melbourne) [C]
- 50062 (Melcher-dallas) [C]
- 50163 (Melcher-dallas) [C]
- 52569 (Melrose) [D]
- 51350 (Melvin) [C]
- 50164 (Menlo) [D]
- 51037 (Meriden) [C]
- 51038 (Merrill) [B] — 1 violation
- 50457 (Meservey) [C]
- 52307 (Middle Amana) [C] — 2 violations
- 52638 (Middletown) [C] — 1 violation
- 52064 (Miles) [C] — 5 violations
- 51351 (Milford) [B]
- 52308 (Millersburg) [C]
- 50165 (Millerton) [D]
- 50166 (Milo) [C] — 3 violations
- 52570 (Milton) [D] — 2 violations
- 50167 (Minburn) [C] — 1 violation
- 51553 (Minden) [C] — 2 violations
- 51554 (Mineola) [D]
- 50168 (Mingo) [C] — 6 violations
- 51555 (Missouri Valley) [D] — 21 violations
- 50169 (Mitchellville) [C] — 3 violations ⚠
- 51556 (Modale) [C] — 1 violation
- 51557 (Mondamin) [C] — 2 violations
- 52309 (Monmouth) [B]
- 52159 (Monona) [C]
- 50170 (Monroe) [C]
- 50171 (Montezuma) [C]
- 52310 (Monticello) [C] — 119 violations ⚠
- 50173 (Montour) [B]
- 52759 (Montpelier) [D] — 1 violation
- 52639 (Montrose) [C] — 2 violations
- 51558 (Moorhead) [C] — 1 violation
- 50566 (Moorland) [C]
- 52571 (Moravia) [C]
- 52312 (Morley) [C] — 3 violations
- 52640 (Morning Sun) [C]
- 50657 (Morrison) [D]
- 52760 (Moscow) [D]
- 52572 (Moulton) [C]
- 52313 (Mount Auburn) [B]
- 50854 (Mount Ayr) [C] — 5 violations
- 52641 (Mount Pleasant) [B]
- 52573 (Mount Sterling) [D]
- 52644 (Mount Union) [D]
- 52314 (Mount Vernon) [B]
- 51039 (Moville) [C]
- 50174 (Murray) [C]
- 52761 (Muscatine) [D] — 9 violations ⚠
- 52574 (Mystic) [C] — 1 violation
- 50658 (Nashua) [C] — 3 violations
- 50567 (Nemaha) [D]
- 51559 (Neola) [C] — 9 violations
- 50201 (Nevada) [C]
- 52160 (New Albin) [C]
- 50659 (New Hampton) [C]
- 50660 (New Hartford) [C] — 2 violations
- 52765 (New Liberty) [C]
- 52645 (New London) [C]
- 51646 (New Market) [C]
- 50206 (New Providence) [C] — 1 violation
- 50207 (New Sharon) [C] — 1 violation
- 52065 (New Vienna) [C] — 2 violations
- 50210 (New Virginia) [C]
- 50568 (Newell) [C] — 3 violations
- 52315 (Newhall) [C]
- 50208 (Newton) [C] — 6 violations
- 52766 (Nichols) [D]
- 50857 (Nodaway) [D]
- 50458 (Nora Springs) [C]
- 52066 (North Buena Vista) [D]
- 52316 (North English) [C] — 1 violation
- 52317 (North Liberty) [C] — 3 violations
- 50661 (North Washington) [D]
- 51647 (Northboro) [D]
- 50459 (Northwood) [B] — 1 violation
- 50211 (Norwalk) [C]
- 52318 (Norway) [C]
- 51560 (Oakland) [C] — 1 violation
- 52646 (Oakville) [C] — 2 violations
- 51354 (Ocheyedan) [C] — 2 violations
- 51458 (Odebolt) [B]
- 50662 (Oelwein) [C]
- 50212 (Ogden) [C]
- 51355 (Okoboji) [B]
- 52647 (Olds) [C] — 2 violations
- 52320 (Olin) [C]
- 52576 (Ollie) [D]
- 51040 (Onawa) [B]
- 52321 (Onslow) [C] — 1 violation
- 50664 (Oran) [D]
- 51041 (Orange City) [B]
- 50460 (Orchard) [C] — 1 violation
- 50858 (Orient) [C]
- 50461 (Osage) [D]
- 50213 (Osceola) [C] — 4 violations ⚠
- 52577 (Oskaloosa) [C] — 4 violations
- 52161 (Ossian) [C]
- 50569 (Otho) [B]
- 50214 (Otley) [D]
- 51044 (Oto) [C] — 3 violations
- 50570 (Ottosen) [D]
- 52501 (Ottumwa) [C] — 3 violations
- 52322 (Oxford) [C] — 22 violations ⚠
- 52323 (Oxford Junction) [B] — 1 violation
- 51045 (Oyens) [C] — 1 violation
- 51561 (Pacific Junction) [C] — 3 violations ⚠
- 52580 (Packwood) [D]
- 50571 (Palmer) [C] — 1 violation
- 52324 (Palo) [C] — 3 violations
- 51562 (Panama) [C]
- 50216 (Panora) [C] — 3 violations
- 50665 (Parkersburg) [D]
- 52325 (Parnell) [D]
- 50217 (Paton) [D]
- 50218 (Patterson) [D]
- 51046 (Paullina) [C] — 4 violations
- 50219 (Pella) [C] — 3 violations
- 52068 (Peosta) [B]
- 51648 (Percival) [D]
- 50220 (Perry) [B]
- 51563 (Persia) [D]
- 50222 (Peru) [D]
- 51047 (Peterson) [C]
- 51048 (Pierson) [C]
- 52648 (Pilot Grove) [D]
- 50223 (Pilot Mound) [C]
- 51564 (Pisgah) [B]
- 50666 (Plainfield) [B]
- 52581 (Plano) [D]
- 50327 (Pleasant Hill) [C] — 1 violation
- 52767 (Pleasant Valley) [C]
- 50225 (Pleasantville) [B]
- 50573 (Plover) [C]
- 50464 (Plymouth) [C] — 6 violations
- 50574 (Pocahontas) [C]
- 50226 (Polk City) [C]
- 50575 (Pomeroy) [C] — 4 violations ⚠
- 50227 (Popejoy) [D]
- 51565 (Portsmouth) [C]
- 52162 (Postville) [C] — 1 violation
- 50228 (Prairie City) [C]
- 52219 (Prairieburg) [C]
- 50859 (Prescott) [D]
- 52069 (Preston) [C] — 1 violation
- 51245 (Primghar) [C] — 1 violation
- 52768 (Princeton) [C] — 2 violations ⚠
- 50229 (Prole) [D]
- 52583 (Promise City) [D]
- 52163 (Protivin) [F] — 1 violation
- 52584 (Pulaski) [C] — 1 violation
- 52326 (Quasqueton) [D]
- 51049 (Quimby) [C] — 1 violation
- 50230 (Radcliffe) [C]
- 50465 (Rake) [C]
- 51459 (Ralston) [C] — 1 violation
- 52164 (Randalia) [D]
- 50231 (Randall) [C]
- 51649 (Randolph) [C] — 3 violations
- 50667 (Raymond) [D]
- 50668 (Readlyn) [B]
- 50232 (Reasnor) [D]
- 51566 (Red Oak) [C] — 2 violations
- 51591 (Red Oak) [C] — 2 violations
- 50860 (Redding) [D]
- 50233 (Redfield) [B]
- 50669 (Reinbeck) [F] — 1 violation
- 50576 (Rembrandt) [C] — 2 violations
- 51050 (Remsen) [C] — 3 violations
- 50577 (Renwick) [C]
- 50234 (Rhodes) [C]
- 50466 (Riceville) [C] — 4 violations
- 52585 (Richland) [C] — 1 violation
- 51460 (Ricketts) [D]
- 52165 (Ridgeway) [C] — 2 violations
- 50578 (Ringsted) [C] — 1 violation
- 50235 (Rippey) [D]
- 52327 (Riverside) [C] — 2 violations
- 51650 (Riverton) [C] — 2 violations
- 52328 (Robins) [D]
- 50467 (Rock Falls) [D]
- 51246 (Rock Rapids) [C]
- 51247 (Rock Valley) [C] — 1 violation
- 50468 (Rockford) [B]
- 50469 (Rockwell) [C] — 1 violation
- 50579 (Rockwell City) [C] — 3 violations
- 51051 (Rodney) [D]
- 50236 (Roland) [B]
- 50581 (Rolfe) [C] — 2 violations
- 52642 (Rome) [F]
- 52586 (Rose Hill) [D]
- 50470 (Rowan) [C] — 5 violations
- 52329 (Rowley) [D]
- 51357 (Royal) [D]
- 50471 (Rudd) [B]
- 50237 (Runnells) [D]
- 50238 (Russell) [C] — 4 violations
- 51358 (Ruthven) [B]
- 50582 (Rutland) [C]
- 52330 (Ryan) [C] — 2 violations
- 52070 (Sabula) [C]
- 50583 (Sac City) [C]
- 50472 (Saint Ansgar) [C] — 2 violations
- 50239 (Saint Anthony) [D]
- 50240 (Saint Charles) [C]
- 52071 (Saint Donatus) [D]
- 52166 (Saint Lucas) [D]
- 50241 (Saint Marys) [C]
- 52072 (Saint Olaf) [B]
- 52657 (Saint Paul) [D]
- 52649 (Salem) [C] — 2 violations
- 51052 (Salix) [C]
- 51248 (Sanborn) [C]
- 50473 (Scarville) [D]
- 51053 (Schaller) [C] — 1 violation ⚠
- 51461 (Schleswig) [C]
- 51462 (Scranton) [F] — 3 violations
- 50242 (Searsboro) [D]
- 52588 (Selma) [D]
- 51054 (Sergeant Bluff) [B]
- 52590 (Seymour) [C]
- 51651 (Shambaugh) [C] — 1 violation ⚠
- 50861 (Shannon City) [D]
- 50862 (Sharpsburg) [D]
- 50475 (Sheffield) [B]
- 51570 (Shelby) [C] — 2 violations
- 50243 (Sheldahl) [C] — 1 violation
- 51201 (Sheldon) [B]
- 50670 (Shell Rock) [C]
- 52332 (Shellsburg) [B] — 1 violation
- 51601 (Shenandoah) [B]
- 51602 (Shenandoah) [C]
- 51603 (Shenandoah) [C]
- 52073 (Sherrill) [D]
- 51249 (Sibley) [C]
- 51652 (Sidney) [C] — 3 violations
- 52591 (Sigourney) [C] — 1 violation
- 51571 (Silver City) [C] — 2 violations
- 51250 (Sioux Center) [B] — 1 violation
- 51101 (Sioux City) [B] — 1 violation
- 51102 (Sioux City) [B] — 1 violation
- 51103 (Sioux City) [C] — 1 violation
- 51104 (Sioux City) [C] — 1 violation
- 51105 (Sioux City) [B] — 1 violation
- 51106 (Sioux City) [C] — 1 violation
- 51108 (Sioux City) [B] — 1 violation
- 51109 (Sioux City) [C] — 1 violation
- 51111 (Sioux City) [C] — 1 violation
- 50585 (Sioux Rapids) [C] — 4 violations
- 50244 (Slater) [C] — 2 violations ⚠
- 51055 (Sloan) [C]
- 51056 (Smithland) [C]
- 51572 (Soldier) [C] — 5 violations
- 52333 (Solon) [C] — 1 violation
- 50586 (Somers) [D] — 2 violations
- 52334 (South Amana) [C]
- 52335 (South English) [C] — 1 violation
- 51301 (Spencer) [C]
- 52650 (Sperry) [D]
- 52168 (Spillville) [C]
- 51360 (Spirit Lake) [C] — 1 violation ⚠
- 52074 (Spragueville) [D]
- 52075 (Springbrook) [C] — 1 violation
- 52336 (Springville) [B] — 1 violation
- 50476 (Stacyville) [C] — 1 violation
- 50246 (Stanhope) [D] — 3 violations
- 50671 (Stanley) [D]
- 51573 (Stanton) [D]
- 52337 (Stanwood) [C]
- 50247 (State Center) [C] — 5 violations
- 50672 (Steamboat Rock) [C] — 6 violations
- 52651 (Stockport) [C]
- 52769 (Stockton) [C]
- 50588 (Storm Lake) [B]
- 50248 (Story City) [C] — 2 violations
- 50673 (Stout) [C]
- 50249 (Stratford) [C] — 4 violations
- 52076 (Strawberry Point) [C]
- 50250 (Stuart) [C]
- 50251 (Sully) [C]
- 50674 (Sumner) [C]
- 51363 (Superior) [C]
- 51058 (Sutherland) [C] — 1 violation
- 50477 (Swaledale) [C]
- 50252 (Swan) [C]
- 50590 (Swea City) [C]
- 52652 (Swedesburg) [D]
- 52338 (Swisher) [C] — 12 violations ⚠
- 51653 (Tabor) [C] — 3 violations
- 52339 (Tama) [C] — 3 violations
- 52771 (Teeds Grove) [D]
- 51463 (Templeton) [C]
- 51364 (Terril) [C] — 3 violations
- 50254 (Thayer) [D]
- 50478 (Thompson) [C]
- 50591 (Thor) [D] — 1 violation
- 50255 (Thornburg) [D]
- 50479 (Thornton) [B]
- 51654 (Thurman) [C]
- 52340 (Tiffin) [C] — 3 violations
- 50863 (Tingley) [D]
- 52772 (Tipton) [B]
- 50480 (Titonka) [C] — 1 violation
- 52341 (Toddville) [C] — 55 violations ⚠
- 50481 (Toeterville) [D]
- 52342 (Toledo) [C] — 1 violation
- 50256 (Tracy) [D]
- 50675 (Traer) [C] — 2 violations
- 51575 (Treynor) [C] — 3 violations
- 50676 (Tripoli) [C]
- 52344 (Troy Mills) [D]
- 50592 (Truesdale) [C]
- 50257 (Truro) [C] — 4 violations
- 52593 (Udell) [D]
- 51576 (Underwood) [D]
- 50258 (Union) [B]
- 52594 (Unionville) [D]
- 52595 (University Park) [D]
- 52345 (Urbana) [C] — 11 violations
- 50322 (Urbandale) [D] — 3 violations
- 50323 (Urbandale) [D] — 3 violations
- 50398 (Urbandale) [D] — 3 violations
- 51060 (Ute) [C] — 2 violations
- 51465 (Vail) [B] — 1 violation
- 52346 (Van Horne) [C]
- 50261 (Van Meter) [C] — 1 violation
- 50262 (Van Wert) [D]
- 50593 (Varina) [C] — 3 violations
- 50482 (Ventura) [C] — 1 violation
- 52347 (Victor) [D] — 6 violations
- 50864 (Villisca) [C] — 2 violations
- 50594 (Vincent) [D] — 2 violations
- 52348 (Vining) [D]
- 52349 (Vinton) [C] — 1 violation
- 52077 (Volga) [C] — 1 violation
- 52169 (Wadena) [B]
- 52773 (Walcott) [B] — 1 violation
- 52351 (Walford) [C] — 12 violations ⚠
- 52352 (Walker) [B]
- 51466 (Wall Lake) [C]
- 51365 (Wallingford) [C] — 1 violation
- 51577 (Walnut) [C]
- 52653 (Wapello) [C] — 2 violations
- 52353 (Washington) [B]
- 51061 (Washta) [C]
- 50701 (Waterloo) [C]
- 50702 (Waterloo) [C]
- 50703 (Waterloo) [C]
- 50704 (Waterloo) [B]
- 52170 (Waterville) [D]
- 52354 (Watkins) [D]
- 52171 (Waucoma) [C]
- 50263 (Waukee) [C]
- 52172 (Waukon) [C] — 4 violations
- 50677 (Waverly) [D] — 3 violations
- 52654 (Wayland) [C] — 1 violation
- 51366 (Webb) [D]
- 52355 (Webster) [C]
- 50595 (Webster City) [C]
- 50264 (Weldon) [D]
- 52356 (Wellman) [C]
- 50680 (Wellsburg) [C]
- 52774 (Welton) [B]
- 50483 (Wesley) [C]
- 50597 (West Bend) [C] — 2 violations
- 52358 (West Branch) [C] — 6 violations
- 52655 (West Burlington) [B]
- 52359 (West Chester) [C] — 1 violation
- 50265 (West Des Moines) [C]
- 50266 (West Des Moines) [B]
- 52776 (West Liberty) [C]
- 52656 (West Point) [D] — 2 violations
- 52175 (West Union) [B]
- 51062 (Westfield) [B]
- 50681 (Westgate) [C]
- 51578 (Westphalia) [D]
- 51467 (Westside) [C] — 2 violations
- 52658 (Wever) [D]
- 50268 (What Cheer) [B]
- 52777 (Wheatland) [C] — 1 violation
- 51063 (Whiting) [B]
- 50598 (Whittemore) [C] — 5 violations
- 50269 (Whitten) [D]
- 50271 (Williams) [C] — 1 violation
- 52361 (Williamsburg) [B] — 1 violation
- 50272 (Williamson) [D]
- 52778 (Wilton) [C]
- 50324 (Windsor Heights) [D]
- 52659 (Winfield) [C]
- 50273 (Winterset) [B]
- 50682 (Winthrop) [B]
- 50274 (Wiota) [C] — 8 violations
- 50484 (Woden) [C] — 5 violations
- 51579 (Woodbine) [C] — 1 violation
- 50275 (Woodburn) [D]
- 50276 (Woodward) [C] — 5 violations
- 50599 (Woolstock) [C]
- 52078 (Worthington) [C]
- 52362 (Wyoming) [C] — 4 violations
- 50277 (Yale) [C]
- 52660 (Yarmouth) [D]
- 51656 (Yorktown) [D]
- 50278 (Zearing) [C] — 3 violations
- 52079 (Zwingle) [D]
Data Sources
- Water quality: EPA Safe Drinking Water Information System (SDWIS)
- Regulations: State plumbing boards, ICC, IAPMO
Updated daily.
Frequently Asked Questions
Is the water safe to drink in Iowa?
Iowa has 963 community water systems serving 2,600,444 people across 1058 ZIP codes. There are 2,974 recorded violations, including 159 health-based. 479 of 1058 ZIP codes have at least one violation.
What plumbing code does Iowa follow?
Iowa follows the IPC plumbing code. A licensed plumber is generally required for plumbing work.
Is lead a concern in Iowa's drinking water?
4 ZIP codes in Iowa have lead levels exceeding the EPA action level of 0.015 mg/L.
What is the radon risk in Iowa?
100% of ZIP codes in Iowa fall in EPA Radon Zone 1 (highest risk).