# U.S. EPA Enforcement and Compliance History Online (ECHO) - Detailed… API

> U.S. EPA Enforcement and Compliance History Online (ECHO) - Detailed… API on Apizie: 94 endpoints (Downloads the complete Air Compliance History Section of the DFR, Downloads the complete Air Compliance History Section of the DFR, Downloads NPDES Effluent Violation Information by month and quarter., Downloads NPDES Effluent Violation Information by month and quarter., …) returned as clean JSON through one API key. 94 endpoints are live now. Call it over REST at https://zieapi.vercel.app/v1/open-data:epa-dfr/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `open-data:epa-dfr`
- Category: Open Data
- Status: live
- Source: https://epa.gov
- Page: https://zieapi.vercel.app/api/open-data/epa-dfr
- OpenAPI: https://zieapi.vercel.app/api/open-data/epa-dfr/openapi.json

Enforcement and Compliance History Online (ECHO) is a tool developed and maintained by EPA's Office of Enforcement and Compliance Assurance for public use. ECHO provides integrated compliance and enforcement…

## Endpoints

### Downloads the complete Air Compliance History Section of the DFR
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-air-3-yr-download`

### Downloads the complete Air Compliance History Section of the DFR
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-air-3-yr-download`

### Downloads NPDES Effluent Violation Information by month and quarter.
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-cwa-3-yr-effluent-download`

### Downloads NPDES Effluent Violation Information by month and quarter.
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-cwa-3-yr-effluent-download`

### Downloads NPDES Compliance Schedule, Permit Schedule and Single Event Violation Information by month and…
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-cwa-3-yr-sepscs-download`

### Downloads NPDES Compliance Schedule, Permit Schedule and Single Event Violation Information by month and…
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-cwa-3-yr-sepscs-download`

### Detailed Facility Report Air Compliance Report Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-air-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report Air Compliance Report Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-air-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report Air Quality Report Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-air-quality`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report Air Quality Report Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-air-quality`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Placeholder
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-aws-docs`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Placeholder
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-aws-docs`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Displays Cases related to the Facility
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-case-formal-actions`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Displays Cases related to the Facility
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-case-formal-actions`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report 5 Year Compliance Monitoring History Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-compliance-history`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report 5 Year Compliance Monitoring History Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-compliance-history`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report Compliance Summary Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-compliance-summary`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report Compliance Summary Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-compliance-summary`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Downloads a spectific section of the DFR in CSV Format
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-csv`

### Downloads a spectific section of the DFR in CSV Format
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-csv`

### Detailed Facility Report 3 Year CWA Facility-Level Status Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-cwa-3yr-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report 3 Year CWA Facility-Level Status Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-cwa-3yr-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Displays monlthly and quarterly counts of D80 and D90 Effluent Non Reporting Violations Related to the…
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-cwa-3yr-d80d90-counts`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Displays monlthly and quarterly counts of D80 and D90 Effluent Non Reporting Violations Related to the…
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-cwa-3yr-d80d90-counts`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report CWA CSV Compliance Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-cwa-cs-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report CWA CSV Compliance Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-cwa-cs-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report CWA Effluent ALR Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-cwa-eff-alr`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report CWA Effluent ALR Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-cwa-eff-alr`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Placeholder
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-cwa-eff-alr-exp`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Placeholder
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-cwa-eff-alr-exp`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report CWA Effluent Compliance Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-cwa-eff-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report CWA Effluent Compliance Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-cwa-eff-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Placeholder
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-cwa-eff-compliance-exp`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Placeholder
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-cwa-eff-compliance-exp`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report CWA PSV Compliance Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-cwa-ps-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report CWA PSV Compliance Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-cwa-ps-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report CWA RNC Compliance Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-cwa-rnc-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report CWA RNC Compliance Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-cwa-rnc-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report CWA SEV Compliance Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-cwa-se-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report CWA SEV Compliance Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-cwa-se-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Display detailed D80/D90 information for the facility for a given quarter or month
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-d80d90s-details`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_npdes_id | string | no | The NPDES_ID for the NPDES Permit to download DMR D80 and D90 Non-Receipt violations. |
| p_missinglate | string | no | For the D80.D90 download, identifies whether or not MISSINGviolations are downloaded or LATE violations are downloaded. Valid values are:… |
| p_qmtype | string | no | Identifies the time frame type, month or quarter, for the D80/D90 download. |
| p_qmvalue | string | no | A number between 1 and 39 that identifies the specific month or quarter for the D80/D90 violation download. |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Display detailed D80/D90 information for the facility for a given quarter or month
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-d80d90s-details`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_npdes_id | string | no | The NPDES_ID for the NPDES Permit to download DMR D80 and D90 Non-Receipt violations. |
| p_missinglate | string | no | For the D80.D90 download, identifies whether or not MISSINGviolations are downloaded or LATE violations are downloaded. Valid values are:… |
| p_qmtype | string | no | Identifies the time frame type, month or quarter, for the D80/D90 download. |
| p_qmvalue | string | no | A number between 1 and 39 that identifies the specific month or quarter for the D80/D90 violation download. |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Displays 2010 Census and ACS demographics by Facility ID
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-demographics-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Displays 2010 Census and ACS demographics by Facility ID
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-demographics-by-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-dfr`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| p_system | string | no | System Acronym Filter. Enter a single system acronym to filter results. |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-dfr`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report EJScreen Indexes Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-ejscreen-indexes`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report EJScreen Indexes Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-ejscreen-indexes`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report Enforcement Summary Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-enforcement-summary`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report Enforcement Summary Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-enforcement-summary`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Displays the dates that data was extracted from native EPA systems for the DFR.
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-extract-dates`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Displays the dates that data was extracted from native EPA systems for the DFR.
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-extract-dates`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report Formal Actions Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-formal-actions`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report Formal Actions Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-formal-actions`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report ICIS Formal Actions Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-icis-formal-actions`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report ICIS Formal Actions Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-icis-formal-actions`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report Inspections Summary Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-inspections`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report Inspections Summary Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-inspections`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report Map Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-map`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report Map Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-map`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report NAICS Code Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-naics`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report NAICS Code Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-naics`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report Notices Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-notices`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report Notices Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-notices`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report Permits Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-permits`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report Permits Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-permits`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report RCRA Compliance Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-rcra-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report RCRA Compliance Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-rcra-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report SDWA Lead and Copper Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-sdwa-lead-and-copper`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report SDWA Lead and Copper Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-sdwa-lead-and-copper`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report SDWA Sanitary Surveys Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-sdwa-sanitary-surveys`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report SDWA Sanitary Surveys Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-sdwa-sanitary-surveys`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report SDWA Sanitary Site Visits Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-sdwa-site-visits`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report SDWA Sanitary Site Visits Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-sdwa-site-visits`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report SDWA Violations Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-sdwa-violations`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report SDWA Violations Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-sdwa-violations`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report SDWIS Compliance Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-sdwis-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report SDWIS Compliance Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-sdwis-compliance`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report SIC Code Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-sic-codes`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report SIC Code Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-sic-codes`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report Spatial Metadata Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-spatial-metadata`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report Spatial Metadata Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-spatial-metadata`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report TRI History Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-tri-history`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report TRI History Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-tri-history`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report TRI Releases Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-tri-releases`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report TRI Releases Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-tri-releases`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report Tribes Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-tribes`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report Tribes Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-tribes`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Detailed Facility Report Water Quality Service
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-water-quality`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Detailed Facility Report Water Quality Service
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-water-quality`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Displays detailed Water Quality information from EPA's Office of Water Systems
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-get-water-quality-details`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - JSON = Data model formatted as Javascript Object Notation (default). - JSONP =… |
| p_id | string | yes | Either the EPA Facility Registry System's REGISTRY_ID for a facility or the facility identifier from the following EPA Systems: RCRAINFO… |
| callback | string | no | JSONP Callback. For use with JSONP and GEOJSONP output only. Enter a name of the function in which to wrap the JSON response. |

### Displays detailed Water Quality information from EPA's Office of Water Systems
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-get-water-quality-details`

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Downloads the complete RCRA Compliance History Section of the DFR
`GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-rcra-3-yr-download`

### Downloads the complete RCRA Compliance History Section of the DFR
`POST https://zieapi.vercel.app/v1/open-data:epa-dfr/post-dfr-rest-services-rcra-3-yr-download`

## Example
```
curl "https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-air-3-yr-download" \
  -H "x-api-key: $APIZIE_KEY"
```

## FAQ

### How do I call the U.S. EPA Enforcement and Compliance History Online (ECHO) - Detailed… API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/open-data:epa-dfr/get-dfr-rest-services-air-3-yr-download with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the U.S. EPA Enforcement and Compliance History Online (ECHO) - Detailed… API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card.

### Can AI agents use the U.S. EPA Enforcement and Compliance History Online (ECHO) - Detailed… API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key open-data:epa-dfr.

### What is the status of the U.S. EPA Enforcement and Compliance History Online (ECHO) - Detailed… API?
Live: works with just an Apizie key
