EPA ECHO Violations Scraper avatar

EPA ECHO Violations Scraper

Pricing

from $19.00 / 1,000 results

Go to Apify Store
EPA ECHO Violations Scraper

EPA ECHO Violations Scraper

Scrapes EPA ECHO violation records filtered by state, county, ZIP code, media program, and SIC code. Returns each violation as a flat row with facility details, violation type, date, and enforcement information.

Pricing

from $19.00 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

ParseForge

EPA ECHO Violations Scraper

Scrape EPA ECHO violation records by state, county, ZIP code, or media program, up to a million per run. Each record includes the facility name, violation type, date, and enforcement details. No API key required. Export to CSV, JSON, Excel, or XML.

The EPA's Enforcement and Compliance History Online (ECHO) database holds millions of facility violation records, but its web search is slow, paginated, and hard to export in bulk. This Actor queries the public ECHO services directly, filters by geography, media program, or industry code, and returns every matching violation in a consistent, flat schema. It is built for environmental analysts, journalists, and compliance teams who need the raw data without manual clicking.

Who uses itWhat they scrape EPA ECHO for
Environmental analystsMonitor compliance trends across facilities in a watershed or airshed.
Investigative journalistsIdentify repeat violators and enforcement gaps in a specific region.
Corporate compliance officersBenchmark a facility's record against industry peers in the same SIC code.
Academic researchersBuild datasets for studies on environmental justice and regulatory effectiveness.

What it does

This Actor collects EPA ECHO violation records filtered by state, county, ZIP code, media program, and SIC code, and returns each violation as a flat row.

  • ๐Ÿ—บ๏ธ Geographic filters: narrow results to a single state, county, or ZIP code for localized analysis.
  • ๐Ÿ“‹ Media program filter: isolate violations under the Clean Air Act, Clean Water Act, RCRA, or Safe Drinking Water Act.
  • ๐Ÿญ Industry targeting: filter by two-digit SIC code to focus on a specific sector like chemical manufacturing or metal fabrication.
  • ๐Ÿ“Š Bulk export: collect up to a million records in one run and download as CSV, JSON, Excel, or XML.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with EPA ECHO data

๐Ÿ“ˆ Track compliance trends.

An environmental analyst pulls five years of Clean Water Act violations for every county in California to see if enforcement actions are rising or falling.

๐Ÿ—ž๏ธ Investigate local polluters.

A reporter enters a ZIP code and the RCRA program to find hazardous waste violators near a residential neighborhood.

๐Ÿญ Audit an industry sector.

A compliance officer filters by SIC code 28 (chemicals) across Texas to compare their facility's violation count against competitors.

๐ŸŽ“ Build a research dataset.

A graduate student collects all Safe Drinking Water Act violations in the Midwest to correlate with demographic data for a thesis.

Why choose this scraper

What you get
No API key or registrationQueries the public ECHO services directly with no account setup.
Fixed flat schemaEvery record arrives with the same columns, ready for analysis or a database.
Geography-first designBuilt around the way EPA organizes data: state, county, and ZIP.
Program-specific queriesPull only CAA, CWA, RCRA, or SDWA violations instead of sifting through everything.

Configure the run

Drive the Actor with a state, optional county and ZIP code, a media program, and a two-digit SIC code prefix. Filters are applied at query time so only matching violations are returned. The Input tab lists every parameter.

A first run with the defaults:

{
"maxItems": 10
}

A larger pull:

{
"maxItems": 200
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$2.10
1,000 results$21.00
10,000 results$210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the EPA ECHO Violations Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to EPA ECHO through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/epa-echo-violations-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your county name matches the EPA's spelling exactly (e.g., 'Los Angeles' not 'LA County'). Try broadening the search by removing the county or SIC code filter, or switching the media program to 'All Programs'.

The run is taking too long.

Large queries can take time because the EPA's public services are rate-limited. Reduce the maxItems or narrow your filters to a smaller geography. The Actor processes records sequentially to respect the source.

I entered a ZIP code but got results from a different area.

The EPA ECHO service uses ZIP codes as a proximity search, not an exact boundary. If you need precise geographic results, add a county filter or verify the ZIP is correct for your target area.

Some fields are empty in my results.

Not every violation record contains every field. The EPA database has gaps, especially for older records or facilities that did not report certain details. This is expected and reflects the source data.

The Actor failed with an error.

The EPA ECHO services occasionally experience downtime. Wait a few minutes and retry. If the error persists, check that your input values are valid (a real two-letter state code, a numeric ZIP, and a recognized SIC prefix).

FAQ

QuestionAnswer
What is EPA ECHO?ECHO is the Enforcement and Compliance History Online database maintained by the U.S. Environmental Protection Agency. It contains compliance and enforcement records for regulated facilities across the United States.
Do I need an API key or EPA account to use this Actor?No. This Actor queries the public ECHO web services directly. You do not need to register with the EPA or obtain any credentials.
What violation types can I filter by?You can filter by media program: Clean Air Act (CAA), Clean Water Act (CWA), RCRA hazardous waste, Safe Drinking Water Act (SDWA), or all programs combined.
Can I search by ZIP code alone?Yes. You can enter a ZIP code without a county. If you leave both county and ZIP empty, the Actor uses a default large-city ZIP for the selected state.
What is an SIC code and how do I use it?The Standard Industrial Classification (SIC) code identifies a facility's industry. Enter a two-digit prefix like '28' for chemical manufacturing to filter violations to that sector.
How many records can I scrape in one run?Free users can scrape up to 10 records. Paid Apify users can set the maximum up to 1,000,000 records per run.
What data fields are included in each violation record?Each row includes the facility name, location, violation type, date, enforcement action details, and the media program. The exact field list is visible in the sample output on the Actor's page.
Can I scrape multiple states at once?The Actor accepts one state per run. To collect data for multiple states, run the Actor once per state or use an Apify task schedule.
Is the data updated in real time?The Actor pulls data directly from the live EPA ECHO services each time it runs, so you always get the current records available in the public database.
What export formats are supported?You can export your dataset as CSV, JSON, Excel, or XML from the Apify platform after the run completes.

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by U.S. Environmental Protection Agency. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.