OSHA Violation Risk & Time-Series avatar

OSHA Violation Risk & Time-Series

Pricing

$0.02 / employer risk report

Go to Apify Store
OSHA Violation Risk & Time-Series

OSHA Violation Risk & Time-Series

Turn any US employer's OSHA inspection history into a risk score, repeat-offender flag, and violation time-series — severity-weighted, auditable, and tracked over time.

Pricing

$0.02 / employer risk report

Rating

0.0

(0)

Developer

ByteMe

ByteMe

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Pain points

  • OSHA's IMIS database has 5M+ inspections and 13M+ violations, but no risk score — you read raw citations by hand.
  • Underwriters and due-diligence teams need a defensible safety-risk signal per employer, not a pile of citation rows.
  • Spotting repeat offenders and whether violations are trending up requires manually stitching years of inspections together.

What we solve

  • Pull every OSHA inspection for an employer and its citations (gravity, penalties, standards, dates).
  • Compute a deterministic, auditable 0-100 risk score weighted by violation severity and recency.
  • Flag repeat offenders, chart violations over time, and label the trend (rising / flat / falling).
  • Run on a schedule to catch new inspections, new violations, and risk-score changes.

Summary

Give it a US employer name and get back an OSHA safety-risk report: every inspection and citation (gravity, penalty, standard, dates) rolled up into a deterministic, auditable risk score (0-100, severity-weighted and recency-decayed), a repeat-offender flag, total penalties, and a violations-over-time series with a rising/flat/falling trend. Built on OSHA's public IMIS data — no scraping fragility, no anti-bot. Run it on a schedule and it also reports what changed since last time: new inspections, new violations, and risk-score movement. Built for safety consultants, insurance underwriters, and supply-chain due-diligence.

Who it's for

  • Insurance underwriters pricing workers'-comp and liability risk
  • Safety consultants and EHS teams benchmarking employers
  • Supply-chain and vendor due-diligence teams
  • Investors and M&A diligence screening for safety liabilities

How to use

Set the input, run the actor, and collect results from the run's dataset (export to JSON/CSV/Excel, or pull via the Apify API). Example input:

{
"employers": [
"Dollar General"
],
"maxInspectionsPerEmployer": 25,
"compareToPrevious": true
}

See Inputs below for every available field.

What you get

One row per record:

FieldDescription
queryThe employer name you searched
risk_scoreDeterministic 0-100 severity-weighted, recency-decayed risk score
risk_bandlow / medium / high
repeat_offenderTrue if any Repeat-gravity violations
trendrising / flat / falling (recent vs prior 2-year windows)
by_gravityViolation counts by OSHA gravity (willful/repeat/serious/other)
total_current_penaltySum of current penalties (USD)
violation_time_seriesViolations + penalty per year
inspection_count / violation_countTotals analyzed
inspectionsPer-inspection detail including each citation
new_inspections / new_violations / risk_score_deltaWhat changed since the previous run (monitoring)
source_urlThe OSHA search this report came from

Sample:

{
"query": "Dollar General",
"state": null,
"establishments": [
"Dollar General Store 12345"
],
"inspection_count": 2,
"violation_count": 2,
"by_gravity": {
"serious": 2
},
"total_current_penalty": 14000,
"total_initial_penalty": 14000,
"risk_score": 21,
"risk_band": "medium",
"repeat_offender": false,
"trend": "falling",
"violation_time_series": [
{
"year": 2024,
"violations": 2,
"penalty": 14000
}
],
"first_seen": false,
"new_inspections": 0,
"new_violations": 0,
"risk_score_delta": 0,
"source_url": "https://www.osha.gov/ords/imis/establishment.search?establishment=Dollar+General&state=all"
}

Inputs

FieldRequiredTypeDefaultDescription
employersyesarray["Dollar General"]US employer / company names to analyze (e.g. 'Dollar General'). One risk report per name, aggregating all of that employer's OSHA inspections.
statenostringOptional two-letter state code (e.g. 'TX') to limit inspections to that state. Leave empty for nationwide.
maxInspectionsPerEmployernointeger25Cap on inspections pulled per employer (most-recent first). Each inspection is one detail fetch; higher = more complete history, slower run.
compareToPreviousnobooleantrueWhen on (default), diff each employer against the previous run and report what changed — new inspections, new violations, risk-score delta. Run on a schedule to track employers over time.
proxyConfigurationnoobject{"useApifyProxy": false}Optional. OSHA's public site is reachable directly; a proxy is rarely needed.

Pricing (Pay Per Event)

You pay per result (dataset-item) — no charge for empty runs. Example: 100 employer risk reports at $0.02/result$2.00.

One charge per employer risk report produced. Employers with no OSHA inspections found are returned empty and not charged. Apify platform usage (compute) is billed separately per your plan.

Use cases

  • Underwriting risk signal — get a defensible, auditable safety-risk score per employer.
  • Vendor due diligence — screen suppliers for repeat OSHA violations before contracting.
  • Safety benchmarking — compare employers' violation history and penalty totals.
  • Monitoring — run weekly to catch new inspections and rising risk on watched employers.

Why this actor

  • A risk score, not raw citations — severity-weighted, recency-decayed, and fully auditable (the formula is documented).
  • Repeat-offender flag, penalty totals, and a violations-over-time trend in one report.
  • Built on OSHA's public data — no anti-bot fragility — and tracks what changes over time.

Limitations & updates

Covers OSHA federal and state-plan inspection data exposed in the public IMIS establishment search. Establishment names in OSHA data are per-inspection and inconsistent, so reports aggregate at the employer-query level (use the state filter to narrow). The risk score reflects recorded violations only — not unreported hazards — and is a relative signal, not a regulatory determination.

FAQ

Where does the data come from?

OSHA's public IMIS enforcement database (inspections + citations). Public data, no login required.

How is the risk score calculated?

A deterministic formula: violations weighted by OSHA gravity (Willful > Repeat > Serious > Other) and decayed by recency, scaled to 0-100. It's reproducible and auditable — the same history always yields the same score.

What counts as a repeat offender?

Any employer with one or more citations OSHA classified as 'Repeat' gravity.

Can I limit to one state?

Yes — pass a two-letter state code to restrict the inspections analyzed; leave it empty for nationwide.

How am I charged?

Per employer risk report produced. Employers with no inspections found are returned empty and not charged.

Can it track changes over time?

Yes — run on a schedule and it reports new inspections, new violations, and risk-score movement since the previous run.