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

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

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

### Clean Water Act (CWA) Download Data Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-cwa-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… |

### Clean Water Act (CWA) Download Data Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-cwa-rest-services-get-download`

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

### Clean Water Act (CWA) Facility Search Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-cwa-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. A Y will select ICIS NPDES 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_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_qiv | string | no | Quarters in Noncompliance Limiter. Enter a coded value to limit results to facilities with given quarter of noncompliance. - Z = Zero… |
| p_iv | string | no | Facility has a violation status of 'In Viol' during any of the selected quarters. Range: Fiscal Year 2020 Quarter 2 to Fiscal Year 2017… |
| 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_imp_cau_grp | string | no | Facility is discharging a pollutant group causing a waterbody to be impaired. Enter 1 through 34 (the internal number of the pollutant… |
| p_imp_pol | string | no | Facility is discharging pollutants that are potentially contributing to the impairment of local waterbodies according to the ATTAINS… |
| 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_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 - M = RMP (Risk Management Plan) - R = RCRA (Hazardous Waste) - S = SDWA (Public Drinking Water… |
| 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_pstat | string | no | Permit Status Filter. Enter one or more of the following codes. Provide multiple values as a comma-delimited list. - EFF = Effective - EXP… |
| p_ptype | string | no | Permit Type Filter. Enter one or more code values to filter results. Provide multiple values as a comma-delimited list. - NPD = NPDES… |
| p_pcomp | string | no | Permit Component Code Filter. Enter one or more codes to filter results. Provide multiple values as a comma-delimited list. - PRE =… |
| p_plimits | string | no | Permit Limits Present Flag. Enter Y to limit results to facilities have present permit limits. |
| p_pcss | string | no | Combined Sewer Systems Outflows Limiter. Enter one of the following to limit results to facilities having the given count of CSS outflows.… |
| p_pexp | string | no | Permit Expired or Administratively Continued Limiter. Enter one of the following values to filter results. - EXP = limit results to… |
| p_owop | string | no | Owner/Operator code filter. Enter one of the following values to restrict results. - Federal = Federal facilities regulated under the… |
| p_ipfti | string | no |  |
| 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_idt1 | string | no | Beginning of date range of most recent facility inspection. |
| p_idt2 | string | no | End of date range of most recent facility inspection. |
| p_pityp | string | no | Inspection Type Code. See ICIS Compliance Monitor Types lookup serivce for a list of available codes and descriptions. |
| p_pfead1 | string | no | Formal Enforcement Action Date Range Start. Enter a date in MM/DD/YYYY format to set the start of the range for filtering by recent Formal… |
| p_pfead2 | string | no | Formal Enforcement Action Date Range End. Enter a date in MM/DD/YYYY format to set the end of the date range for filtering by recent… |
| p_pfeat | string | no | Formal Enforcement Action (FEA) Code Filter. Enter one or more three-letter FEA codes to restrict results to facilities with these… |
| p_pccs | string | no | Current Compliance Status: /////////////////////////// Significant Noncompliance (SNC) /////////////////////////// - SNC = E, S, X, T, D -… |
| p_pexcd | string | no | 3-Year Effluent Exceedances Limiter. Enter a value to restrict results to facilities with the given amount of exceedances in the past 3… |
| p_psncq | string | no | Quarters in Significant Noncompliance Limiter. Enter a coded value to limit results to facilities with given quarter of significant… |
| p_pctrack | string | no | Compliance Tracking Limiter. Provide a keyword to indicate the extent to which data is being entered and effluent exceedances are being… |
| p_dwd | string | no | Direct Water Discharges. Pounds of toxic chemicals released directly to surface water as reported to the Toxics Release Inventory. |
| p_pt | string | no | POTW Transfers. Pounds of toxic chemicals transferred to a Publicly Operated Treatment Works (POTW) as reported to the Toxics Release… |
| p_pdwdist | string | no | Distance (in miles) to downstream drinking water intake. |
| p_pswdpc | string | no | Pollutant Category Code: Values: WTR for Water, AIR for Air |
| p_pswdmp | string | no | Used to determine limit begin and end dates for surface water discharges. Number represents years from current date. |
| p_pswpol | string | no | For CWA, pollutant names for surface water discharges. for Drinking Water, SDWIS Violation contaminant codes for unaddressed violations… |
| p_pswcas | string | no | CAS numbers for surface water discharges. May contain multiple comma-separated values. |
| p_pswparam | string | no | Parameter codes for surface water discharges. May contain multiple comma-separated values. |
| p_pswvio | string | no | Used in conjuction with parameters p_pswpol and p_pswparam, indicates whether search should only include pollutants with violations. |
| 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_radwbd | string | no | 2-, 4-, 6-, 8-, 10-, or 12 character watershed (WBD from the USGS Watershed Boundary Dataset). May contain multiple comma-separated… |
| p_frswbd | string | no | Works exactly the same as the p_wbd parameter. 2-, 4-, 6-, 8-, 10-, or 12-character watershed (WBD from the USGS Watershed Boundary… |
| 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_pidall | string | no | Controls whether search is restricted to existing system. Y means the search will match the p_pid parameter against all associated permits… |
| p_months_last_dmr | number | no | The number of months since the last Discharge Monitoring Report has been submitted. |
| p_last_dmr_within | string | no | W value returns facilities that have submitted DMRs within the number of months specified by p_months_last_dmr. An N value returns… |
| p_indsw | string | no | Industrial Stormwater Permit Flag. Enter a Y or N to filter results by this type of permit. |
| p_msgp_ptype | string | no | Multi-Sector General Purpose Permit Type. Enter a value to filter results by MSGP Permit Type. - NOI = Notice of Intent - NOE = No… |
| p_mon_type | string | no | For use with the Industrial Stormwater search only. Valid values are BENCHGS fro Benchmark (Alert Limit) G2 Ore, BENCH for Benchmark… |
| p_iagency | string | no | Issuing Agency Limiter. Enter a single value to filter results by the issuing agency, e.g. "State" or "EPA". |
| p_permitting_agency | string | no |  |
| p_isws | string | no | Multi-Sector General Purpose Permit Subsector Individual Identifier. Enter a value to filter results. |
| p_iswss | string | no | Multi-Sector General Purpose Permit Subsector Group Code. Enter a value to filter results. |
| p_iswssID | string | no | Multi-Sector General Purpose Permit Sector Code. Enter a value to filter results. |
| p_ds1 | string | no | Submitted Date Filter Start. To filter by the date of submission, enter a start date here and an end date in the p_ds2 parameter. Both… |
| p_ds2 | string | no | Submitted Date Filter End. To filter by the date of submission, enter an end date here and a start date in the p_ds1 parameter. Both dates… |
| p_da1 | string | no | Active Date Filter Start. To filter by the active date, enter a start date here and an end date in the p_da2 parameter. Both dates are… |
| p_da2 | string | no | Active Date Filter End. To filter by the active date, enter an end date here and a start date in the p_da1 parameter. Both dates are… |
| p_MS4 | string | no | Municipal Separate Storm Water Sewer (MS4) Permit Flag. Enter a Y or N to filter results by this type of permit. |
| p_ooFN | string | no | Owner/Operator Name. Enter the owner/operator name of the facility. |
| p_ooFNtype | string | no | Owner/Operator Name Multiple Selection Evaluator. |
| p_ooSA | string | no | Owner/Operator Address. Enter the address of the owner/operator of the facility. |
| p_ooSA1 | string | no | Owner/Operator Address Line 2. Enter the line 2 address of the owner/operator of the facility. |
| p_ooCt | string | no | Owner/Operator City. Enter the city where the owner/operator of the facility is located. |
| p_ooSt | string | no | Owner/Operator State. Enter the standardized postal state code where the owner/operator of the facility is located. |
| p_ooZip | string | no | Owner/Operator Zip Code. Enter the postal zip code where the owner/operator of the facility is located. |
| p_fac_ico | string | no | FRS tribal land code flag. Enter "Y" or "N" to include or exclude facilities based on FRS tribal land code. |
| 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_alrexceed | number | no | Alert Limits Exceedences Limiter. Enter a numeric value to restrict results to facilities having the given amount or more of alert limits… |
| 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_bio_flag | string | no | A Y value will select all biosolid-related permits. |
| p_bio_fac_type | string | no | The code indicating the reporting obligation reason: - POT = A POTW with a design flow rate equal to or greater than one million gallons… |
| p_bio_trtmnt_procs | string | no | The biosolids or sewage sludge treatment process or processes at the facility: - AER = Aerobic Digestion - AIR = Air Drying (or Sludge… |
| p_bio_analy_method_catgry | string | no | The unique code for the category of the analytic methods used by the facility to analyze regulated parameters (including enteric viruses,… |
| p_bio_total_volume_amt | string | no | Total annual amount (in dry metric tons) of biosolids or sewage sludge generated at the facility. - EQ0 = 0 - IN0_1 = GT 0 but LT 1 -… |
| p_bio_mgmt_prctce_type | string | no | The unique code that identifies the type of biosolids or sewage sludge management practice (e.g., land application, surface disposal,… |
| p_bio_mgmt_prctce_stype | string | no | This is the code indicating additional detail about the type of Management Practice used for a volume of Biosolids or Sewage Sludge: - ADV… |
| p_bio_mgmt_prctce_handler | string | no | This is the code indicating the type of Biosolids or Sewage Sludge handlers/preparers. - OWN = Owner or Operator - OFF = Off-Site… |
| p_bio_mgmt_container | string | no | The code that identifies the nature of each biosolids and sewage sludge material generated by the facility in terms of whether the… |
| p_bio_mgmt_pathogen | string | no | This code identifies the pathogen class [e.g., Class A, Class B, Not Applicable (Incineration)] for biosolids or sewage sludge generated… |
| p_bio_mgmt_pathred | string | no | This is the description of the option used by the facility to control pathogen for a Biosolids Management Practice: - A1 = Class A -… |
| p_bio_mgmt_vector | string | no | The unique code that identifies the option used by the facility for vector attraction reduction. See a listing of these vector attraction… |
| p_bio_mgmt_def_category | string | no | This is the code indicating the type of NPDES special regulatory program deficiency: - INC = Biosolids Incineration - LNA = Biosolids Land… |
| p_bio_mgmt_deficiencies | number | no | The number of times noncompliance was reported by the facility in the last 3 years. The results returned will include facilities whose… |
| p_bio_vio_code | string | no | The Biosolids Single Event Violation Code. Enter one or mode codes. |
| p_bio_current_vio | string | no | Indicator of whether the facility is currently in violation for biosolids under the Clean Water Act, in the 12th or 13th quarter: - Y =… |
| p_bio_qtrs_in_vio | number | no | The number of quarters, in the last three years, where the facility was in violation for a biosolids violation type. The results returned… |
| p_bio_rpt_year | string | no | The last year that the permittee submitted an annual Biosolids report. Valid values are NONE and any year greater or equal to 2016. |
| p_bio_vio_last_year | string | no | Identifies if a biosolids violation has occured in the last year. Valid values are Y and N. |
| p_msgp_rpt_year | string | no | The last year that a MSGP report was submitted for the permit. Valid values are "NONE" and any year Greater or Eqal to 2015. |
| p_vio_last_year | string | no | Identifies if a permit violation has occured in the last year. Valid values are Y and N. |
| 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… |
| p_e90_count | number | no | Number of E90 Exceedances. Identifies water permits with a number of E90 (Effluient Exceedances) >= the value provided for the last number… |
| p_e90_years | number | no | Number of years for the p_e90_count search. Identified the past number of years to be used for the p_e90_count search. |
| p_psc | string | no | Point Source Category. |

### Clean Water Act (CWA) Facility Search Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-cwa-rest-services-get-facilities`

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

### Clean Water Act (CWA) Facility Enhanced Search Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-cwa-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. A Y will select ICIS NPDES 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_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_qiv | string | no | Quarters in Noncompliance Limiter. Enter a coded value to limit results to facilities with given quarter of noncompliance. - Z = Zero… |
| p_iv | string | no | Facility has a violation status of 'In Viol' during any of the selected quarters. Range: Fiscal Year 2020 Quarter 2 to Fiscal Year 2017… |
| 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_imp_pol | string | no | Facility is discharging pollutants that are potentially contributing to the impairment of local waterbodies according to the ATTAINS… |
| p_imp_cau_grp | string | no | Facility is discharging a pollutant group causing a waterbody to be impaired. Enter 1 through 34 (the internal number of the pollutant… |
| 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_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 - M = RMP (Risk Management Plan) - R = RCRA (Hazardous Waste) - S = SDWA (Public Drinking Water… |
| 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_pstat | string | no | Permit Status Filter. Enter one or more of the following codes. Provide multiple values as a comma-delimited list. - EFF = Effective - EXP… |
| p_ptype | string | no | Permit Type Filter. Enter one or more code values to filter results. Provide multiple values as a comma-delimited list. - NPD = NPDES… |
| p_pcomp | string | no | Permit Component Code Filter. Enter one or more codes to filter results. Provide multiple values as a comma-delimited list. - PRE =… |
| p_plimits | string | no | Permit Limits Present Flag. Enter Y to limit results to facilities have present permit limits. |
| p_pcss | string | no | Combined Sewer Systems Outflows Limiter. Enter one of the following to limit results to facilities having the given count of CSS outflows.… |
| p_pexp | string | no | Permit Expired or Administratively Continued Limiter. Enter one of the following values to filter results. - EXP = limit results to… |
| p_owop | string | no | Owner/Operator code filter. Enter one of the following values to restrict results. - Federal = Federal facilities regulated under the… |
| p_ipfti | string | no |  |
| 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_idt1 | string | no | Beginning of date range of most recent facility inspection. |
| p_idt2 | string | no | End of date range of most recent facility inspection. |
| p_pityp | string | no | Inspection Type Code. See ICIS Compliance Monitor Types lookup serivce for a list of available codes and descriptions. |
| p_pfead1 | string | no | Formal Enforcement Action Date Range Start. Enter a date in MM/DD/YYYY format to set the start of the range for filtering by recent Formal… |
| p_pfead2 | string | no | Formal Enforcement Action Date Range End. Enter a date in MM/DD/YYYY format to set the end of the date range for filtering by recent… |
| p_pfeat | string | no | Formal Enforcement Action (FEA) Code Filter. Enter one or more three-letter FEA codes to restrict results to facilities with these… |
| p_pccs | string | no | Current Compliance Status: /////////////////////////// Significant Noncompliance (SNC) /////////////////////////// - SNC = E, S, X, T, D -… |
| p_pexcd | string | no | 3-Year Effluent Exceedances Limiter. Enter a value to restrict results to facilities with the given amount of exceedances in the past 3… |
| p_psncq | string | no | Quarters in Significant Noncompliance Limiter. Enter a coded value to limit results to facilities with given quarter of significant… |
| p_pctrack | string | no | Compliance Tracking Limiter. Provide a keyword to indicate the extent to which data is being entered and effluent exceedances are being… |
| p_dwd | string | no | Direct Water Discharges. Pounds of toxic chemicals released directly to surface water as reported to the Toxics Release Inventory. |
| p_pt | string | no | POTW Transfers. Pounds of toxic chemicals transferred to a Publicly Operated Treatment Works (POTW) as reported to the Toxics Release… |
| p_pdwdist | string | no | Distance (in miles) to downstream drinking water intake. |
| p_pswdpc | string | no | Pollutant Category Code: Values: WTR for Water, AIR for Air |
| p_pswdmp | string | no | Used to determine limit begin and end dates for surface water discharges. Number represents years from current date. |
| p_pswpol | string | no | For CWA, pollutant names for surface water discharges. for Drinking Water, SDWIS Violation contaminant codes for unaddressed violations… |
| p_pswcas | string | no | CAS numbers for surface water discharges. May contain multiple comma-separated values. |
| p_pswparam | string | no | Parameter codes for surface water discharges. May contain multiple comma-separated values. |
| p_pswvio | string | no | Used in conjuction with parameters p_pswpol and p_pswparam, indicates whether search should only include pollutants with violations. |
| 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_radwbd | string | no | 2-, 4-, 6-, 8-, 10-, or 12 character watershed (WBD from the USGS Watershed Boundary Dataset). May contain multiple comma-separated… |
| p_frswbd | string | no | Works exactly the same as the p_wbd parameter. 2-, 4-, 6-, 8-, 10-, or 12-character watershed (WBD from the USGS Watershed Boundary… |
| 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_pidall | string | no | Controls whether search is restricted to existing system. Y means the search will match the p_pid parameter against all associated permits… |
| p_months_last_dmr | number | no | The number of months since the last Discharge Monitoring Report has been submitted. |
| p_last_dmr_within | string | no | W value returns facilities that have submitted DMRs within the number of months specified by p_months_last_dmr. An N value returns… |
| p_indsw | string | no | Industrial Stormwater Permit Flag. Enter a Y or N to filter results by this type of permit. |
| p_msgp_ptype | string | no | Multi-Sector General Purpose Permit Type. Enter a value to filter results by MSGP Permit Type. - NOI = Notice of Intent - NOE = No… |
| p_mon_type | string | no | For use with the Industrial Stormwater search only. Valid values are BENCHGS fro Benchmark (Alert Limit) G2 Ore, BENCH for Benchmark… |
| p_iagency | string | no | Issuing Agency Limiter. Enter a single value to filter results by the issuing agency, e.g. "State" or "EPA". |
| p_permitting_agency | string | no |  |
| p_isws | string | no | Multi-Sector General Purpose Permit Subsector Individual Identifier. Enter a value to filter results. |
| p_iswss | string | no | Multi-Sector General Purpose Permit Subsector Group Code. Enter a value to filter results. |
| p_iswssID | string | no | Multi-Sector General Purpose Permit Sector Code. Enter a value to filter results. |
| p_ds1 | string | no | Submitted Date Filter Start. To filter by the date of submission, enter a start date here and an end date in the p_ds2 parameter. Both… |
| p_ds2 | string | no | Submitted Date Filter End. To filter by the date of submission, enter an end date here and a start date in the p_ds1 parameter. Both dates… |
| p_da1 | string | no | Active Date Filter Start. To filter by the active date, enter a start date here and an end date in the p_da2 parameter. Both dates are… |
| p_da2 | string | no | Active Date Filter End. To filter by the active date, enter an end date here and a start date in the p_da1 parameter. Both dates are… |
| p_MS4 | string | no | Municipal Separate Storm Water Sewer (MS4) Permit Flag. Enter a Y or N to filter results by this type of permit. |
| p_ooFN | string | no | Owner/Operator Name. Enter the owner/operator name of the facility. |
| p_ooFNtype | string | no | Owner/Operator Name Multiple Selection Evaluator. |
| p_ooSA | string | no | Owner/Operator Address. Enter the address of the owner/operator of the facility. |
| p_ooSA1 | string | no | Owner/Operator Address Line 2. Enter the line 2 address of the owner/operator of the facility. |
| p_ooCt | string | no | Owner/Operator City. Enter the city where the owner/operator of the facility is located. |
| p_ooSt | string | no | Owner/Operator State. Enter the standardized postal state code where the owner/operator of the facility is located. |
| p_ooZip | string | no | Owner/Operator Zip Code. Enter the postal zip code where the owner/operator of the facility is located. |
| p_fac_ico | string | no | FRS tribal land code flag. Enter "Y" or "N" to include or exclude facilities based on FRS tribal land code. |
| 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_alrexceed | number | no | Alert Limits Exceedences Limiter. Enter a numeric value to restrict results to facilities having the given amount or more of alert limits… |
| 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_bio_flag | string | no | A Y value will select all biosolid-related permits. |
| p_bio_fac_type | string | no | The code indicating the reporting obligation reason: - POT = A POTW with a design flow rate equal to or greater than one million gallons… |
| p_bio_trtmnt_procs | string | no | The biosolids or sewage sludge treatment process or processes at the facility: - AER = Aerobic Digestion - AIR = Air Drying (or Sludge… |
| p_bio_analy_method_catgry | string | no | The unique code for the category of the analytic methods used by the facility to analyze regulated parameters (including enteric viruses,… |
| p_bio_total_volume_amt | string | no | Total annual amount (in dry metric tons) of biosolids or sewage sludge generated at the facility. - EQ0 = 0 - IN0_1 = GT 0 but LT 1 -… |
| p_bio_mgmt_prctce_type | string | no | The unique code that identifies the type of biosolids or sewage sludge management practice (e.g., land application, surface disposal,… |
| p_bio_mgmt_prctce_stype | string | no | This is the code indicating additional detail about the type of Management Practice used for a volume of Biosolids or Sewage Sludge: - ADV… |
| p_bio_mgmt_prctce_handler | string | no | This is the code indicating the type of Biosolids or Sewage Sludge handlers/preparers. - OWN = Owner or Operator - OFF = Off-Site… |
| p_bio_mgmt_container | string | no | The code that identifies the nature of each biosolids and sewage sludge material generated by the facility in terms of whether the… |
| p_bio_mgmt_pathogen | string | no | This code identifies the pathogen class [e.g., Class A, Class B, Not Applicable (Incineration)] for biosolids or sewage sludge generated… |
| p_bio_mgmt_pathred | string | no | This is the description of the option used by the facility to control pathogen for a Biosolids Management Practice: - A1 = Class A -… |
| p_bio_mgmt_vector | string | no | The unique code that identifies the option used by the facility for vector attraction reduction. See a listing of these vector attraction… |
| p_bio_mgmt_def_category | string | no | This is the code indicating the type of NPDES special regulatory program deficiency: - INC = Biosolids Incineration - LNA = Biosolids Land… |
| p_bio_mgmt_deficiencies | number | no | The number of times noncompliance was reported by the facility in the last 3 years. The results returned will include facilities whose… |
| p_bio_vio_code | string | no | The Biosolids Single Event Violation Code. Enter one or mode codes. |
| p_bio_current_vio | string | no | Indicator of whether the facility is currently in violation for biosolids under the Clean Water Act, in the 12th or 13th quarter: - Y =… |
| p_bio_qtrs_in_vio | number | no | The number of quarters, in the last three years, where the facility was in violation for a biosolids violation type. The results returned… |
| p_bio_rpt_year | string | no | The last year that the permittee submitted an annual Biosolids report. Valid values are NONE and any year greater or equal to 2016. |
| p_bio_vio_last_year | string | no | Identifies if a biosolids violation has occured in the last year. Valid values are Y and N. |
| p_msgp_rpt_year | string | no | The last year that a MSGP report was submitted for the permit. Valid values are "NONE" and any year Greater or Eqal to 2015. |
| p_vio_last_year | string | no | Identifies if a permit violation has occured in the last year. Valid values are Y and N. |
| 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… |
| p_e90_count | number | no | Number of E90 Exceedances. Identifies water permits with a number of E90 (Effluient Exceedances) >= the value provided for the last number… |
| p_e90_years | number | no | Number of years for the p_e90_count search. Identified the past number of years to be used for the p_e90_count search. |
| p_psc | string | no | Point Source Category. |

### Clean Water Act (CWA) Facility Enhanced Search Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-cwa-rest-services-get-facility-info`

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

### Clean Water Act (CWA) GeoJSON Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-cwa-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… |

### Clean Water Act (CWA) GeoJSON Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-cwa-rest-services-get-geojson`

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

### Clean Water Act (CWA) Info Clusters Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-cwa-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… |

### Clean Water Act (CWA) Info Clusters Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-cwa-rest-services-get-info-clusters`

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

### Clean Water Act (CWA) Map Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-cwa-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 | Nine-character code used to uniquely identify a permitted NPDES facility. The NPDES permit program regulates the direct discharge of… |

### Clean Water Act (CWA) Map Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-cwa-rest-services-get-map`

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

### Clean Water Act (CWA) Paginated Results Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-cwa-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… |

### Clean Water Act (CWA) Paginated Results Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-cwa-rest-services-get-qid`

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

### Clean Water Act (CWA) Metadata Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-cwa-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. |

### Clean Water Act (CWA) Metadata Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-cwa-rest-services-metadata`

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

### ECHO BP Tribes Lookup Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-rest-lookups-bp-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 =… |
| 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. |
| search_term | string | no | Enter a partial or complete search phrase or word. |
| search_code | string | no | Enter a partial or complete code value. |

### ECHO BP Tribes Lookup Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-rest-lookups-bp-tribes`

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

### ECHO CWA Parameter Lookup Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-rest-lookups-cwa-parameters`

| 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. |
| search_term | string | no | Enter a partial or complete search phrase or word. |
| search_code | string | no | Enter a partial or complete code value. |

### ECHO CWA Parameter Lookup Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-rest-lookups-cwa-parameters`

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

### ECHO CWA Pollutants Lookup Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-rest-lookups-cwa-pollutants`

| 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. |
| search_term | string | no | Enter a partial or complete search phrase or word. |
| search_code | string | no | Enter a partial or complete code value. |

### ECHO CWA Pollutants Lookup Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-rest-lookups-cwa-pollutants`

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

### ECHO Federal Agency Lookup Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-rest-lookups-federal-agencies`

| 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. |
| search_term | string | no | Enter a partial or complete search phrase or word. |
| search_code | string | no | Enter a partial or complete code value. |

### ECHO Federal Agency Lookup Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-rest-lookups-federal-agencies`

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

### ECHO ICIS NPDES Inspection Types Lookup Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-rest-lookups-icis-inspection-types`

| 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. |
| search_term | string | no | Enter a partial or complete search phrase or word. |
| search_code | string | no | Enter a partial or complete code value. |

### ECHO ICIS NPDES Inspection Types Lookup Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-rest-lookups-icis-inspection-types`

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

### ECHO ICIS NPDES Law Sections Lookup Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-rest-lookups-icis-law-sections`

| 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. |
| statute_code | string | no |  |
| status_flag | string | no |  |
| search_term | string | no | Enter a partial or complete search phrase or word. |
| search_code | string | no | Enter a partial or complete code value. |
| sort_order | number | no |  |

### ECHO ICIS NPDES Law Sections Lookup Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-rest-lookups-icis-law-sections`

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

### ECHO NAICS Codes Lookup Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-rest-lookups-naics-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 =… |
| 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. |
| search_term | string | no | Enter a partial or complete search phrase or word. |
| search_code | string | no | Enter a partial or complete code value. |

### ECHO NAICS Codes Lookup Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-rest-lookups-naics-codes`

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

### ECHO NPDES Parameters Lookup Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-rest-lookups-npdes-parameters`

| 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. |
| search_term | string | no | Enter a partial or complete search phrase or word. |

### ECHO NPDES Parameters Lookup Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-rest-lookups-npdes-parameters`

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

### ECHO WBD Code Lookup Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-rest-lookups-wbd-code-lu`

| 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. |
| wbd_code | string | no | Two-digit watershed code [Hydrologic Unit Code (HUC)]. |
| wbd_level | string | no | The number of digits of the watershed code [Hydrologic Unit Code (HUC)] returned in the ValueCode. Must be an even number between 4 and 12. |

### ECHO WBD Code Lookup Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-rest-lookups-wbd-code-lu`

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

### ECHO WBD Name Lookup Service
`GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-rest-lookups-wbd-name-lu`

| 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. |
| wbd_name | string | yes | Watershed Name Filter. |
| wbd_level | string | no | The number of digits of the watershed code [Hydrologic Unit Code (HUC)] returned in the ValueCode. Must be an even number between 4 and 12. |

### ECHO WBD Name Lookup Service
`POST https://zieapi.vercel.app/v1/open-data:epa-cwa/post-rest-lookups-wbd-name-lu`

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

## Example
```
curl "https://zieapi.vercel.app/v1/open-data:epa-cwa/get-cwa-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) - Clean… API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/open-data:epa-cwa/get-cwa-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) - Clean… 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) - Clean… 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-cwa.

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