# EPA ECHO facility compliance search

Finds EPA-regulated facilities (air, water, hazardous waste, drinking water) by name, place or NAICS with their compliance status, significant non-compliance. Takes name, state, city and more, all optional.

Finds EPA-regulated facilities (air, water, hazardous waste, drinking water) by name, place or NAICS with their compliance status, significant non-compliance flag, quarters in violation, inspections, formal actions and penalties. If more facilities match than max_rows, only summary counts and map clusters return: narrow the search.

- Tool ID: `epa/echo-facility-search`
- Provider: [EPA](/providers/epa.md)
- Capability: [Knowledge & research](/tools/knowledge.md)
- Price: no charge per call
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

No charge per call. A workspace is still needed so your agent can call it.


```json
{
  "model": "per_call",
  "amountUsd": 0
}
```

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 2,
      "maxLength": 120,
      "description": "Facility name words, e.g. 'TESLA'"
    },
    "state": {
      "type": "string",
      "pattern": "^[A-Z]{2}$",
      "description": "State code, e.g. 'CA'"
    },
    "city": {
      "type": "string",
      "minLength": 2,
      "maxLength": 60,
      "description": "City, e.g. 'FREMONT'"
    },
    "zip": {
      "type": "string",
      "pattern": "^[0-9]{5}$",
      "description": "5-digit ZIP code, e.g. '94538'"
    },
    "naics": {
      "type": "string",
      "pattern": "^[0-9]{2,6}$",
      "description": "NAICS code, e.g. '336111'"
    },
    "active_only": {
      "type": "string",
      "enum": [
        "Y"
      ],
      "description": "'Y' to keep only active facilities"
    },
    "max_rows": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 25,
      "description": "Return the facility list only when at most this many match, e.g. 25"
    }
  },
  "additionalProperties": false,
  "anyOf": [
    {
      "required": [
        "name"
      ]
    },
    {
      "required": [
        "city"
      ]
    },
    {
      "required": [
        "zip"
      ]
    },
    {
      "required": [
        "naics"
      ]
    }
  ]
}
```

## Published example

This is the provider tool’s published example. Replace example values with the user’s requested inputs, respecting the schema; do not execute an example merely to test a connection.


```json
{
  "tool_id": "epa/echo-facility-search",
  "input": {
    "name": "TESLA",
    "zip": "94538",
    "max_rows": 30
  }
}
```

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

Licence: US Government public data (public domain).

Attribution: Data from the U.S. Environmental Protection Agency, Enforcement and Compliance History Online (ECHO).

[Provider documentation](https://echo.epa.gov/tools/web-services)

[REST inspection](https://api.agentik.cc/v1/tools/epa/echo-facility-search) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/epa/echo-facility-search) · [Agent index](/llms.txt)
