EPA FRS Facility Registry Scraper
Pricing
from $3.00 / 1,000 results
EPA FRS Facility Registry Scraper
Tap the US EPA Facility Registry Service for regulated facilities in any state. Returns registry ID, facility name, street address, city, county, ZIP, EPA region, and program system acronym. Filter by state or program for compliance research, site screening, and mapping.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share

🏭 EPA FRS Facility Registry Scraper
🚀 Export regulated facilities in seconds. Pull EPA Facility Registry Service records for any US state, with registry ID, standardized name, full address, county, and program system acronym.
🕒 Last updated: 2026-06-05 · 📊 15 fields per record · all 50 states plus DC and territories · sourced from the official US EPA
data.epa.govservice
The EPA Facility Registry Service (FRS) is the federal master index of facilities, sites, and places that are subject to environmental regulation. This Actor turns that registry into a clean, structured feed of facility records you can drop straight into a database, a map, or a compliance workflow.
Coverage spans every US state, the District of Columbia, and US territories. You pick a state, optionally narrow to a single EPA program system (water permits, hazardous waste, air, Superfund, and more), and get back one row per facility with names, standardized addresses, county, EPA region, and the program acronym that ties the facility to a regulatory dataset.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Environmental consultants and EHS teams | Building facility master lists for a state or region |
| GIS and data analysts | Mapping regulated sites by county and program |
| Compliance and due-diligence researchers | Screening addresses against the federal registry |
| Journalists and NGOs | Investigating regulated facilities in a community |
📋 What the EPA FRS Facility Registry Scraper does
It queries the public EPA efservice endpoint for the FRS_PROGRAM_FACILITY table, pages through the results for your chosen state, normalizes blank and placeholder values to null, and writes one tidy record per facility. You control the state, an optional program filter, and how many records to pull.
🎬 Full Demo (🚧 Coming soon)
⚙️ Input
| Field | Type | Required | Description |
|---|---|---|---|
stateCode | string (select) | Yes | US state or territory to pull facilities for. Defaults to California (CA). |
programAcronym | string (select) | No | Optional EPA program system to filter by (NPDES, RCRAINFO, AIR, SEMS, and more). Leave on Any for all programs. |
maxItems | integer | No | How many facilities to return. Free plan is capped at 10. |
Example 1 — all programs in Texas:
{"stateCode": "TX","maxItems": 100}
Example 2 — only water discharge permit facilities in California:
{"stateCode": "CA","programAcronym": "NPDES","maxItems": 50}
⚠️ Good to Know: FRS is a registry index, so a single physical facility can appear under more than one program system. Some records carry sparse address detail (for example a missing county or suite line). Those values are returned as null rather than guessed.
📊 Output
Each facility is one record. Fields:
| 🏷 Field | Description |
|---|---|
📌 facilityName | Primary facility name from the registry |
🆔 registryId | EPA FRS Registry ID (unique facility identifier) |
🏷 programSystemAcronym | EPA program system the record belongs to |
🔖 programSystemId | Program system identifier for the facility |
🏠 streetAddress | Location street address |
🏷 supplementalLocation | Suite, unit, or extra address line (often null) |
🏙 city | City name |
🗺 stateCode | Two letter state code |
🗺 stateName | State name as stored in the registry |
📮 postalCode | ZIP / postal code |
📍 countyName | County name |
🌐 countryName | Country name |
🌎 epaRegionCode | EPA region code (01 to 10) |
🗂 sourceOfData | Originating data program for the record |
✅ publicIndicator | Whether the record is public |
🕒 scrapedAt | ISO timestamp of collection |
❌ error | Error message, null on success |
Three real sample records:
{"facilityName": "MEISSNER HQ","registryId": "110070095086","programSystemAcronym": "SSTS","streetAddress": "1001 FLYNN RD","city": "CAMARILLO","stateCode": "CA","postalCode": "93012","countyName": "VENTURA COUNTY","epaRegionCode": "09"}
{"facilityName": "UPPER AIR SOLUTIONS FACTORY","registryId": "110070921985","programSystemAcronym": "SSTS","streetAddress": "10050 MARATHON PKWY","city": "LAKESIDE","stateCode": "CA","postalCode": "92040","countyName": "SAN DIEGO COUNTY","epaRegionCode": "09"}
{"facilityName": "XT 2000 INC","registryId": "110067115507","programSystemAcronym": "SSTS","streetAddress": "10054 PROSPECT AVE SUITE P","city": "SANTEE","stateCode": "CA","postalCode": "92071","countyName": "SAN DIEGO COUNTY","epaRegionCode": "09"}
✨ Why choose this Actor
- Sources directly from the official US EPA
data.epa.govservice, no third party middleman. - Clean field mapping with blank and placeholder values normalized to null.
- State and program filters that match the registry's own query parameters.
- One record per facility, ready for mapping, joins, or screening.
- Stable output schema with a dataset view for quick browsing.
📈 How it compares to alternatives
| Approach | Effort | Coverage | Structured output |
|---|---|---|---|
| This Actor | Pick a state and run | All states and territories | Yes, one row per facility |
| EPA Envirofacts web search | Manual page by page | National | No, screen scraping needed |
Raw efservice URLs | Build and page URLs yourself | National | Partial, raw nested fields |
🚀 How to use
- Create a free Apify account using this sign-up link.
- Open the EPA FRS Facility Registry Scraper.
- Pick a
stateCodeand, if you want, aprogramAcronym. - Set
maxItemsand click Start. - Browse the results in the dataset or pull them through the Apify API.
💼 Business use cases
Environmental compliance
| Goal | How this helps |
|---|---|
| Build a facility master list | Pull every registered facility in a state in one run |
| Screen a portfolio of addresses | Match holdings against the federal registry |
GIS and analytics
| Goal | How this helps |
|---|---|
| Map regulated sites | County and region fields drive choropleths and clusters |
| Segment by program | Filter to NPDES, RCRAINFO, AIR, and more |
Due diligence
| Goal | How this helps |
|---|---|
| Site assessment prep | Confirm whether a site is in the EPA registry |
| Counterparty checks | Look up a company's regulated facilities |
Research and reporting
| Goal | How this helps |
|---|---|
| Community studies | List regulated facilities in a county |
| Trend tracking | Compare program coverage across states |
🔌 Automating EPA FRS Facility Registry Scraper
Connect runs to Make, Zapier, Slack, Airbyte, GitHub Actions, or Google Drive using Apify integrations and webhooks. Trigger a run on a schedule, then route the output into a sheet, a warehouse, or a notification channel.
🌟 Beyond business use cases
- Research: academic studies of environmental regulation by region.
- Personal: check what regulated facilities exist near a home.
- Non-profit: community and watchdog groups mapping local sites.
- Experimentation: practice geocoding and data joins on real public records.
🤖 Ask an AI assistant
Paste the output into ChatGPT, Claude, Perplexity, or Microsoft Copilot and ask it to cluster facilities by county, summarize program coverage, or draft a screening report.
❓ Frequently Asked Questions
What is the EPA FRS? The Facility Registry Service is the EPA's master index of facilities subject to environmental regulation.
Where does the data come from? The official public data.epa.gov efservice endpoint for the FRS_PROGRAM_FACILITY table.
Which states are covered? All 50 states, the District of Columbia, and US territories such as Puerto Rico and Guam.
Can I filter by program? Yes. Use programAcronym to limit results to a single EPA program system.
Why do some facilities repeat names? A facility can be registered under multiple program systems, so it can appear once per program.
Why are some fields null? When the registry has no value, or only a placeholder, the field is returned as null instead of a guess.
Does it return latitude and longitude? This Actor returns the standardized address fields from the program facility table. Coordinates are not part of this table.
How many records can I get? Free plan returns up to 10. Paid plans can pull far more.
Is there an API key needed for EPA? No. The EPA endpoint is public and keyless.
Is this affiliated with the EPA? No. It is an independent tool that reads publicly available data.
🔌 Integrate with any app
Use the Apify API, webhooks, and scheduling to wire results into your stack. Output flows cleanly into sheets, databases, dashboards, and automation platforms.
🔗 Recommended Actors
- ParseForge collection for more public data scrapers.
- OpenStreetMap and government registry scrapers for location enrichment.
- Geocoding actors to add coordinates to facility addresses.
💡 Pro Tip: browse the complete ParseForge collection.
🆘 Need Help? Open our contact form
⚠️ Disclaimer: independent tool, not affiliated with the US EPA. Only publicly available data is collected.