EPA Contaminated Site Screener — Superfund/NPL Proximity Check avatar

EPA Contaminated Site Screener — Superfund/NPL Proximity Check

Pricing

from $5.50 / 1,000 results

Go to Apify Store
EPA Contaminated Site Screener — Superfund/NPL Proximity Check

EPA Contaminated Site Screener — Superfund/NPL Proximity Check

Multi-database Phase I ESA regulatory-records screen. Screen a US address or coordinate for nearby EPA sites across Superfund/NPL, RCRA, TRI, UST, LUST, Brownfields, plus optional ASTM E1527-21 search-distance verdicts. Keyless EPA Envirofacts + ECHO + ArcGIS + Census geocoder.

Pricing

from $5.50 / 1,000 results

Rating

0.0

(0)

Developer

Kyle Maloney

Kyle Maloney

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

14 hours ago

Last modified

Share

EPA Contaminated Site Screener — Phase I ESA Multi-Database Records Search

Screens a US address or coordinate against six EPA regulatory databases for nearby contaminated and regulated sites — the multi-database records search that sits at the core of a Phase I Environmental Site Assessment (ASTM E1527). Built for Phase I consultants, CRE buyers and lenders, environmental attorneys, and underwriters who need to triage a property or a portfolio before ordering the full report. Optional astmMode adds an ASTM E1527-21 standard search-distance verdict per database. No API key.

Programs covered

Each nearby site becomes one row, tagged with its program:

programEPA databaseSource
SUPERFUNDNPL / Superfund (SEMS)EPA Envirofacts data.epa.gov/efservice/ENVIROFACTS_SITE
RCRAHazardous-waste handlers / corrective actionEPA ECHO
TRIToxic Release Inventory reportersEPA ECHO
USTUnderground storage tank facilitiesEPA UST Finder (ArcGIS)
LUSTLeaking underground storage tank releasesEPA UST Finder (ArcGIS)
BROWNFIELDBrownfields / ACRESEPA FRS (ArcGIS)

Addresses are geocoded with the free US Census geocoder. Per-program fetch failures warn and continue, so one database being down never fails the run — you get the hits from the programs that answered.

Two modes

assets mode (default) — screen your properties. For each asset, the actor queries every selected program within your radius and returns one row per nearby site, carrying program, list, site_name, distance_miles, status, and an on_npl flag. An asset with no hits still returns one clear row; a bad input returns one error row. Each asset item is either { "address": "...", "label": "..." } or { "lat": <n>, "lon": <n>, "state": "<2-letter>", "label": "..." }. The state field is required with lat/lon because Superfund/SEMS is fetched per state. Leave programs empty to screen all six; maxHitsPerProgram (default 50) caps the nearest hits kept per program per asset. Set astmMode: true to add one extra ASTM E1527-21 search-distance summary row per asset (see below); it's off by default so existing integrations see no change.

{
"mode": "assets",
"assets": [
{ "lat": 39.8037, "lon": -104.9986, "state": "CO", "label": "Denver warehouse" },
{ "address": "5980 Lipan St, Denver, CO 80221", "label": "Denver warehouse (by address)" }
],
"radiusMiles": 1,
"programs": ["SUPERFUND", "RCRA", "TRI", "UST", "LUST", "BROWNFIELD"],
"maxHitsPerProgram": 50,
"astmMode": true
}

inventory mode — list the raw EPA SEMS/Superfund site roster for the states you name (Superfund only; the other five programs don't apply here).

{ "mode": "inventory", "states": ["CO", "NJ"], "onlyNpl": true }

Key output fields (assets mode)

  • result_typelisting (a hit), clear (screened, nothing within radius), or error.
  • program, list — the EPA program and its readable database name.
  • site_name, site_address, site_city, site_state, site_zip — the listed site; site_id, registry_id its identifiers.
  • distance_miles — great-circle distance from the asset to the site.
  • status, status_detail — program-specific (NPL status, open/closed UST counts, LUST substance/date, brownfield type).
  • on_npl — true only for an active NPL/Superfund hit, the highest-concern signal.
  • phase1_flag — true on any listing row.
  • asset_*, radius_miles, checked_at, error, disclaimer, source_url.

NPL/Superfund proximity rollup (per asset)

Classic Phase I ESA metrics, one set of values repeated on every row for that asset (same pattern as asset_label/asset_lat):

  • nearest_npl_site_name, nearest_npl_distance_miles, nearest_npl_status — the closest NPL-lifecycle SEMS site (Final NPL, part-of-listed-site, Proposed, Deleted, or Removed-from-proposed) to the asset. Computed against the asset's entire state SEMS inventory (already fetched for the SUPERFUND program — no extra API calls), so it's not bounded by radiusMiles: a Phase I report conventionally states the nearest NPL site and its distance even when that distance exceeds the search radius. Null when the state has no coordinate-mapped NPL-lifecycle site, or when SUPERFUND isn't in programs.
  • npl_sites_within_radius — count of coordinate-mapped NPL-lifecycle sites actually within radiusMiles.
  • phase1_esa_flag — per-asset rollup: true when the asset has any program hit within radius OR any NPL-lifecycle site within radius. Check any one row for this asset to know if it needs a closer look.
  • phase1_summary — one-line plain-English rollup, e.g. 1 EPA-listed site(s) within 1 mi (SUPERFUND); 1 NPL-track site(s) within 1 mi; nearest NPL-track site: "BRODERICK WOOD PRODUCTS" 0.05 mi (Final NPL).

Caveat: only ~10–15% of SEMS/Superfund records nationwide carry coordinates, so nearest_npl_* and npl_sites_within_radius can only rank/count the coordinate-mapped subset — an un-geocoded NPL site in the same county won't surface here.

ASTM E1527-21 search distances (astmMode, assets mode)

Built for Phase I ESA consultants who need a quick pre-check against the ASTM E1527-21 "Standard Environmental Record Sources & Search Distances" table (Sec. 8.2.1) before ordering (or while scoping) the formal records review. Set astmMode: true and the actor emits one extra row per asset, after its normal listing/clear rows, with row_type: "astm_summary":

{
"mode": "assets",
"assets": [{ "lat": 39.8037, "lon": -104.9986, "state": "CO", "label": "Denver warehouse" }],
"radiusMiles": 1,
"astmMode": true
}

The summary row carries:

  • row_type"astm_summary" (null on every other row type).
  • astm_effective_radius_miles — the radius actually fetched for the summary: max(radiusMiles, 1.0), since ASTM's widest standard search distance (NPL) is 1 mile. This only widens what's fetched for the summary — your normal hit/clear rows still respect radiusMiles exactly as before.
  • astm_databases — an object keyed by database, one entry per program you screened (this actor's programs mapped to the ASTM table below), each with required_radius_mi, hits_within_required_radius, nearest_distance_mi, and astm_flag.
  • astm_overall_verdict"REC potential — hits within ASTM search distances" if any database has a hit inside its required radius, else "No mapped hits within ASTM search distances".
  • astm_disclaimer — the standard advisory (see FAQ below).

The mapping used (this actor's programs -> ASTM E1527-21 Sec. 8.2.1 search distances):

ASTM database (astm_databases key)Required search radiusThis actor's program
NPL (Superfund, Final)1.0 miSUPERFUND (on_npl = true)
Delisted NPL / SEMS-CERCLIS (non-NPL)0.5 miSUPERFUND (on_npl = false)
RCRA CORRACTS/TSD & LQG/SQG generators1.0 mi (conservative)RCRA
LUST0.5 miLUST
UST (registered)0.25 miUST
Brownfields / institutional controls0.5 miBROWNFIELD

TRI is not one of ASTM's standard regulatory record sources, so it never gets an astm_databases entry even if you screen it. RCRA's ASTM table actually has two line items (CORRACTS/TSD facilities at 1.0 mi vs. LQG/SQG generators at 0.25 mi) — EPA ECHO's RCRAFlag doesn't expose which one applies to a given facility, so this actor conservatively uses the wider 1.0 mi radius for every RCRA hit rather than guess.

Inventory-mode rows use a separate field set (epa_id, npl_status_code/npl_status_name, is_superfund, federal_facility, archived, lat/lon, etc.).

Caveats worth knowing

  • This is a screening aid, not a Phase I ESA. It does not replace a licensed environmental professional's records search — use it to triage, then order the real report on flagged properties.
  • Coverage and geocoding vary by program. Roughly 85–90% of SEMS/Superfund records nationwide have no coordinates (old archived/NFRAP sites) and can't be distance-screened, so a clear result means "no geocoded listing within radius," not a guarantee of no history. Use inventory mode with onlyWithCoords: false to see the full raw SEMS roster.
  • distance_miles is measured to a database point (often a parcel centroid or address match), not a property boundary, so treat it as approximate.
  • nearest_npl_* is the closest coordinate-mapped NPL-lifecycle SEMS site state-wide, not capped by radiusMiles — that's intentional (matches how a Phase I report states the nearest NPL site even beyond the search radius), but it means a very "far" nearest-NPL distance in a low-density state is normal, not a bug.

Pair it with state tank & spill registries

Federal EPA data is only half a Phase I records search. The companion State UST, LUST & Spill Registry Screener screens the same coordinates against state-level registries — NY DEC Spills and California GeoTracker cleanup cases (LUST, military UST, land disposal) — with case status, contaminant, and an open-case flag. Run both on a portfolio for federal + state coverage in one pass.

Use as an MCP tool

A Pay-Per-Result API discoverable to AI agents through mcp.apify.com. Hand an agent an address or a list of properties and it gets back structured multi-program environmental-risk hits, with no scraping or manual EPA lookups.

FAQ

Which databases does it search? Superfund/NPL, RCRA, TRI, UST, LUST, and Brownfields/ACRES — pick a subset via programs or leave it empty for all six.

Does this replace a Phase I ESA? No. It is a pre-screen; order a licensed Phase I ESA for anything flagged.

Can I screen a whole portfolio at once? Yes — pass as many items as you want in assets; each site hit is one row.

What are the ASTM E1527 search distances? ASTM E1527-21 (Sec. 8.2.1) sets a standard minimum radius per regulatory database that a Phase I ESA records review must cover — e.g. 1.0 mile for NPL/Superfund, 0.5 mile for LUST, 0.25 mile for UST. Set astmMode: true to get a per-asset summary row scoring this actor's databases against those distances.

Does this satisfy an ASTM E1527 records review? No. astmMode is a screening aid that approximates the standard's search-distance table against this actor's six EPA databases — it is not an ASTM E1527-21 Phase I Environmental Site Assessment and does not by itself satisfy the standard's records-review requirement. Order a licensed Phase I ESA from an Environmental Professional for anything flagged.

How is billing calculated? One dataset row per site hit (assets mode, including the optional astm_summary row when astmMode is on) or per SEMS site (inventory mode).