How this is built
Methodology & Sources
Every page on TapWaterMap is built from one source: the U.S. EPA's Envirofacts Safe Drinking Water Information System (SDWIS), a public database with no login required. We do not add data, estimate missing values, or generate prose about your water with AI. The numbers on a page are computed directly from EPA records, and you can verify each one.
The data chain
For each seed state, we pull two EPA tables and join them:
- WATER_SYSTEM — every active community water system (the year-round systems that serve residents), with its name, the population it reports serving, and its primary water source. We deliberately exclude inactive systems and transient non-community systems (e.g. a restaurant's own well), which do not represent a city's drinking water.
- VIOLATION — every violation the EPA has on record for those systems: the contaminant, whether the EPA classifies it as health-based, the dates, and whether it has returned to compliance.
A city page is generated only where a genuine active community water system exists in the EPA's records for that city (our "match-gate"). We would rather publish fewer real pages than many empty ones.
Code translations
The EPA stores contaminants, violation types, and statuses as codes. We translate them using
the EPA's own published reference tables (SDWA_REF_CODE_VALUES), bundled at build
time — so a code like "2950" becomes "TTHM" exactly as the EPA defines it.
What we report — and what we don't
- We report what the EPA recorded, attributed and dated.
- We report only against the limits in the EPA's records. We do not apply our own stricter limits or rank cities by "danger."
- We do not tell you whether your water is safe to drink. The absence of a reported violation is not a guarantee of safety, and EPA records do not cover the plumbing inside your home.
- Where the EPA record is missing a measured level, we say so rather than filling the gap.
How fresh the data is
EPA SDWIS data updates roughly quarterly. We rebuild every page weekly from a fresh pull, and each page shows the month its data was retrieved.
Verify it yourself
The EPA's Envirofacts data service is public and documented at
epa.gov/enviro. Every figure we show traces to a row in it (the service base is
data.epa.gov/efservice; it needs a table path to return data).