RCRA Enforcement Response Leads avatar

RCRA Enforcement Response Leads

Pricing

$20.00 / 1,000 enforcement opportunities

Go to Apify Store
RCRA Enforcement Response Leads

RCRA Enforcement Response Leads

Deduplicated recent RCRA enforcement actions joined to EPA's own evaluation and violation evidence, filterable by state and minimum penalty, with an optional filter for unresolved linked violations. One flat row per action, ready for CRM or Sheets.

Pricing

$20.00 / 1,000 enforcement opportunities

Rating

0.0

(0)

Developer

Luke Hunter

Luke Hunter

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Categories

Share

RCRA Enforcement Response Leads — find facilities with fresh action + unresolved linked violations

For environmental compliance consultants, remediation vendors and environmental BD teams who need fresh hazardous-waste response opportunities. One run returns EPA ECHO RCRA enforcement actions, deduplicated and joined to their linked evaluations and violations, with actions flagged where a linked violation has no source return-to-compliance date. Pay-per-result: $0.02 per delivered action — 100 leads = $2.00. Try it free with Apify's monthly platform credit.

That unresolved-linked-violation signal is the commercial shortcut: consultants, remediation/compliance vendors and environmental BD teams can focus research on recent enforcement events where the linked source record does not yet show a return-to-compliance date. It is deliberately named derivedUnresolvedLinkedViolationCount—it is a workflow signal, not a claim that a facility is currently out of compliance.

Quick start (2 minutes)

  1. Open the Input tab (no EPA account or key needed — the source is public).
  2. Use this prefill for recent Texas/Louisiana actions with unresolved linked violations:
{"lookbackDays":30,"states":["TX","LA"],"requireUnresolvedLinkedViolation":true,"minPenaltyUsd":5000,"maxItems":100}
  1. Click Start. Export the resulting shortlist to CSV/JSON, or pull it via the API into your CRM.

Why this is different

Most EPA ECHO Actors are facility searches, flat violation feeds or generic change monitors. This Actor is RCRA-specific and action-first: it joins EPA's evaluation → violation → enforcement linkage, collapses duplicate action rows, counts linked violations missing a source return-to-compliance date, and can filter to only those events. You get a shortlist for response research rather than another facility dump.

Use cases

  • Weekly consulting lead feed: schedule after EPA's weekly refresh and keep only recent actions with linked violations lacking ACTUAL_RTC_DATE.
  • Remediation/compliance BD triage: rank action-level records by unresolved-linked-violation count, recency and source-reported penalty.
  • Territory monitoring: watch selected states for new RCRA enforcement response work.
  • Evidence-backed account research: open the ECHO facility link with action, evaluation and violation context already joined.
  • Legal/risk research: analyze recent RCRA actions without mistaking a facility-level summary for the underlying linked event evidence.

How it works

EPA publishes separate RCRA Pipeline evaluation, violation and enforcement tables linked by ISN_RCR_EVAL. The Actor downloads the official ZIP, validates product-critical columns, joins those tables, groups repeated enforcement rows by ENF_KEY (with a deterministic source-fact fallback), derives unresolved-linked-violation signals from blank ACTUAL_RTC_DATE, sorts the most actionable records first, then returns at most maxItems rows.

Input

FieldDefaultMeaning
lookbackDays90Enforcement action lookback, 1–3650 days.
states[]Up to 15 two-letter activity states; empty = nationwide.
minPenaltyUsd0Minimum source-reported penalty. Positive values exclude missing penalties.
requireUnresolvedLinkedViolationfalseKeep only actions linked to ≥1 violation whose source ACTUAL_RTC_DATE is blank.
maxItems250Hard result and billing cap, max 5000.
{"lookbackDays":30,"states":["TX","LA"],"requireUnresolvedLinkedViolation":true,"minPenaltyUsd":5000,"maxItems":100}

Output

Commercially useful fields include source facts (facilityName, rcraFacilityId, enforcementActionType, enforcementActionDate, penaltyAmountUsd, linked violation/evaluation types and dates) plus explicitly derived workflow fields: derivedUnresolvedLinkedViolationCount, derivedHasUnresolvedLinkedViolation, derivedViolationCount, derivedEvaluationCount, derivedDaysSinceEnforcement, and derivedLatestEvaluationDate. Every row also carries source/provenance links and the ECHO refresh key.

Illustrative only:

{"opportunityId":"example-action","rcraFacilityId":"TXD000000001","facilityName":"EXAMPLE FACILITY","activityState":"TX","enforcementActionType":"Notice Of Violation","enforcementActionDate":"2026-09-10","penaltyAmountUsd":12500,"violationTypes":"262.A; 265.B","returnToComplianceDates":null,"derivedViolationCount":2,"derivedUnresolvedLinkedViolationCount":2,"derivedHasUnresolvedLinkedViolation":true}
FieldValue (illustrative)
facilityNameEXAMPLE FACILITY
activityStateTX
enforcementActionTypeNotice Of Violation
enforcementActionDate2026-09-10
penaltyAmountUsd12500
violationTypes262.A; 265.B
derivedUnresolvedLinkedViolationCount2
derivedHasUnresolvedLinkedViolationtrue

Source facts vs derived signals

penaltyAmountUsd, action/evaluation/violation types and dates, and ACTUAL_RTC_DATE originate in EPA data. derivedUnresolvedLinkedViolationCount counts distinct linked violation records whose source ACTUAL_RTC_DATE is blank. Blank does not prove ongoing noncompliance; it may reflect reporting timing or data quality. The Actor does not infer severity, revenue, propensity to buy, legal status or remediation need.

API usage

$curl "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=$APIFY_TOKEN" -X POST -H "Content-Type: application/json" -d '{"lookbackDays":30,"states":["TX"],"requireUnresolvedLinkedViolation":true,"maxItems":100}'

Run it weekly

EPA documents the RCRA Pipeline as weekly refreshed, with the refresh run date embedded in ISN_RCR_EVAL, so this is built for a weekly cadence:

  1. Set your states/requireUnresolvedLinkedViolation/minPenaltyUsd filters, then click Schedule on the run page (or create one under Schedules in the Apify Console).
  2. Run it weekly with a short lookbackDays (7-30) to surface fresh response-research candidates each time.
  3. Use opportunityId as your dedupe key when routing the flat output to CRM, Sheets or downstream automation.

Data source and trust

Official source: EPA ECHO RCRA Pipeline bulk download. EPA documents that the pipeline explicitly links evaluations to violations and enforcement actions through ISN_RCR_EVAL, and that the national ECHO downloads refresh weekly. Required columns are asserted so schema drift fails loudly.

Reliability

Bounded 429/5xx retry/backoff, HTTP timeout, archive byte cap, ZIP validation, strict CSV/schema checks, action deduplication and hard result cap. A zero-result run fails loudly before delivery and billing.

Pricing and cost control

One pay-per-event charge of $0.02 per delivered, deduplicated enforcement action row (enforcement-opportunity). Benchmarked 2026-09-24 against comparable EPA ECHO/RCRA Store Actors (data/market/store-2026-09-21.jsonl.gz): EPA RCRA Hazardous Waste Generator Rollup ($0.008), EPA ECHO Enforcement Scraper ($0.008), EPA ECHO Scraper - Facilities, Violations & Compliance Leads ($0.005), EPA Facility & Enforcement Scraper ($0.00999) and EPA ECHO Enforcement Scraper - Violations API ($0.05). $0.02 sits above the median of that set to reflect the multi-table join, deduplication and derived-signal work this Actor does that a flat facility/violation feed does not. Delivery is budget-aware: each batch is cut to what the run's spending limit still covers before it is pushed, so a row is never delivered without being billed for (see src/charging.js). maxItems caps output and requested billing. A zero-result run fails loudly and charges nothing.

Limitations

Public regulatory data, not legal advice. EPA/state reporting can lag. A missing ACTUAL_RTC_DATE is a source-data condition, not proof of present noncompliance. Missing penalties are null, not zero (verified live 2026-09-24: penalty amounts are populated on a small minority of rows in a typical run). Live end-to-end validation performed 2026-09-24 from GitHub Actions (this dev environment has no general egress): the EPA ZIP is reachable (~53 MB), all three pipeline tables parse with every required column present, and prefill-shaped queries return rows nationwide over 7/30/90-day windows.

FAQ

Is this another EPA facility scraper? No. The product object is a recent RCRA enforcement action with its linked evaluation/violation evidence and an optional unresolved-linked-violation workflow filter.

Does derivedHasUnresolvedLinkedViolation mean the facility is currently violating RCRA? No. It means at least one linked violation record has no source ACTUAL_RTC_DATE in the downloaded EPA data.

Why not use EPA ECHO directly? You can. This Actor is for buyers who want the multi-table join, action deduplication, commercial filtering, flat export and scheduled automation already done.

What if nothing matches? The run fails loudly and charges nothing.

Other data tools from the same developer, built to the same standard: official or public sources, hard cost caps, and honest documentation of limits.