---
title: "Address-level environmental context (EPA TRI/RCRA/SDWIS)"
method: POST
path: "/api/locus-environmental-context"
tags: ["data", "search", "real-estate", "property", "property-research", "due-diligence", "public-records", "x402", "property-environment", "environmental-due-diligence", "hazardous-materials", "water", "air-quality", "government", "citations", "category:environmental"]
---

# Address-level environmental context (EPA TRI/RCRA/SDWIS)

`POST /api/locus-environmental-context`

## Request

- Base URL: `https://api.locus.report`
- URL: `https://api.locus.report/api/locus-environmental-context`
- Auth: one of:
  - API key in header `PAYMENT-SIGNATURE`
  - API key in header `Authorization`

EPA TRI and RCRA proximity plus SDWIS water systems from an address, point, or state and county. For agents checking nearby environmental public records. Heavier call: allow 60-90 seconds. Returns provenance and verification links; facility context is not incident confirmation. npx @velinussage/locus-agent-skill add.

## Request body

- union: US street address, latitude+longitude, or backward-compatible two-letter state code plus county name. Address/point mode derives the county and ranks public EPA facility rows by distance.
  - object
    - `state` string: Optional two-letter US state code, e.g. NC, OH, NY; provide with county for county mode.
    - `county` string: Optional county name, e.g. Wake; provide with state for county mode.
    - `address` string, required: Optional US street address; used to derive county and rank EPA TRI/RCRA facility records by distance.
    - `latitude` number: Optional decimal latitude; provide with longitude for point mode.
    - `longitude` number: Optional decimal longitude; provide with latitude for point mode.
    - `radiusMeters` number: Optional proximity radius in meters for address/point mode; default 5000, max 25000.
  - object
    - `state` string: Optional two-letter US state code, e.g. NC, OH, NY; provide with county for county mode.
    - `county` string: Optional county name, e.g. Wake; provide with state for county mode.
    - `address` string: Optional US street address; used to derive county and rank EPA TRI/RCRA facility records by distance.
    - `latitude` number, required: Optional decimal latitude; provide with longitude for point mode.
    - `longitude` number, required: Optional decimal longitude; provide with latitude for point mode.
    - `radiusMeters` number: Optional proximity radius in meters for address/point mode; default 5000, max 25000.
  - object
    - `state` string, required: Optional two-letter US state code, e.g. NC, OH, NY; provide with county for county mode.
    - `county` string, required: Optional county name, e.g. Wake; provide with state for county mode.
    - `address` string: Optional US street address; used to derive county and rank EPA TRI/RCRA facility records by distance.
    - `latitude` number: Optional decimal latitude; provide with longitude for point mode.
    - `longitude` number: Optional decimal longitude; provide with latitude for point mode.
    - `radiusMeters` number: Optional proximity radius in meters for address/point mode; default 5000, max 25000.

## Response `200`

Successful paid artifact, or a free pre-charge diagnostic when the request is outside current coverage.

- object: A cited environmental-context artifact: EPA TRI hazardous-release reporting facilities, EPA RCRA hazardous-waste handlers when a point/county FIPS is available, and EPA SDWIS drinking-water systems, with provenance, per-component status, distance-ranked address proximity where applicable, and event-history verify links (NRC, PHMSA).
  - `kind` 'environmental_context', required
  - `state` string, required
  - `county` string, required
  - `generatedAt` string, required
  - `query` object, required
    - `mode` 'county' | 'address' | 'point', required
    - `radiusMeters` number, required
  - `point` object
    - `latitude` number, required
    - `longitude` number, required
  - `countyFips3` string
  - `componentStatus` object[], required
    - `component` 'toxic_releases' | 'hazardous_waste_handlers' | 'water_systems' | 'address_proximity', required
    - `status` 'ok' | 'unavailable' | 'needs_point_or_fips' | 'needs_point', required
  - `toxicReleases` object
  - `hazardousWasteHandlers` object
  - `waterSystems` object
  - `proximity` object
  - `caveats` string[], required
  - `charged` boolean

## 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), or use Authorization: Payment for MPP Tempo when advertised in x-payment-info.offers.

---

[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)
