Discover/azsdwis.azdeq.gov API
live

azsdwis.azdeq.gov APIazsdwis.azdeq.gov

Access Arizona Safe Drinking Water Information System data: water systems, analytes, sample results, and CCR reports via 7 structured endpoints.

Endpoints
7
Updated
10d ago
Try it

No input parameters required.

api.parse.bot/scraper/075111a7-0e3d-4140-82e1-efebeab264a1/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/075111a7-0e3d-4140-82e1-efebeab264a1/list_filters' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 7 totalclick to expand

List available search filters for water systems including counties, system types, source water types, and point of contact types.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "counties": "array of county name strings",
    "source_water_types": "array of source water type display names",
    "water_system_types": "array of water system type display names",
    "point_of_contact_types": "array of contact type display names"
  },
  "sample": {
    "data": {
      "counties": [
        "All",
        "APACHE",
        "COCHISE",
        "COCONINO",
        "GILA",
        "GRAHAM",
        "GREENLEE",
        "LA PAZ",
        "MARICOPA",
        "MOHAVE",
        "NAVAJO",
        "PIMA",
        "PINAL",
        "SANTA CRUZ",
        "YAVAPAI",
        "YUMA"
      ],
      "source_water_types": [
        "All",
        "GroundWater",
        "GroundWater Purchased",
        "GroundWater UDI SurfaceWater",
        "GroundWater UDI SurfaceWater Purchased",
        "SurfaceWater",
        "SurfaceWater Purchased"
      ],
      "water_system_types": [
        "All",
        "Community",
        "Non-Community",
        "Non-Transient Non-Community"
      ],
      "point_of_contact_types": [
        "None",
        "Administrative Contact",
        "Emergency Contact",
        "Owner",
        "Lead Engineer",
        "Operator",
        "Financial Contact",
        "Legal Contact",
        "Designated Op in Charge",
        "Sampling"
      ]
    },
    "status": "success"
  }
}

About the azsdwis.azdeq.gov API

The Arizona SDWIS API exposes public drinking water data from azsdwis.azdeq.gov across 7 endpoints, covering everything from statewide water system search to per-analyte historical sample results. The search_water_systems endpoint lets you query by name, county, system type, or source water type and returns system IDs needed to chain into detail, analyte, and sample-result calls.

What the API Covers

This API surfaces data from Arizona's Safe Drinking Water Information System (SDWIS), maintained by the Arizona Department of Environmental Quality (ADEQ). It covers public water systems (PWS) statewide — community, non-community, and non-transient non-community systems — along with their monitored contaminants, lab sample results, and Consumer Confidence Report (CCR) availability. The list_filters endpoint returns all valid enumerated values for county, system type, source water type, and point-of-contact type, which are the accepted inputs throughout the rest of the API.

Searching and Identifying Water Systems

search_water_systems accepts up to five optional filters — name (partial match), number (e.g. AZ0407025), county, source_type, and system_type — and returns an array of matching systems with fields including pws_id, federal_type, status, county, source_type, tinwsys_is_number, and tinwsys_st_code. The tinwsys_is_number value is the internal ID required by get_water_system_detail, get_water_system_analytes, and get_water_system_sample_results, so a search call is typically the first step in any workflow.

Analytes and Sample Results

get_water_system_analytes returns every contaminant monitored for a given system, including code, name, and analyte_id. Passing an analyte_id plus tinwsys_is_number to get_water_system_sample_results returns the full sample history for that contaminant, with fields for sample_type, date, sample_point, result, uom (unit of measure), and a less_than flag for non-detect readings. get_available_ccr_years takes a pws_id and returns which Consumer Confidence Report years are on file for that system.

Known Limitation

The get_glossary endpoint is documented in the API but currently returns an error because the corresponding page has been removed from the ADEQ site. All other endpoints return structured data. Coverage is limited to Arizona public water systems; no data from other states is included.

Common use cases
  • Build a lookup tool that maps Arizona county names to their public water systems and current operational status.
  • Track historical contaminant levels for a specific water system by chaining analyte and sample-result endpoints.
  • Generate alerts when sample results for a regulated analyte exceed a threshold value across multiple systems.
  • Compile a list of available Consumer Confidence Report years for all Community water systems in a given county.
  • Identify all water systems using a specific source water type (e.g. GroundWater) across Arizona counties.
  • Audit contact records for water systems by pulling operator and emergency contact data from the detail endpoint.
  • Cross-reference federal_type and status fields to identify inactive or non-community water systems statewide.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does ADEQ provide an official developer API for SDWIS data?+
ADEQ does not publish a documented public developer API for the SDWIS portal at azsdwis.azdeq.gov. The site is intended for public lookup use rather than programmatic access.
What does get_water_system_detail return beyond basic system info?+
In addition to system-level fields like pws_id, name, county, federal_type, primary_source, status, and activity_date, the endpoint returns two sub-arrays: sources (each with name, type, status, and availability) and contacts (each with type, name, and communication fields such as phone or email).
Does the API return violation history or enforcement actions for water systems?+
Not currently. The API covers system details, monitored analytes, historical sample results, and CCR report availability. You can fork it on Parse and revise it to add an endpoint that retrieves violation or enforcement records if that data becomes accessible from the source.
Can I retrieve sample results for all analytes at once, or do I have to query one at a time?+
The get_water_system_sample_results endpoint requires a single analyte_id per call, so results are retrieved one analyte at a time. You can get the full list of analyte IDs for a system from get_water_system_analytes first, then loop through them. The API does not currently support a bulk-analyte sample fetch. You can fork it on Parse and revise to add a batched endpoint if that workflow is needed.
Is the glossary endpoint usable?+
No. The get_glossary endpoint currently returns an error because the underlying glossary page has been removed from the ADEQ site. All other six endpoints return structured data normally.
Page content last updated . Spec covers 7 endpoints from azsdwis.azdeq.gov.
Related APIs in Government PublicSee all →
identify.plantnet.org API
Identify and explore plant species by searching through Pl@ntNet's comprehensive botanical database to access detailed information like taxonomic families, genera, species descriptions, photos, and community observations. Track plant distributions, view contribution trends, and discover expert contributors within the platform's collaborative plant identification community.
data.lime.bike API
Access real-time availability data for Lime bikes and scooters, including station locations, vehicle status, system alerts, and geofencing zones across multiple cities. Monitor micromobility inventory and service information to find nearby vehicles or plan your trips effectively.
accessdata.fda.gov API
Search and retrieve comprehensive FDA premarket approval information for medical devices, including approval status, supplements, applicant details, and advisory committee data. Get instant access to specific PMA records with all relevant approval information in one place.
eprocurement.gov API
Monitor India's public procurement opportunities by accessing active tenders, bids closing today, global tenders, high-value contracts, and cancelled tenders from the Central Public Procurement Portal. Search tender details, browse participating organizations, and track real-time procurement statistics to stay informed on government contracting opportunities.
cmegroup.com API
Get CME Group market data including FedWatch interest-rate probabilities, futures quotes and settlements, volume/open interest history, and options expirations and near-the-money option chains.
alienvault.com API
Search and analyze global threat intelligence data including indicators of compromise, threat pulses, and adversary profiles from the Open Threat Exchange community. Monitor recent security alerts and access detailed information about threats and adversaries to strengthen your cybersecurity defenses.
api.nasa.gov API
Access NASA's suite of open data APIs — including the Astronomy Picture of the Day, Near Earth Object tracking, DONKI space weather events, EPIC Earth imagery, Mars weather, the NASA Image and Video Library, the Exoplanet Archive, and EONET natural events.
mahatenders.gov.in API
Access Maharashtra government tenders from mahatenders.gov.in, browsing them by closing date or by organization with full tender details and pagination support. Find and review procurement opportunities across different government departments in one place.