USA OSHA Contractor Risk Lead Finder
Pricing
from $2.00 / 1,000 osha risk leads
USA OSHA Contractor Risk Lead Finder
Find U.S. contractor employers in public OSHA inspection data and rank safety, insurance, and vendor-risk leads with violations, penalties, risk scores, and CRM notes.
Pricing
from $2.00 / 1,000 osha risk leads
Rating
0.0
(0)
Developer
SignalCrawl
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Find US contractor employers in public OSHA inspection and enforcement records, then rank them as safety consulting, insurance loss-control, and vendor-risk leads.
This Actor queries official OSHA IMIS Establishment Search pages on osha.gov, parses inspection result tables, optionally opens each inspection detail page, and returns normalized OSHA risk leads with citations, penalties, flags, scoring, notes, source URLs, and stable dedupe keys.
Pricing Target
Target pricing: $2.00 per 1,000 OSHA risk leads.
Primary event: OSHA risk lead.
Why Use This Actor
OSHA data is public, but it is not packaged for sales, underwriting, or vendor monitoring workflows. This Actor turns official inspection pages into dedupe-ready leads that can be routed into a CRM, spreadsheet, risk engine, or AI workflow.
Use it to:
- Find contractors with recent OSHA inspections by trade, state, NAICS, or SIC.
- Prioritize employers with violations, serious/repeat/willful flags, or higher penalties.
- Build safety consultant outreach lists.
- Trigger insurance loss-control reviews.
- Monitor contractor/vendor risk before onboarding or renewal.
- Run recurring searches and dedupe by OSHA inspection number.
Data Source
The Actor uses official OSHA/DOL public pages:
- OSHA Establishment Search:
https://www.osha.gov/ords/imis/establishment.search - OSHA Inspection Detail:
https://www.osha.gov/ords/imis/establishment.inspection_detail
OSHA states that IMIS data is updated over time and that open cases are especially dynamic. Treat scores and notes as prioritization signals, not legal conclusions.
Input
{"searchTerms": ["roofing", "excavation", "concrete"],"states": ["TX", "FL"],"naicsCodes": ["23"],"startDate": "2024-05-20","endDate": "2026-05-20","caseStatus": "all","violationStatus": "both","contractorsOnly": true,"includeDetails": true,"minRiskScore": 0,"maxItems": 100,"maxPagesPerQuery": 2,"pageSize": 20}
Input Options
| Field | Type | Description |
|---|---|---|
searchTerms | array | Establishment terms searched on OSHA, such as roofing, excavation, electrical contractor, or concrete. |
states | array | State abbreviations. Leave empty for all states. |
naicsCodes | array | Optional parsed NAICS prefix filters, such as 23 or 238160. |
sicCodes | array | Optional parsed SIC prefix filters. |
startDate | string | Inspection start date, YYYY-MM-DD or MM/DD/YYYY. |
endDate | string | Inspection end date, YYYY-MM-DD or MM/DD/YYYY. |
caseStatus | string | all, open, or closed. |
violationStatus | string | both, yes, or no. |
contractorsOnly | boolean | Keeps parsed NAICS codes starting with 23 when a NAICS code is available. |
includeDetails | boolean | Opens OSHA detail pages for city, address, citation flags, and penalties. |
minRiskScore | integer | Save only leads with risk score at or above this value. |
maxItems | integer | Maximum unique leads to save. |
maxPagesPerQuery | integer | OSHA result pages per search term/state pair. |
pageSize | integer | OSHA rows requested per result page. |
Output
{"platform": "osha.gov","source": "OSHA IMIS Establishment Search","employerName": "Acme Roofing LLC","state": "TX","city": "Plano","siteAddress": "Acme Roofing LLC, 1250 Industrial Blvd, Plano, TX 75023","naics": "238160","naicsDescription": "Roofing Contractors","sic": null,"sicDescription": null,"inspectionId": "1850882.015","activityNumber": "1850882.015","openDate": "2025-08-20","caseStatus": "OPEN","inspectionType": "Referral","scope": "Partial","violationCount": 3,"serious": true,"repeat": false,"willful": false,"currentPenalty": 7946,"initialPenalty": 7946,"penaltyScore": 52,"riskScore": 86,"safetyConsultantNote": "Acme Roofing LLC in Plano, TX has 3 OSHA violation(s) tied to serious citation; review fall protection, training, and jobsite controls before outreach.","insuranceNote": "Use OSHA inspection 1850882.015 as a loss-control trigger; current penalty signal is $7,946 and risk score is 86/100.","vendorRiskNote": "Vendor risk review should verify corrective actions, citation status, EMR/loss runs, and subcontractor safety controls for Acme Roofing LLC.","matchedTerm": "roofing","dedupeKey": "osha:1850882.015","url": "https://www.osha.gov/ords/imis/establishment.inspection_detail?id=1850882.015","sourceUrl": "https://www.osha.gov/ords/imis/establishment.inspection_detail?id=1850882.015","sourceSearchUrl": "https://www.osha.gov/ords/imis/establishment.search?...","scrapedAt": "2026-05-20T00:00:00+00:00"}
Scoring
penaltyScore is based on the highest parsed current or initial OSHA penalty total for the inspection.
riskScore combines:
- Violation count.
- Serious, repeat, and willful citation flags.
- Inspection type signals such as complaint, referral, accident, fatality/catastrophe, or planned inspection.
- Inspection scope.
- Penalty score.
The score is intentionally transparent and deterministic so users can sort, filter, and override it downstream.
Common Run Patterns
Roofing fall protection outreach:
{"searchTerms": ["roofing", "fall protection"],"states": ["TX", "FL"],"naicsCodes": ["238160"],"violationStatus": "yes","includeDetails": true,"minRiskScore": 55}
Excavation insurance watchlist:
{"searchTerms": ["excavation", "trenching", "site work"],"states": ["CA", "AZ", "NV"],"naicsCodes": ["238910"],"includeDetails": true,"minRiskScore": 45}
Vendor-risk construction screening:
{"searchTerms": ["construction", "concrete", "electrical contractor"],"states": [],"naicsCodes": ["23"],"violationStatus": "yes","contractorsOnly": true,"minRiskScore": 60}
Notes And Limitations
- This Actor uses public OSHA pages and does not require private credentials.
- OSHA result pages are HTML, not a stable JSON API; parsing is defensive and may need maintenance if OSHA changes page layout.
- OSHA indicates that open cases can change and citation details may lag.
- Employer names can be similar; verify address and inspection detail before taking action.
- Risk notes are workflow aids for lead prioritization, insurance review, and vendor-risk triage, not legal advice.
Local QA
python tests/qa_harness.pypython -m compileall src tests
The QA harness covers result table parsing, detail page parsing, penalty aggregation, score creation, filter logic, and JSON schema/example validity.