# U.S. EPA Enforcement and Compliance History Online (ECHO) - All Data API

> U.S. EPA Enforcement and Compliance History Online (ECHO) - All Data API on Apizie: 16 endpoints (Combined ECHO Download Data Service, Combined ECHO Download Data Service, Combined ECHO Facility Search Service, Combined ECHO Facility Search Service, …) returned as clean JSON through one API key. 16 endpoints are live now. Call it over REST at https://zieapi.vercel.app/v1/open-data:epa-echo/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `open-data:epa-echo`
- Category: Open Data
- Status: live
- Source: https://echo.epa.gov/resources/general-info/contact-us
- Page: https://zieapi.vercel.app/api/open-data/epa-echo
- OpenAPI: https://zieapi.vercel.app/api/open-data/epa-echo/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

### Combined ECHO Download Data Service
`GET https://zieapi.vercel.app/v1/open-data:epa-echo/get-echo-rest-services-get-download`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - CSV = Facility results formatted as comma delimited file download (default). -… |
| qid | string | yes | Query ID Selector. Enter the QueryID number from a previously run query. |
| qcolumns | string | no | Used to customize service output. A list of comma-separated column IDs of output objects that will be returned in the service query object… |
| p_pretty_print | number | no | Optional flag to request GeoJSON formatted results to be pretty printed. Only provide a numeric value when the output needs to be human… |

### Combined ECHO Download Data Service
`POST https://zieapi.vercel.app/v1/open-data:epa-echo/post-echo-rest-services-get-download`

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

### Combined ECHO Facility Search Service
`GET https://zieapi.vercel.app/v1/open-data:epa-echo/get-echo-rest-services-get-facilities`

| 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_fn | string | no | Facility Name Filter. Enter one or more case-insensitive facility names to filter results. Provide multiple values as a comma-delimited… |
| p_sa | string | no | Facility street address. Enter a complete or partial street address. |
| p_sa1 | string | no | Facility street address. Enter a complete or partial street address. Note that p_sa1 is culmulative with p_sa. |
| p_ct | string | no | Facility City Filter. Enter a single case-insensitive city name to filter results. |
| p_co | string | no | Facility County Filter. Provide a single county name in combination with a state value provided via p_st. |
| p_fips | string | no | FIPS Code Filter. Enter a single 5-character Federal Information Processing Standards (FIPS) state + county value to restrict results.… |
| p_st | string | no | Facility State and State-Equivalent Filter. Provide one or more USPS postal abbreviations for states and state-equivalents to filter… |
| p_zip | string | no | 5-Digit ZIP Code Filter. Provide one or more 5-digit postal zip codes to filter results. May contain multiple comma-separated values. |
| p_frs | string | no | Facility Registry Service ID Filter. Enter a single 12-digit FRS identifier to filter results. |
| p_reg | string | no | EPA Region Filter. Provide a single value of 01 thru 10 to restrict results to a single EPA region. |
| p_sic | string | no | Standard Industrial Classification (SIC) Code Filter. Enter a single 4-digit SIC Code to filter results. If more complex filtering is… |
| p_ncs | string | no | North American Industry Classification System Filter. Enter two to six digits to filter results to facilities having matching NAICS codes.… |
| p_pen | string | no | Last Penality Date Qualifier Filter. Enter one of the following: - NEVER = No Penalties - ANY = Any Penalty - LEXX = Less than or equal to… |
| p_c1lat | number | no | In decimal degrees. Latitude of 1st corner of box that bounds the resulting facilities. The latitude and longitude of both corners of the… |
| p_c1lon | number | no | In decimal degrees. Longitude of 1st corner of box that bounds the resulting facilities. The latitude and longitude of both corners of the… |
| p_c2lat | number | no | In decimal degrees. Latitude of 2nd corner of box that bounds the resulting facilities. The latitude and longitude of both corners of the… |
| p_c2lon | number | no | In decimal degrees. Longitude of 2nd corner of box that bounds the resulting facilities. The latitude and longitude of both corners of the… |
| p_usmex | string | no | US-Mexico Border Flag. Enter Y/N to restrict searches to facilities located within 100KM of the border. |
| p_sic2 | string | no | Standard Industrial Classification (SIC) Code Filter Alternate 2. Enter a wild-card search against SIC codes. A final wild-card is always… |
| p_sic4 | string | no | Standard Industrial Classification (SIC) Code Filter Alternate 3. Enter the first 2, 3 or 4 SIC code digits to filter results to… |
| p_fa | string | no | Federal Agency. 1 character or 5-character values; may contain multiple comma-separated values. ALL will retrieve all facilities where the… |
| p_ff | string | no | Federal Facility Indicator Flag. Enter Y to restrict searches to federal facilities. |
| p_act | string | no | Active Permits/Facilities Flag. Provide Y or N to filter results to facilities with active permits. |
| p_maj | string | no | Major Facility Flag. Enter Y to restrict results to Major facilities only. |
| p_mact | string | no | CAA Maximum Achievable Control Technology (MACT) Subpart codes (alpha ID between 1 and 7 characters) applicable to the facility. |
| p_fea | string | no | Formal Enforcement Actions [within / not within] specified date range indicator. The date range is determined by parameters p_fead1 and… |
| p_feay | number | no | Years (1 to 5) Range. This value is used to create a date range for Formal Enforcement Actions (FEA). Used along with p_fea (which… |
| p_feaa | string | no | Agency associated with Formal Enforcement Actions: - E = EPA - S = State - A = All |
| p_feac | string | no | Formal Enforcment Action Last Case Date Limiter Flag. Enter a value of "Y" to additionally apply the p_feay year filter to the last formal… |
| p_fea_5yr | string | no | A Y value identifies facilities that have had a formal enforcement action within the last 5 years. |
| p_iea | string | no | Informal Enforcement Actions [within / not within] specified date range. The date range is determined by parameters p_iead1 and p_iead2 or… |
| p_ieay | number | no | Years (1 to 5) Range. This value is used to create a date range for Informal Enforcement Actions (IEA). Used along with p_iea (which… |
| p_ieaa | string | no | Agency associated with Informal Enforcement Actions. If left blank, both agencies are included. - E = EPA - S = State |
| p_iea_5yr | string | no | A Y value identifies facilities that have had an informal enforcement action within the last 5 years. |
| p_cs | number | no | Facility Compliance Limiter. Enter 2, 3 or 4 to limit facilities returned. - 2 = Facilities in noncompliance. - 3 = Facilities having one… |
| p_qiv | string | no | Quarters in Noncompliance Limiter. Enter a coded value to limit results to facilities with given quarter of noncompliance. - Z = Zero… |
| p_naa | string | no | Non-Attainment Area Flag. Enter a Y or N to filter for or against facilities flagged as non-attainment areas. |
| p_impw | string | no | Discharging into Impaired Waters Flag. Enter Y to limit results to facilities with discharge to waterbodies listed as impaired in the… |
| p_trep | string | no | Current Toxics Release Inventory (TRI) Reporter Limiter. Enter one of the following codes to limit results. - CURR = Current TRI reporter.… |
| p_ocr | string | no | Toxics Release Inventory Pounds of On-Site Chemical Releases Limiter. Enter a keyword to filter results. - Z = Zero pounds of chemical… |
| p_oct | string | no | Toxic Release Inventory Pounds of Off-Site Chemical Releases Limiter. Enter a keyword to filter results. - Z = Zero pounds of chemical… |
| p_pm | string | no | Percent Minority Population Limiter. Enter a value to restrict results to facilities with a given percentage of minority population within… |
| p_pd | string | no | Population Density Limiter (per sq mile). Enter a value to limit results to facilities located in area of a given population density. -… |
| p_ico | string | no | Indian Country Flag. Enter a "Y" or "N" to restrict searches to facilities inside or outside Indian Country. |
| p_huc | string | no | 2-, 4-, 6-, or 8-character watershed code. May contain multiple comma-separated values. |
| p_pid | string | no | Nine-digit permit IDs. May contain up to 2000 comma-separated values. |
| p_med | string | no | Filter Results by Media.- A = Air- C = CAMD (Clean Air Markets Division)- E = EIS (Emissions Inventory Systems)- G = GHG (Greenhouse… |
| p_istatute | string | no | For use in identifying Facilities that have an inspection performed under the entered Statute. |
| p_ysl | string | no | Last Facility Inspection [within / not within] Specified Date Range Indicator. The date range is determined by parameters p_idt1 and… |
| p_ysly | number | no | Number of years (1 to 5) since last facility inspection. A value of 1 means that it has been inspected within the year. |
| p_ysla | string | no | Facility Last Inspection Code Filter. If left blank, both agencies are included. Enter a value to limit results: - E = EPA - S = State |
| p_qs | string | no | Quick Search. Allows entry for city, state, and/or zip code. |
| p_sfs | string | no | Single Facility Search Filter. Provide a facility name or program system identifier to limit results. For the all data search, the FRS… |
| p_tribeid | number | no | Numeric code for tribe (or list of tribes). |
| p_tribename | string | no | Tribe Name Filter. Enter a single tribe name to filter results. |
| p_tribedist | number | no | Proximity to tribal land limiter. Enter an amount of mile between 0 and 25 to filter results. This parameter is only evaluated if… |
| p_wbd | string | no | 2-, 4-, 6-, 8-, 10-, or 12-character watershed (WBD from the USGS Watershed Boundary Dataset). May contain multiple comma-separated… |
| p_fntype | string | no | Controls type of text search performed on facility name with parameter p_fn. - EXACT = Find facilities having the exact provided name(s).… |
| p_icoo | string | no | Indian country search and/or flag. Enter "Y" to set indian country search conditions to return any results found using p_ico, p_fac_ico or… |
| p_fac_icos | string | no | FRS tribal land spatial flag. Enter "Y" or "N" to include or exclude facilities based on FRS tribal land spatial flag. |
| p_ejscreen | string | no | Enter "Y" to limit facilities to Census block groups where one of more Environmental Justice indexes above 80th percentile. |
| p_limit_addr | string | no | Limit Address Search Flag. Enter Y to restrict facility searches to native data source only. |
| p_lat | number | no | Latitude location in decimal degrees. |
| p_long | number | no | Longitude location in decimal degrees. |
| p_radius | number | no | Spatial Search Radius. Enter a radius up to 100 miles in which to spatially search for facilities. |
| p_ejscreen_over80cnt | string | no | The number of Environmenmt Justice Indicators above the 80th percentile. Valid values are 1 through 11. |
| p_agoo | string | no | Indicates whether to AND or OR the Owner/Operator parameter (p_owop) and the federal agency code (p_fa) parameters. |
| p_neiu | string | no |  |
| queryset | number | no | Query Limiter. Enter a value to limit the number of records returned for each query. Value cannot exceed 70,000. |
| responseset | number | no | Response Set Limiter. Enter a value to limit the number of records per page. Value cannot exceed 1,000. |
| tablelist | string | no | Table List Flag. Enter a Y to display the first page of facility results. |
| maplist | string | no | Map List Flag. Provide a Y to return mappable coordinates representing the full geographic extent of the queryset (all facilities that met… |
| summarylist | string | no | Summary List Flag. Enter a Y to return a list of summary statistics based on the parameters submitted to the query service. |
| 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. |
| qcolumns | string | no | Used to customize service output. A list of comma-separated column IDs of output objects that will be returned in the service query object… |

### Combined ECHO Facility Search Service
`POST https://zieapi.vercel.app/v1/open-data:epa-echo/post-echo-rest-services-get-facilities`

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

### Combined ECHO Facility Enhanced Search Service
`GET https://zieapi.vercel.app/v1/open-data:epa-echo/get-echo-rest-services-get-facility-info`

| 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_fn | string | no | Facility Name Filter. Enter one or more case-insensitive facility names to filter results. Provide multiple values as a comma-delimited… |
| p_sa | string | no | Facility street address. Enter a complete or partial street address. |
| p_sa1 | string | no | Facility street address. Enter a complete or partial street address. Note that p_sa1 is culmulative with p_sa. |
| p_ct | string | no | Facility City Filter. Enter a single case-insensitive city name to filter results. |
| p_co | string | no | Facility County Filter. Provide a single county name in combination with a state value provided via p_st. |
| p_fips | string | no | FIPS Code Filter. Enter a single 5-character Federal Information Processing Standards (FIPS) state + county value to restrict results.… |
| p_st | string | no | Facility State and State-Equivalent Filter. Provide one or more USPS postal abbreviations for states and state-equivalents to filter… |
| p_zip | string | no | 5-Digit ZIP Code Filter. Provide one or more 5-digit postal zip codes to filter results. May contain multiple comma-separated values. |
| p_frs | string | no | Facility Registry Service ID Filter. Enter a single 12-digit FRS identifier to filter results. |
| p_reg | string | no | EPA Region Filter. Provide a single value of 01 thru 10 to restrict results to a single EPA region. |
| p_sic | string | no | Standard Industrial Classification (SIC) Code Filter. Enter a single 4-digit SIC Code to filter results. If more complex filtering is… |
| p_ncs | string | no | North American Industry Classification System Filter. Enter two to six digits to filter results to facilities having matching NAICS codes.… |
| p_pen | string | no | Last Penality Date Qualifier Filter. Enter one of the following: - NEVER = No Penalties - ANY = Any Penalty - LEXX = Less than or equal to… |
| xmin | number | no | Minimum longitude value in decimal degrees. |
| ymin | number | no | Minimum latitude value in decimal degrees. |
| xmax | number | no | Maximum longitude value in decimal degrees. |
| ymax | number | no | Maximum latitude value in decimal degrees. |
| p_usmex | string | no | US-Mexico Border Flag. Enter Y/N to restrict searches to facilities located within 100KM of the border. |
| p_sic2 | string | no | Standard Industrial Classification (SIC) Code Filter Alternate 2. Enter a wild-card search against SIC codes. A final wild-card is always… |
| p_sic4 | string | no | Standard Industrial Classification (SIC) Code Filter Alternate 3. Enter the first 2, 3 or 4 SIC code digits to filter results to… |
| p_fa | string | no | Federal Agency. 1 character or 5-character values; may contain multiple comma-separated values. ALL will retrieve all facilities where the… |
| p_ff | string | no | Federal Facility Indicator Flag. Enter Y to restrict searches to federal facilities. |
| p_act | string | no | Active Permits/Facilities Flag. Provide Y or N to filter results to facilities with active permits. |
| p_maj | string | no | Major Facility Flag. Enter Y to restrict results to Major facilities only. |
| p_mact | string | no | CAA Maximum Achievable Control Technology (MACT) Subpart codes (alpha ID between 1 and 7 characters) applicable to the facility. |
| p_fea | string | no | Formal Enforcement Actions [within / not within] specified date range indicator. The date range is determined by parameters p_fead1 and… |
| p_feay | number | no | Years (1 to 5) Range. This value is used to create a date range for Formal Enforcement Actions (FEA). Used along with p_fea (which… |
| p_feaa | string | no | Agency associated with Formal Enforcement Actions: - E = EPA - S = State - A = All |
| p_feac | string | no | Formal Enforcment Action Last Case Date Limiter Flag. Enter a value of "Y" to additionally apply the p_feay year filter to the last formal… |
| p_feac_5yr | string | no |  |
| p_iea | string | no | Informal Enforcement Actions [within / not within] specified date range. The date range is determined by parameters p_iead1 and p_iead2 or… |
| p_ieay | number | no | Years (1 to 5) Range. This value is used to create a date range for Informal Enforcement Actions (IEA). Used along with p_iea (which… |
| p_ieaa | string | no | Agency associated with Informal Enforcement Actions. If left blank, both agencies are included. - E = EPA - S = State |
| p_iea_5yr | string | no | A Y value identifies facilities that have had an informal enforcement action within the last 5 years. |
| p_cs | number | no | Facility Compliance Limiter. Enter 2, 3 or 4 to limit facilities returned. - 2 = Facilities in noncompliance. - 3 = Facilities having one… |
| p_qiv | string | no | Quarters in Noncompliance Limiter. Enter a coded value to limit results to facilities with given quarter of noncompliance. - Z = Zero… |
| p_naa | string | no | Non-Attainment Area Flag. Enter a Y or N to filter for or against facilities flagged as non-attainment areas. |
| p_impw | string | no | Discharging into Impaired Waters Flag. Enter Y to limit results to facilities with discharge to waterbodies listed as impaired in the… |
| p_trep | string | no | Current Toxics Release Inventory (TRI) Reporter Limiter. Enter one of the following codes to limit results. - CURR = Current TRI reporter.… |
| p_ocr | string | no | Toxics Release Inventory Pounds of On-Site Chemical Releases Limiter. Enter a keyword to filter results. - Z = Zero pounds of chemical… |
| p_oct | string | no | Toxic Release Inventory Pounds of Off-Site Chemical Releases Limiter. Enter a keyword to filter results. - Z = Zero pounds of chemical… |
| p_pm | string | no | Percent Minority Population Limiter. Enter a value to restrict results to facilities with a given percentage of minority population within… |
| p_pd | string | no | Population Density Limiter (per sq mile). Enter a value to limit results to facilities located in area of a given population density. -… |
| p_ico | string | no | Indian Country Flag. Enter a "Y" or "N" to restrict searches to facilities inside or outside Indian Country. |
| p_huc | string | no | 2-, 4-, 6-, or 8-character watershed code. May contain multiple comma-separated values. |
| p_pid | string | no | Nine-digit permit IDs. May contain up to 2000 comma-separated values. |
| p_med | string | no | Filter Results by Media.- A = Air- C = CAMD (Clean Air Markets Division)- E = EIS (Emissions Inventory Systems)- G = GHG (Greenhouse… |
| p_istatute | string | no | For use in identifying Facilities that have an inspection performed under the entered Statute. |
| p_ysl | string | no | Last Facility Inspection [within / not within] Specified Date Range Indicator. The date range is determined by parameters p_idt1 and… |
| p_ysly | number | no | Number of years (1 to 5) since last facility inspection. A value of 1 means that it has been inspected within the year. |
| p_ysla | string | no | Facility Last Inspection Code Filter. If left blank, both agencies are included. Enter a value to limit results: - E = EPA - S = State |
| p_qs | string | no | Quick Search. Allows entry for city, state, and/or zip code. |
| p_sfs | string | no | Single Facility Search Filter. Provide a facility name or program system identifier to limit results. For the all data search, the FRS… |
| p_tribeid | number | no | Numeric code for tribe (or list of tribes). |
| p_tribename | string | no | Tribe Name Filter. Enter a single tribe name to filter results. |
| p_tribedist | number | no | Proximity to tribal land limiter. Enter an amount of mile between 0 and 25 to filter results. This parameter is only evaluated if… |
| p_wbd | string | no | 2-, 4-, 6-, 8-, 10-, or 12-character watershed (WBD from the USGS Watershed Boundary Dataset). May contain multiple comma-separated… |
| p_fntype | string | no | Controls type of text search performed on facility name with parameter p_fn. - EXACT = Find facilities having the exact provided name(s).… |
| p_icoo | string | no | Indian country search and/or flag. Enter "Y" to set indian country search conditions to return any results found using p_ico, p_fac_ico or… |
| p_fac_icos | string | no | FRS tribal land spatial flag. Enter "Y" or "N" to include or exclude facilities based on FRS tribal land spatial flag. |
| p_ejscreen | string | no | Enter "Y" to limit facilities to Census block groups where one of more Environmental Justice indexes above 80th percentile. |
| p_limit_addr | string | no | Limit Address Search Flag. Enter Y to restrict facility searches to native data source only. |
| p_lat | number | no | Latitude location in decimal degrees. |
| p_long | number | no | Longitude location in decimal degrees. |
| p_radius | number | no | Spatial Search Radius. Enter a radius up to 100 miles in which to spatially search for facilities. |
| p_ejscreen_over80cnt | string | no | The number of Environmenmt Justice Indicators above the 80th percentile. Valid values are 1 through 11. |
| p_agoo | string | no | Indicates whether to AND or OR the Owner/Operator parameter (p_owop) and the federal agency code (p_fa) parameters. |
| p_neiu | string | no |  |
| responseset | number | no | Response Set Limiter. Enter a value to limit the number of records per page. Value cannot exceed 1,000. |
| 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. |
| qcolumns | string | no | Used to customize service output. A list of comma-separated column IDs of output objects that will be returned in the service query object… |
| p_pretty_print | number | no | Optional flag to request GeoJSON formatted results to be pretty printed. Only provide a numeric value when the output needs to be human… |

### Combined ECHO Facility Enhanced Search Service
`POST https://zieapi.vercel.app/v1/open-data:epa-echo/post-echo-rest-services-get-facility-info`

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

### Combined ECHO GeoJSON Service
`GET https://zieapi.vercel.app/v1/open-data:epa-echo/get-echo-rest-services-get-geojson`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - GEOJSON = Facility results formatted as GeoJSON feature collection (default). -… |
| qid | string | yes | Query ID Selector. Enter the QueryID number from a previously run query. |
| 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. |
| newsort | number | no | Output Sort Column. Enter the number of the column on which the data will be sorted. If unpopulated results will sort on the first column. |
| descending | string | no | Output Sort Column Descending Flag. Enter Y to column identified in the newsort parameter descending. Enter N to use ascending sort order.… |
| qcolumns | string | no | Used to customize service output. A list of comma-separated column IDs of output objects that will be returned in the service query object… |
| p_pretty_print | number | no | Optional flag to request GeoJSON formatted results to be pretty printed. Only provide a numeric value when the output needs to be human… |

### Combined ECHO GeoJSON Service
`POST https://zieapi.vercel.app/v1/open-data:epa-echo/post-echo-rest-services-get-geojson`

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

### Combined ECHO Info Clusters Service
`GET https://zieapi.vercel.app/v1/open-data:epa-echo/get-echo-rest-services-get-info-clusters`

| Parameter | Type | Required | Description |
|---|---|---|---|
| output | string | no | Output Format Flag. Enter one of the following keywords: - CSV = Facility results formatted as comma delimited file download (default). -… |
| p_qid | string | yes | Query ID Selector. Enter the QueryID number from a previously run query. |
| p_pretty_print | number | no | Optional flag to request GeoJSON formatted results to be pretty printed. Only provide a numeric value when the output needs to be human… |

### Combined ECHO Info Clusters Service
`POST https://zieapi.vercel.app/v1/open-data:epa-echo/post-echo-rest-services-get-info-clusters`

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

### Combined ECHO Map Service
`GET https://zieapi.vercel.app/v1/open-data:epa-echo/get-echo-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 =… |
| qid | string | yes | Query ID Selector. Enter the QueryID number from a previously run query. |
| 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. |
| tablelist | string | no | Table List Flag. Enter a Y to display the first page of facility results. |
| c1_lat | number | no | Latitude of 1st corner of box that bounds the resulting facilities. The latitude and longitude of both corners of the bounding box must be… |
| c1_long | number | no | Longitude of 1st corner of box that bounds the resulting facilities. The latitude and longitude of both corners of the bounding box must… |
| c2_lat | number | no | Latitude of 2nd corner of box that bounds the resulting facilities. The latitude and longitude of both corners of the bounding box must be… |
| c2_long | number | no | Longitude of 2nd corner of box that bounds the resulting facilities. The latitude and longitude of both corners of the bounding box must… |
| p_id | string | yes | Identifier for the service. |

### Combined ECHO Map Service
`POST https://zieapi.vercel.app/v1/open-data:epa-echo/post-echo-rest-services-get-map`

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

### Combined ECHO Paginated Results Service
`GET https://zieapi.vercel.app/v1/open-data:epa-echo/get-echo-rest-services-get-qid`

| 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 =… |
| qid | string | yes | Query ID Selector. Enter the QueryID number from a previously run query. |
| pageno | number | no | Indicates the number of the page to display. It is used only when the results are paginated. |
| 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. |
| newsort | number | no | Output Sort Column. Enter the number of the column on which the data will be sorted. If unpopulated results will sort on the first column. |
| descending | string | no | Output Sort Column Descending Flag. Enter Y to column identified in the newsort parameter descending. Enter N to use ascending sort order.… |
| qcolumns | string | no | Used to customize service output. A list of comma-separated column IDs of output objects that will be returned in the service query object… |

### Combined ECHO Paginated Results Service
`POST https://zieapi.vercel.app/v1/open-data:epa-echo/post-echo-rest-services-get-qid`

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

### Combined ECHO Metadata Service
`GET https://zieapi.vercel.app/v1/open-data:epa-echo/get-echo-rest-services-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 =… |
| 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. |

### Combined ECHO Metadata Service
`POST https://zieapi.vercel.app/v1/open-data:epa-echo/post-echo-rest-services-metadata`

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

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

## FAQ

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

### Is the U.S. EPA Enforcement and Compliance History Online (ECHO) - All Data 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) - All Data 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-echo.

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