EPA ECHO Facilities & Environmental Compliance Scraper avatar

EPA ECHO Facilities & Environmental Compliance Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
EPA ECHO Facilities & Environmental Compliance Scraper

EPA ECHO Facilities & Environmental Compliance Scraper

Export US EPA ECHO regulated facilities, permits, compliance flags, inspections, enforcement and penalties from the official weekly bulk dataset. Filter by state, NAICS and environmental program. No API key required.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

4 days ago

Last modified

Share

Export facility-level environmental compliance data from the official US EPA ECHO Exporter. The Actor streams EPA's weekly bulk file and turns its 130+ source fields into an analysis-ready Apify dataset without requiring an API key.

What you can build

  • Environmental due-diligence and Phase I site-screening pipelines
  • ESG, compliance and enforcement monitoring
  • Industrial lead lists segmented by NAICS and EPA program
  • Location intelligence for regulated facilities
  • Research datasets covering permits, inspections, violations, actions and penalties

EPA states that ECHO covers more than 1.5 million regulated facilities. A run can save up to 500,000 matching facilities; use multiple state/program runs when you need a larger partitioned export.

Input

FieldDescriptionDefault
maxResultsMaximum facilities, 1–500,000500
statesTwo-letter US state/territory codesall
nameContainsCase-insensitive facility-name fragmentempty
naicsPrefixIndustry code prefix, e.g. 324empty
programALL, CAA, CWA, RCRA, SDWA, TRI, or GHGALL
violationsOnlyKeep current non-compliance records onlyfalse
includeRawRecordInclude all 130+ source fields (slower/larger)false

Example — Texas Clean Air Act facilities:

{
"states": ["TX"],
"program": "CAA",
"maxResults": 10000
}

Example — currently non-compliant petroleum-sector facilities:

{
"naicsPrefix": "324",
"violationsOnly": true,
"maxResults": 50000
}

Output

Each dataset item includes normalized fields such as registryId, facilityName, address, coordinates, NAICS/SIC codes, program flags, current violation status, five-year inspection/enforcement measures, penalties and a direct ECHO report URL. Set includeRawRecord to true when you also need every field supplied in the official export; keep it off for high-volume delivery.

{
"registryId": "110000000001",
"facilityName": "Example Facility",
"city": "HOUSTON",
"state": "TX",
"naicsCodes": "324110",
"currentViolation": "Y",
"latitude": 29.76,
"longitude": -95.36,
"programs": { "air": "Y", "water": "N", "hazardousWaste": "Y" },
"detailUrl": "https://echo.epa.gov/detailed-facility-report?fid=110000000001"
}

Integrations

Run the Actor from the Apify Console, API, CLI, schedules or webhooks. Results are available as JSON, CSV, Excel, XML and RSS through the default dataset endpoints.

curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~epa-echo-facilities-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"states":["CA"],"program":"CWA","maxResults":5000}'

Data source and limitations

Data comes from the EPA ECHO bulk download, which EPA generally refreshes weekly. A facility's absence, status or compliance flag must be interpreted using EPA's methodology and reporting periods. The Actor does not infer violations and is not a substitute for legal or environmental advice.

How much EPA ECHO Facilities & Environmental Compliance data can you extract in one run?

A single run returned 500 rows in 2 seconds on the example input. That is roughly 5,000 rows a minute. Widen the search — more queries, more pages, a broader location — and the same run goes deeper.

There is no hard ceiling built into this Actor. What bounds a run is the result limit you set, the breadth of the input you give it, and how much EPA ECHO Facilities & Environmental Compliance itself publishes. Because billing is per result, a wider run costs proportionally more and a narrow one costs almost nothing — so it is worth starting small and scaling once the output looks right.

EPA ECHO Facilities & Environmental Compliance scraping — frequently asked questions

Do I need a EPA ECHO Facilities & Environmental Compliance API key, account or login?

No. This Actor reads publicly available pages and feeds, so there is nothing to register for and no credentials to manage.

How do I export EPA ECHO Facilities & Environmental Compliance data to CSV, Excel, JSON or Google Sheets?

Open the Storage tab after a run and pick the format you want — CSV, Excel, JSON, XML or an HTML table. For Google Sheets, Airtable or a database, use the dataset URL or the Apify API so the sheet refreshes itself on every run.

Can I schedule this EPA ECHO Facilities & Environmental Compliance scraper to run daily or hourly?

Yes. Use the Schedules tab and pick a cadence. Daily is enough for most tracking work; pick hourly only if the rows you care about really do change that fast.

How many rows can I get, and what does it cost?

See the volume section above for a measured figure. Billing is per result, so you pay for the rows you actually receive and a run that finds nothing costs nothing.

This Actor collects only information that EPA ECHO Facilities & Environmental Compliance publishes publicly. It does not log in, does not defeat access controls and does not touch private data. You remain responsible for how you use the output, including under GDPR and similar rules where personal data is involved.

What happens if EPA ECHO Facilities & Environmental Compliance blocks the run or changes its layout?

A refused exit IP is swapped for a fresh one within a quarter of a second and retried, and rate limiting is waited out rather than fought. If nothing gets through, the run fails with the reason instead of reporting success with zero rows — so an empty result always means "no matches", never "the source would not answer".

Can I use this with an AI agent, LangChain or an MCP client?

Yes. The Actor is callable over the Apify API and through Apify's MCP server, so an agent can run it and read the dataset back as a tool call.

How to scrape EPA ECHO Facilities & Environmental Compliance without an API

EPA ECHO Facilities & Environmental Compliance has no public bulk export for this data, which normally leaves copy-and-paste or a custom crawler. This Actor is the second one, already built and maintained: it reads the public pages, follows the pagination, and hands back clean rows.

  1. Fill in the input below — the example is prefilled, so Start works straight away.
  2. Watch the log name each page it walks and how many rows each one returned.
  3. Export from Storage, or pull the dataset over the API into your own pipeline.

No API key, no account, no browser extension, no manual copying.

This Actor collects publicly available information from EPA ECHO Facilities & Environmental Compliance only. It does not log in, does not circumvent access controls, and collects no private data. You are responsible for using the output lawfully, including under GDPR and comparable regimes where the rows contain personal data, and for respecting EPA ECHO Facilities & Environmental Compliance's terms where they apply to you.

Changelog

  • 2026-08-01 — v1.0.0: Initial release. Added streaming bulk extraction, state/name/NAICS/program/violation filters, optional complete raw fields, 500,000-item runs, typed overview dataset and source retry handling. Validated against the live EPA export with default, filtered and 10,000-item inputs.

*Maintained: last verified 2026-09-01 — checked end-to-end against live run history (reliability, output fields and types, and time/memory budgets).


Use cases

  • Export records in bulk and analyse them in a spreadsheet or database.
  • Track how the data changes over time by scheduling repeat runs.
  • Feed records into a dashboard, CRM or internal tool through the Apify API.
  • Build a research dataset without writing or maintaining a scraper.
  • Monitor EPA ECHO Facilities & Environmental Compliance for new entries and alert your team when they appear.

Pricing

This Actor is pay per result: you are charged for the rows it writes to your dataset, not for the time it spends running. There are no platform fees to calculate on top, and higher Apify plans pay a lower rate per result. A run that returns nothing costs nothing.

Other Actors from the same collection: