# Water Quality Results Normalizer

> Water Quality Results Normalizer is a paid API for AI agents from natur.halowerk.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Retrieves water quality measurement results for a monitoring site from the Water Quality Portal and normalizes units (mg/L, ug/L, ppm, etc.) into a consistent, comparable shape to prevent factor-of-thousand errors in downstream analysis.

## Facts

- Endpoint: POST https://natur.halowerk.com/v1/water-quality
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/water-quality-results-normalizer-77fea53e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_YOUUouGoE4Pb0T0dMzq5t

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 water-quality-results-normalizer-77fea53e -d '<json body>'
```

Example prompt: Pull normalized water quality results for USGS monitoring site 01646500 — I need nitrate and dissolved oxygen measurements for the past 90 days with all units standardized so I can run statistics on them.

## When to prefer this

Choose this endpoint when you need water quality data from the Water Quality Portal and require unit-normalized, statistically safe output. It is specifically valuable when combining measurements across multiple sampling events, labs, or time periods where unit inconsistency (mg/L vs ug/L vs ppm) would silently corrupt downstream calculations. Prefer it over direct WQP queries whenever you plan to compute means, trends, or comparisons.

## Known failure modes

- Unknown or invalid monitoring site identifier returns an error or empty result set
- Water Quality Portal upstream outage causes retrieval failure
- No measurements found for the requested parameter or date range
- Ambiguous unit type with no known conversion factor may be flagged or excluded
- Rate limiting or timeout from upstream Water Quality Portal API

## How this service works

Retrieves water quality results for a monitoring site from the Water Quality Portal and normalises them into a comparable shape. The real work is units: the same measurement appears there as mg/L, ug/L, ppm and mg/l in mixed case, and combining them unchecked puts factor-of-thousand errors into any statistic built on top.

## Output

A normalized collection of water quality measurement records for the requested monitoring site, with all unit variants (mg/L, ug/L, ppm, mg/l and mixed-case equivalents) resolved into a single consistent unit scale per parameter, making measurements directly comparable and safe to use in statistical computations.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "site_id": {
   "type": "string",
   "maxLength": 60,
   "minLength": 4,
   "description": "Monitoring location id, e.g. USGS-01646500."
  },
  "start_date": {
   "type": "string",
   "maxLength": 10,
   "description": "ISO date; defaults to two years back."
  },
  "max_results": {
   "type": "integer",
   "default": 800,
   "maximum": 3000,
   "minimum": 10
  },
  "characteristic": {
   "type": "string",
   "maxLength": 80,
   "description": "Restrict to one characteristic name, e.g. Nitrate."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/water-quality-results-normalizer-77fea53e/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from natur.halowerk.com](https://www.zero.xyz/host/natur.halowerk.com/llms.txt)
