EPA FRS Facility Registry Scraper avatar

EPA FRS Facility Registry Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
EPA FRS Facility Registry Scraper

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

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

ParseForge Banner

🏭 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.gov service

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 teamsBuilding facility master lists for a state or region
GIS and data analystsMapping regulated sites by county and program
Compliance and due-diligence researchersScreening addresses against the federal registry
Journalists and NGOsInvestigating 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

FieldTypeRequiredDescription
stateCodestring (select)YesUS state or territory to pull facilities for. Defaults to California (CA).
programAcronymstring (select)NoOptional EPA program system to filter by (NPDES, RCRAINFO, AIR, SEMS, and more). Leave on Any for all programs.
maxItemsintegerNoHow 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:

🏷 FieldDescription
📌 facilityNamePrimary facility name from the registry
🆔 registryIdEPA FRS Registry ID (unique facility identifier)
🏷 programSystemAcronymEPA program system the record belongs to
🔖 programSystemIdProgram system identifier for the facility
🏠 streetAddressLocation street address
🏷 supplementalLocationSuite, unit, or extra address line (often null)
🏙 cityCity name
🗺 stateCodeTwo letter state code
🗺 stateNameState name as stored in the registry
📮 postalCodeZIP / postal code
📍 countyNameCounty name
🌐 countryNameCountry name
🌎 epaRegionCodeEPA region code (01 to 10)
🗂 sourceOfDataOriginating data program for the record
publicIndicatorWhether the record is public
🕒 scrapedAtISO timestamp of collection
errorError 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.gov service, 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

ApproachEffortCoverageStructured output
This ActorPick a state and runAll states and territoriesYes, one row per facility
EPA Envirofacts web searchManual page by pageNationalNo, screen scraping needed
Raw efservice URLsBuild and page URLs yourselfNationalPartial, raw nested fields

🚀 How to use

  1. Create a free Apify account using this sign-up link.
  2. Open the EPA FRS Facility Registry Scraper.
  3. Pick a stateCode and, if you want, a programAcronym.
  4. Set maxItems and click Start.
  5. Browse the results in the dataset or pull them through the Apify API.

💼 Business use cases

Environmental compliance

GoalHow this helps
Build a facility master listPull every registered facility in a state in one run
Screen a portfolio of addressesMatch holdings against the federal registry

GIS and analytics

GoalHow this helps
Map regulated sitesCounty and region fields drive choropleths and clusters
Segment by programFilter to NPDES, RCRAINFO, AIR, and more

Due diligence

GoalHow this helps
Site assessment prepConfirm whether a site is in the EPA registry
Counterparty checksLook up a company's regulated facilities

Research and reporting

GoalHow this helps
Community studiesList regulated facilities in a county
Trend trackingCompare 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.

  • 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.