OSHA Violations → Deal Routing Signals avatar

OSHA Violations → Deal Routing Signals

Pricing

Pay per usage

Go to Apify Store
OSHA Violations → Deal Routing Signals

OSHA Violations → Deal Routing Signals

OSHA news releases → structured deal-routing signals. Per row: company, location, incident type, penalty, pain sentence, supply category, urgency 1-5, routing thesis. Optional Apollo enrichment for decision makers. For people selling safety consulting + remediation.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Saad Belcaid

Saad Belcaid

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

a day ago

Last modified

Share

Built by Saad Belcaid.

Convert every OSHA news release into a structured deal-routing signal. Each row tells you who the company is, what happened, why timing matters, and what kind of supplier to route them to.

For SSM members selling safety consulting, remediation, risk management, regulatory compliance, or post-incident services to companies that just got cited by OSHA.


The dumb-simple version

OSHA publishes a press release every time it cites a company for a serious safety incident — fatality, fall, trench collapse, chemical exposure, repeated/willful violations, etc. The release names the company, the location, the penalty, and the incident.

A company that just got cited is in immediate crisis mode. Within 30 days they are calling safety consultants, lawyers, and remediation firms. The 30-90 day window after the citation is the highest-conversion window for selling them safety services.

This scraper turns each OSHA press release into one row with 17 fields, including:

  • Company name + location
  • Exact incident type (mapped to a defined taxonomy)
  • Penalty amount
  • Pain sentence (the most operationally vivid quote)
  • Urgency score 1–5
  • Likely supply category (which type of consultant to route them to)
  • Suggested decision makers (named contacts via Apollo, or generic role-based suggestions)
  • Routing thesis (one-line CRM-ready justification)

On decision makers (the question you asked)

OSHA press releases do NOT name company decision makers. They name OSHA's own media contacts. So the scraper has two paths:

Path A — generic role-based suggestions (default, free): Every row gets a list of likely buyer titles based on the incident type:

  • Fatality / willful → COO, CEO added to the top
  • Explosion / combustible dust → Process Safety Director, Director of Operations
  • Trench collapse → Construction Safety Manager, Project Director
  • Plus base titles: EHS Director, VP Operations, Plant Manager, Safety Manager, General Counsel

These are generic but operationally accurate — these ARE the roles that buy safety consulting at US industrial cos.

Path B — Apollo-enriched named contacts (paste an Apollo key): Each company gets enriched via Apollo's free mixed_people/search endpoint, filtered to the safety-buyer titles above. You get the actual NAMED person at that company plus their LinkedIn URL where available.

Pass apolloApiKey in the input to enable Path B. Apollo's free tier is enough for most runs.


Volume

OSHA's accessible news archive is ~240 releases visible at any time (pagination caps around page 12). A full run pulls all 240 and classifies them.

Each release is a high-signal lead — these companies just got cited.


Max-value playbook

Default — pull everything once

maxReleases: 500
maxPages: 30
minUrgency: 1

Hit run. Wait ~2–3 min. Get ~200 OSHA-cited companies with full classification.

Filter recipes

Auriel-style hottest leads — fatalities + willful violations:

requireFatality: true
requireWillful: true
minUrgency: 5

Returns ~10–30 ultra-high-urgency cases.

Big penalties only ($100K+):

minPenaltyUsd: 100000

Apollo-enriched run with named decision makers:

apolloApiKey: "YOUR_APOLLO_KEY"

Each row's suggested_decision_makers becomes named people instead of generic roles.

Just trench-collapse cases (for a trench safety consultant): After scrape, filter the dataset by incident_types contains "trench-collapse". The supply mapping already routes these to trench-safety-consultant.


Output — one row per OSHA citation

FieldExample
source_urlhttps://www.osha.gov/news/newsreleases/atlanta/20260424
titleUS Department of Labor cites Florida roofing company for willfully exposing workers to safety hazards…
published_date2026-04-24
company_nameMax Home Services LLC
location_cityFort Lauderdale
location_stateFL
incident_types["fatality", "fall", "willful-violations", "severe-injury"]
penalty_amount_usd172324
penalty_amount_text$172,324 in penalties
violation_types["willful", "serious"]
fatality_or_injury_mentionedtrue
fatality_count1
serious_injury_count1
short_summaryFirst 600 chars of the body
exact_pain_sentence"two workers from Max Home Services LLC...were installing tarp when they slipped from the roof into an empty pool"
likely_supply_categories["fall-protection-consultant", "osha-safety-consultant", "workplace-safety-remediation-consultant"]
suggested_supply_search_query"fatality consultant" FL (NOT "Max Home Services LLC")
suggested_decision_makers[{ name: "Jane Doe", title: "EHS Director", source: "apollo", linkedin_url: "..." }, ...]
company_size51-200 (Apollo)
company_domainmaxhomeservices.com (Apollo)
urgency_score5
routing_thesis"Max Home Services LLC (Fort Lauderdale, FL) cited willful + serious violations involving 1 serious injury, $172,324 penalty, incident type: fatality, fall. fresh — within last 30 days. Urgency 5/5. Best-fit supply: fall protection consultant."
release_number26-415-ATL (158)
osha_regionatlanta

Incident taxonomy

Detected from title + body using regex against a curated keyword set:

TagCatches
fatalityfatal injury, died, death, killed
severe-injuryserious injury, severe injury, hospitalized
fallfall protection, fall from, slipped from roof, unprotected edge
amputationamputation, severed finger/hand/arm/leg/foot
trench-collapsetrench collapse, cave-in, excavation collapse
explosionexplosion, blast, detonation
firefire, blaze, combustion
confined-spaceconfined space, permit-required space, oxygen-deficient
chemical-exposurechemical exposure, hazardous chemical, hazard communication
combustible-dustcombustible dust, dust deflagration
machine-guardingmachine guarding, unguarded machine, point of operation
lockout-tagoutlockout/tagout, LOTO, energy control
electrocutionelectrocuted, electrical shock, energized circuit
heat-illnessheat illness, heat stroke, heat exposure
crushing-struck-bystruck-by, crushed by, caught-in-between
repeat-violationsrepeat violation, similar citations previously
willful-violationswillfully violated, X willful violations

Supply-category mapping

Every incident type maps to one or more supply categories the operator should route to:

IncidentSupply categories
fatality / severe-injuryosha-safety-consultant, workplace-safety-remediation-consultant
fallfall-protection-consultant, osha-safety-consultant
trench-collapsetrench-safety-consultant
explosionprocess-safety-consultant, fire-safety-consultant, hazmat-safety-consultant
combustible-dustcombustible-dust-consultant, fire-safety-consultant, process-safety-consultant
chemical-exposurehazmat-safety-consultant, process-safety-consultant
confined-spaceconfined-space-consultant
machine-guardingmachine-guarding-consultant
lockout-tagoutlockout-tagout-consultant
electrocutionelectrical-safety-consultant
repeat-violations / willful-violationsworkplace-safety-remediation-consultant

Urgency scoring (1–5)

ScoreMeans
5Fatality OR willful + serious + recent
4Severe injury OR explosion OR amputation
3Trench collapse OR combustible dust
2Active citation, no fatality
1Stale or low-severity case

Boosters: willful (+1), repeat (+1), $100K+ penalty (+1). Decay: 180+ days old (–1), 365+ days old (–2).


Architecture

  • Apify Actor, TypeScript, pure HTTP (no Playwright needed)
  • Source: osha.gov/news/newsreleases — paginated server-rendered HTML
  • Per-release parser: regex-based extraction for all 17 fields
  • Optional Apollo enrichment via mixed_people/search (free endpoint)
  • Bounded concurrency (default 6) for fast batch fetching

Costs

  • OSHA: free (US Government public data)
  • Apollo (optional): free tier sufficient
  • Apify compute: ~2–3 min × 256 MB ≈ trivial CU

Connector OS Station integration

Pipe the dataset into Station as the demand side — companies that just got cited and need safety help. Pair with your supply-side scraper of safety consultants (or use SSM members' supply networks). The routing_thesis field plugs straight into the I Layer for evaluation, the likely_supply_categories narrow the match space, and urgency_score becomes the priority signal.

Flow: scrape → dataset → paste dataset ID into Station → match against your supply → scored introductions.


OSHA news data is US Government public record. Apollo enrichment uses your own key.