# EPA Toxics Release Inventory (TRI) Search

> EPA Toxics Release Inventory (TRI) Search is a paid API for AI agents from api.govparse.io, paid per call via x402, $1.25/call, status unknown (last checked 2026-09-14).

Search the EPA TRI Basic Data to find which facilities report toxic chemical releases, filtered by facility, company, state, chemical, CAS number, NAICS code, year, chemical class, or minimum release amount.

## Facts

- Endpoint: GET https://api.govparse.io/v1/epa/tri/search
- Price: $1.25/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/epa-toxics-release-inventory-tri-search-3c611550
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_CWMvWzLOJ0-Wc7otZeyuR

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 epa-toxics-release-inventory-tri-search-3c611550
```

Example prompt: Pull EPA TRI data for facilities in Michigan that reported toluene releases in 2023, sort by total releases descending, and show me the top 25 results including the parent company and on/off-site release totals.

## When to prefer this

Use this endpoint when you need structured, searchable access to EPA TRI toxic release data — especially for environmental due diligence, EHS compliance screening, remediation site identification, or sales prospecting in environmental services. Prefer this over raw EPA data portals when you need entity-resolved facility matching, multi-filter queries (chemical class + state + minimum release), or programmatic access with pagination.

## Known failure modes

- No results returned when filter combination is too narrow (e.g. obscure CAS + specific state + year with no records)
- Partial or missing entity resolution if facility cannot be matched to a known employer entity
- Self-reported data may contain inaccuracies or omissions from facilities
- Limit cap of 100 rows per call may require pagination for large result sets
- Invalid CAS number format returns an error or empty result
- Year outside TRI reporting coverage returns no data

## How this service works

Which facilities report toxic chemical releases? Search the EPA Toxics Release Inventory (TRI Basic Data) by facility or parent company, state, chemical, CAS number, NAICS, reporting year, chemical class (carcinogen, PBT, PFAS), or minimum release amount. Returns the facility (entity-resolved where possible), parent company, chemical, and on/off-site release totals — the emissions universe for environmental, remediation, and EHS sellers. EPA public-domain; amounts self-reported.

## Output

Returns a paginated list of TRI records, each including the facility name (entity-resolved UUID where available), parent company, chemical name, CAS number, NAICS code, reporting year, and on-site plus off-site release totals. Data is EPA public-domain and amounts are self-reported by facilities.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "properties": {
  "input": {
   "type": "object",
   "required": [],
   "properties": {
    "cas": {
     "type": "string",
     "examples": [
      "108-88-3"
     ],
     "description": "CAS number(s), CSV."
    },
    "pbt": {
     "type": "string",
     "examples": [
      "true"
     ],
     "description": "true = persistent bioaccumulative toxic (PBT) chemicals only."
    },
    "pfas": {
     "type": "string",
     "examples": [
      "true"
     ],
     "description": "true = PFAS chemicals only."
    },
    "sort": {
     "type": "string",
     "examples": [
      "total_releases:desc"
     ],
     "description": "total_releases | tri_year | facility_name :asc|:desc. Default total_releases:desc."
    },
    "year": {
     "type": "string",
     "examples": [
      "2023"
     ],
     "description": "TRI reporting year(s), CSV."
    },
    "limit": {
     "type": "integer",
     "examples": [
      25
     ],
     "description": "Max rows (default 25, cap 100)."
    },
    "naics": {
     "type": "string",
     "examples": [
      "325"
     ],
     "description": "NAICS prefix(es), CSV."
    },
    "state": {
     "type": "string",
     "examples": [
      "MI"
     ],
     "description": "State code(s), CSV."
    },
    "offset": {
     "type": "integer",
     "examples": [
      0
     ],
     "description": "Rows to skip."
    },
    "company": {
     "type": "string",
     "examples": [
      "Dow"
     ],
     "description": "Facility or parent-company name — suffix/punctuation-insensitive."
    },
    "chemical": {
     "type": "string",
     "examples": [
      "Toluene"
     ],
     "description": "Chemical name fragment."
    },
    "facility": {
     "type": "string",
     "examples": [
      "Midland"
     ],
     "description": "Facility name fragment."
    },
    "entity_id": {
     "type": "string",
     "examples": [
      "b7f3e2d1-4a5c-4e6f-8a9b-0c1d2e3f4a5b"
     ],
     "description": "Resolved employer entity UUID."
    },
    "carcinogen": {
     "type": "string",
     "examples": [
      "true"
     ],
     "description": "true = OSHA-carcinogen chemicals only."
    },
    "min_total_releases": {
     "type": "string",
     "examples": [
      "10000"
     ],
     "description": "Minimum total on+off-site release amount (reported unit, usually pounds)."
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/epa-toxics-release-inventory-tri-search-3c611550/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.govparse.io](https://www.zero.xyz/host/api.govparse.io/llms.txt)
