Skip to main content
POST
Returns public water systems serving a US county and their drinking water compliance records from the US Environmental Protection Agency, largest population first. Includes enforcement priority, violation categories, contaminants and inspection dates. Reports follow quarterly state submissions and can lag by three to six months.

Authentication

Requires x402 payment in the payment-signature header.

Request Body

string
required
Five-digit state plus county code, the county_id returned by Place Resolve (place_resolve), for example 26049 for Genesee County, Michigan.
string
Community serves residents year round; non-transient non-community includes schools and workplaces; transient non-community includes rest stops and restaurants; all includes every type. One of community, non_transient_non_community, transient_non_community, all. Defaults to "community".
boolean
Include inactive systems as well as active systems. Defaults to false.
integer
How many systems to return, largest population first. From 1 to 25. Defaults to 10.

Response (200 OK)

Top-level envelope: success (boolean) and data (object). All fields below are nested under data.
string
Durable job ID for audit and lookup
string
Job status: completed
string
Always place_drinking_water
object
The answer, described under Result below
object
Where the answer came from and when
string
The public body the data comes from. Always US Environmental Protection Agency.
string
public when the data comes from a public body, commercial otherwise
string
When the lookup was made, as an ISO 8601 UTC time
string | null
When the source says the fact was last updated, or null when the source gives no date

Result

Nested under data.result.
number
Every matched system, including any beyond limit.
number
Matched systems designated enforcement priorities.
number
Matched systems currently in violation.
number
Matched systems with violations in the last three years.
object[]
Matching systems, largest population served first, at most limit.
string
Public water system identifier.
string | null
System name as recorded. null when the source gives no value.
string | null
Two-letter state code. null when the source gives no value.
string | null
Counties served, as recorded. null when the source gives no value.
string | null
Cities served, as recorded; some states leave this blank. null when the source gives no value.
string | null
The identifier the source gives the facility across every program. null when the source gives no value.
string | null
Public water system type description. null when the source gives no value.
string | null
Primary water source description. null when the source gives no value.
string | null
Owner type description. null when the source gives no value.
integer | null
The estimated average daily population served by a system. null when the source gives no value.
boolean
True when the source activity code is A (active).
boolean | null
True indicates a public water system with unresolved serious, multiple, and/or continuing violations, a priority candidate for formal enforcement. null when the source gives no value.
integer | null
How many of the last twelve quarters the system was in violation. null when the source gives no value.
integer | null
How many of the last twelve quarters the system was an enforcement priority. null when the source gives no value.
boolean | null
Violations of maximum contaminant levels, maximum residual disinfectant levels or treatment technique rules flagged in the source’s current compliance summary. null when the source gives no value.
boolean | null
Failure to monitor or report flagged in the source’s current compliance summary. null when the source gives no value.
boolean | null
Public notification requirements violations flagged in the source’s current compliance summary. null when the source gives no value.
boolean | null
Other violations, for example consumer confidence reports or records, flagged in the source’s current compliance summary. null when the source gives no value.
integer | null
Rules violated in the last three years. null when the source gives no value.
integer | null
Rules violated as of the latest official quarter. null when the source gives no value.
integer | null
Violation points accrued over the last five years. null when the source gives no value.
integer | null
Violation points remaining uncorrected. null when the source gives no value.
string[]
Violation categories recorded for the system.
object[]
Contaminants or rules in violation in the last three years.
string
Code.
string
Name.
object[]
Contaminants or rules in violation as of the latest official quarter.
string
Code.
string
Name.
integer | null
Lead action level exceedances in the last five years: 90th percentile over 0.015 mg/L. null when the source gives no value.
integer | null
Copper action level exceedances in the last five years: 90th percentile over 1.3 mg/L. null when the source gives no value.
integer | null
Significant deficiencies from sanitary surveys in the last five years. null when the source gives no value.
string | null
Most recent formal enforcement action date, YYYY-MM-DD. null when the source gives no value.
string | null
Most recent site visit date, YYYY-MM-DD. null when the source gives no value.
See Pricing for this tool’s price. A wallet (x402) call receives it in the 402 quote before anything is charged; a call paid from prepaid credits is charged when the API accepts the request and answers 200.

Notes

  • Data follow state reports quarterly and can lag by three to six months. Counts describe the latest official quarter or the stated three- or five-year period, with no source history.
  • A system is listed for every county it serves, so a large utility can appear under several counties.
  • The counts cover every matched system, not only those returned. The list has at most limit systems, largest population served first.
  • By default, only active community systems serving residents year round are included. Use system_type: all for schools, workplaces and rest stops with their own wells; use include_inactive: true to include inactive systems.
  • Results return inline. The finished job stays available at /v1/requests/{request_id}