EPA ECHO Facility Compliance & Enforcement Scraper avatar

EPA ECHO Facility Compliance & Enforcement Scraper

Pricing

from $1.75 / 1,000 results

Go to Apify Store
EPA ECHO Facility Compliance & Enforcement Scraper

EPA ECHO Facility Compliance & Enforcement Scraper

Scrape US EPA ECHO facility data: compliance status (air, water, hazardous waste), violations, inspections, penalties ($), major-polluter flag, %minority, coordinates and program IDs. For ESG, due diligence and compliance research. Not affiliated with the EPA.

Pricing

from $1.75 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Search and extract US EPA environmental-compliance data for any facility: compliance status (air, water, hazardous waste, drinking water), violations, inspections, formal actions, penalties ($), major-polluter flag, environmental-justice %minority, coordinates and program IDs. Search by company name and/or location (state, city, ZIP, NAICS/SIC). Clean JSON/CSV/Excel in seconds — built for ESG, due diligence, risk and compliance research.


What This Actor Does

This Actor searches the US EPA's Enforcement & Compliance History Online (ECHO) database and returns rich, structured records for regulated facilities. For each facility it captures:

  • Identity & location — facility name, full address, county, EPA region, coordinates, FRS Registry ID
  • Industry — SIC and NAICS codes
  • Compliance status — overall plus per-statute: air (Clean Air Act), water (Clean Water Act), hazardous waste (RCRA) and drinking water (SDWA)
  • Violations — significant non-complier flag, quarters in non-compliance, 3-year compliance history
  • Enforcement — inspection count and last inspection date, formal action count and date
  • Penalties — total penalties (USD), penalty count, last penalty date and amount
  • Risk & ESG — major-polluter flag, surrounding % minority (environmental-justice indicator)
  • Program IDs — air, water (NPDES), hazardous waste (RCRA), toxics (TRI) and greenhouse-gas (GHG) identifiers
  • Detailed report — a direct link to the facility's full ECHO report

Why Use This

  • See who is in violation. Filter to facilities with current violations or significant non-compliance — the exact list a risk, ESG or compliance team needs.
  • Quantify enforcement. Penalties in dollars, inspection counts and formal actions — hard numbers, not prose.
  • Screen supply chains & counterparties. Check any company's US facilities for environmental risk before you onboard, invest or lend.
  • Official & free. Reads EPA's own public database — no key, no anti-bot, no browser.

Quick Start

Run it in the console (no code)

  1. Add a facility name (e.g. exxon mobil) and/or a location filter (state, city, ZIP, NAICS/SIC).
  2. Optionally tick Only facilities with violations or Only major facilities.
  3. Set Max facilities, click Start, and export as JSON, CSV, Excel or HTML.

Find environmental violators in a state (Python)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"states": ["TX", "CA"],
"onlyWithViolations": True,
"maxItems": 1000,
}
run = client.actor("YOUR_USERNAME/epa-echo-scraper").call(run_input=run_input)
for f in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f["name"], "·", f["complianceStatus"], "·", f["totalPenaltiesUsd"], "USD")

Screen one company's facilities (Python)

run = client.actor("YOUR_USERNAME/epa-echo-scraper").call(run_input={
"searchTerms": ["exxon mobil"], "states": ["TX"], "maxItems": 500,
})
for f in client.dataset(run["defaultDatasetId"]).iterate_items():
if f.get("significantViolator") or (f.get("totalPenaltiesUsd") or 0) > 0:
print(f["name"], f["city"], "→", f["totalPenaltiesUsd"], "USD", f["detailedReportUrl"])

Input Parameters

FieldTypeDescription
searchTermsarrayFacility/company name keywords. Combined with the location filters.
statesarrayTwo-letter US state codes (e.g. TX, CA).
citiesarrayCity names (optional).
zipCodesarrayZIP codes (optional).
naicsCodesarrayNAICS industry codes (optional).
sicCodesarraySIC industry codes (optional).
onlyMajorbooleanOnly facilities flagged as major.
onlyWithViolationsbooleanOnly facilities with a current violation / significant non-compliance / recent NC quarters.
maxItemsintegerMax facilities across all searches. 0 = no limit.
proxyConfigurationobjectApify Proxy. Datacenter is enough (public API).

Provide at least one criterion — a facility name and/or a location filter.


Output

Each facility is one record:

{
"registryId": "110000599273",
"name": "BAYTOWN OLEFINS PLANT",
"street": "5000 BAYWAY DR", "city": "BAYTOWN", "state": "TX", "zip": "77520",
"county": "HARRIS", "epaRegion": "06",
"latitude": 29.74, "longitude": -95.01,
"naicsCodes": ["325110"], "sicCodes": ["2869"],
"majorFacility": true,
"complianceStatus": "Significant Violation",
"airComplianceStatus": "Significant Violation",
"waterComplianceStatus": "No Violation Identified",
"significantViolator": true,
"quartersInNonCompliance": 4,
"inspectionCount": 12, "lastInspectionDate": "09/18/2025",
"formalActionCount": 2,
"totalPenaltiesUsd": 2204913, "penaltyCount": 3, "lastPenaltyAmountUsd": 1500000,
"percentMinority": 62.4,
"airIds": ["TX0001"], "toxicsReleaseIds": ["77520XXNPL"],
"detailedReportUrl": "https://echo.epa.gov/detailed-facility-report?fid=110000599273"
}

About coverage: identity, address and coordinates are present for essentially every facility. Compliance status, penalties and program IDs are populated by EPA for regulated/assessed facilities (industrial and major sites) — small retail sites (e.g. some gas stations) legitimately have little or no compliance history. Use onlyWithViolations or onlyMajor to focus on facilities with rich enforcement data.


Use Cases

1. ESG & sustainability screening

Score companies and portfolios on environmental compliance, violations and penalties across their US facilities.

2. Due diligence & risk

Check a target, supplier or counterparty for environmental violations and enforcement history before onboarding, investing or lending.

Build lists of significant non-compliers, penalty actions and inspection histories by state, industry or region.

4. Journalism & research

Map polluters, penalties and environmental-justice indicators (% minority) by geography and sector.


Tips

  • onlyWithViolations is the fastest way to a list of active environmental violators.
  • totalPenaltiesUsd and penaltyCount quantify enforcement in dollars.
  • significantViolator flags the EPA's "significant non-complier" designation.
  • naicsCodes / sicCodes let you focus on an industry (e.g. refineries, chemicals, power).
  • detailedReportUrl links straight to the full ECHO report for any facility.
  • Schedule it with Apify Schedules to monitor a state or company over time.

Frequently Asked Questions

Do I need an account or key? No. The ECHO database is public and free — no login, key or anti-bot.

What is a Registry ID? It is the facility's EPA FRS (Facility Registry Service) identifier — a stable ID used to join across EPA program systems.

Why do some facilities have empty compliance fields? EPA populates compliance, penalty and program data for regulated and assessed facilities. Smaller sites with no regulated activity legitimately have little history. Filter with onlyWithViolations or onlyMajor for the data-rich subset.

Which environmental programs are covered? Clean Air Act (air), Clean Water Act (water/NPDES), RCRA (hazardous waste), SDWA (drinking water), plus TRI (toxics) and GHG identifiers.

What export formats are supported? JSON, CSV, Excel, HTML, or via API — plus Google Sheets, webhooks, Make and Zapier.


This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the US Environmental Protection Agency (EPA). All trademarks are the property of their respective owners. It reads only public compliance records. Use the data responsibly and in line with applicable terms and laws.