---
title: "PFAS occurrence in EPA UCMR 5 by public water system"
method: POST
path: "/api/locus-pfas-occurrence"
tags: ["water", "environment", "pfas", "ucmr5", "epa", "ehs", "read-only", "paid", "x402", "category:environmental"]
---

# PFAS occurrence in EPA UCMR 5 by public water system

`POST /api/locus-pfas-occurrence`

## Request

- Base URL: `https://api.locus.report`
- URL: `https://api.locus.report/api/locus-pfas-occurrence`
- Auth: API key in header `PAYMENT-SIGNATURE`

EPA UCMR 5 PFAS results for an address or PWSIDs. EPA service-area point-in-polygon with provider or machine-modeled confidence; containment is not proof of service. Detect and non-detect counts stay distinct; lithium is excluded. Entry-point samples, not a tap reading. Charge-free when unresolved or out of coverage.

## Request body

- object
  - `pwsids` string[]: Public water system IDs from locus_water_systems, e.g. ["NC0201010"]. County membership does not prove that a system serves a specific address. When set, address/point inputs are ignored.
  - `address` string: US street address. Resolved to a point and matched against EPA's community water system service-area boundary layer to find the serving system(s), each with boundary provenance and confidence.
  - `latitude` number
  - `longitude` number

## Response `200`

Atomic read result. A substantive result is paid; an empty/out-of-coverage result carries charged:false (x402 settlement suppressed).

- object

## Other responses

- `400`: Invalid request body.
- `402`: Payment Required. For x402 v2, repeat the identical request with a valid PAYMENT-SIGNATURE header (legacy X-PAYMENT is accepted for compatibility). MPP is disabled for paid-only atomic research.

---

[API](https://skmtc.dev/locus/apis/locus-api.md) · [All operations](https://skmtc.dev/locus/apis/locus-api/llms.txt) · [OpenAPI document](https://skmtc.dev/locus/apis/locus-api/revisions/ba7786b74adb?raw)
