Search EPA Facilities
epa_echo_search_facilitiesECHO: Search EPA-regulated facilities by location, environmental program, or compliance status across CAA, CWA, RCRA, TRI, and SDWA. Returns facility name, EPA Registry ID, coordinates, county FIPS code, per-program registration flags, five-year inspection and penalty totals, and TRI release totals. Registry IDs returned here feed epa_echo_get_facility. Supports proximity search via latitude + longitude + radius_miles. At least one geographic filter (zip_code, state, city, or a complete latitude+longitude+radius_miles triple) is required — unscoped searches time out.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | City name, case-insensitive; matches cities that begin with it ("TACOMA", or "SEAT" for SEATTLE and SEATAC). Pair with state. | |
| limit | No | Maximum number of facilities to return (1–100) | |
| state | No | 2-letter US state abbreviation (e.g. "WA", "CA") | |
| latitude | No | Latitude in decimal degrees. Pair with longitude and radius_miles for proximity search. | |
| programs | No | Restrict results to facilities registered in one environmental program — ECHO filters on a single program per search, so pass one value. CAA=air, CWA=water, RCRA=hazardous waste, TRI=toxic releases, SDWA=drinking water. | |
| zip_code | No | 5-digit ZIP code to search within | |
| longitude | No | Longitude in decimal degrees. Pair with latitude and radius_miles for proximity search. | |
| active_only | No | When true, return only facilities with an active permit | |
| radius_miles | No | Search radius in miles around the given latitude/longitude (max 100). Requires latitude and longitude. | |
| has_violation | No | When true, return only facilities with at least one program in significant noncompliance (complianceStatus "Significant Violation") |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| error | No | Present when the call failed. Absent on success. | |
| message | No | Recovery hint when no results are found — echoes applied filters and suggests how to broaden the search. Absent when results are returned. | |
| facilities | No | Matching EPA facilities | |
| totalCount | No | Total facilities matched before the limit was applied |