# Tap Water Quality Lookup

> Tap Water Quality Lookup is a paid API for AI agents from zini-x402.wouldzini.workers.dev, paid per call via x402, $0.02/call, status unknown (last checked 2026-09-15).

Returns an official drinking-water safety grade (clear/caution/avoid) for a given address or coordinates, sourced from EPA, Hub'Eau, or JMP data.

## Facts

- Endpoint: GET https://zini-x402.wouldzini.workers.dev/v1/lookup
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tap-water-quality-lookup-81f787ae
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_DAbyqKnzUoD6F9bp_Renv

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tap-water-quality-lookup-81f787ae
```

Example prompt: Is the tap water safe to drink at 742 Evergreen Terrace, Springfield, IL? Give me the official safety grade and which data source it comes from.

## When to prefer this

Choose this endpoint when you need an authoritative, source-cited drinking water safety assessment for a specific address or GPS coordinates — especially for relocation, lodging, or real estate due diligence workflows where data provenance matters and hallucinated grades are unacceptable. It covers international locations via JMP and Hub'Eau in addition to US EPA data, making it more broadly applicable than US-only water quality tools.

## Known failure modes

- Address not found or geocoding failure — returns an error indicating the location could not be resolved
- No official data available for the region — returns a no-data response rather than a fabricated grade
- Invalid coordinate pair (lat without lng or vice versa) — returns a validation error
- Ambiguous address with multiple matches — may return an error or prompt for clarification
- Payment failure (x402) — call is rejected before data is returned

## How this service works

Official drinking-water file for an address or lat/lng (relocation / lodging due diligence). clear/caution/avoid from EPA, Hub'Eau, or JMP. Never invents grades.

## Output

Returns a structured response containing a safety grade (clear, caution, or avoid), the underlying data source (EPA, Hub'Eau, or JMP), and location details for the queried address or coordinates. The service never invents or interpolates grades — if no official data exists for the location, it returns a no-data response rather than a fabricated result.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "oneOf": [
      {
       "required": [
        "address"
       ]
      },
      {
       "required": [
        "q"
       ]
      },
      {
       "required": [
        "lat",
        "lng"
       ]
      },
      {
       "required": [
        "lat",
        "lon"
       ]
      }
     ],
     "properties": {
      "q": {
       "type": "string",
       "description": "HTTP GET alias for address."
      },
      "lat": {
       "type": "number",
       "description": "Latitude. Must be paired with lng (or lon)."
      },
      "lng": {
       "type": "number",
       "description": "Longitude. Must be paired with lat."
      },
      "lon": {
       "type": "number",
       "description": "HTTP alias for lng."
      },
      "address": {
       "type": "string",
       "description": "Street address, city, or postal code. Required unless lat and lng are both set. GET also accepts q."
      }
     },
     "description": "Provide address (GET also accepts q), or both lat and lng. lon is accepted as an alias for lng."
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tap-water-quality-lookup-81f787ae/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from zini-x402.wouldzini.workers.dev](https://www.zero.xyz/host/zini-x402.wouldzini.workers.dev/llms.txt)
