New OSHA Inspection Leads 🦺 (within 2 days of opening) avatar

New OSHA Inspection Leads 🦺 (within 2 days of opening)

Pricing

from $3.50 / 1,000 inspection founds

Go to Apify Store
New OSHA Inspection Leads 🦺 (within 2 days of opening)

New OSHA Inspection Leads 🦺 (within 2 days of opening)

Every new US OSHA workplace-safety inspection, usually within a day or two of it opening: establishment, site address, city, state, NAICS industry, inspection type and scope, and the OSHA office running it. Monitor mode returns only inspections new since your last run, with a Slack digest.

Pricing

from $3.50 / 1,000 inspection founds

Rating

0.0

(0)

Developer

Tagada Data

Tagada Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

New OSHA Inspection Leads

Every new US workplace-safety inspection OSHA opens, usually within a day or two of the inspector walking in. You get the establishment, the site address, the industry, the type of inspection and the OSHA office running it, as one clean row per inspection. Run it on a schedule and it hands you only the inspections that are new since your last run.

This sells new inspections, not penalties. An inspection appears on osha.gov within 0 to 2 days of opening, while citations and dollar amounts are only posted 30 days after the employer receives them, and the case often stays open for months. If a company is being inspected today, this is where you find out today. Penalties are in the record too, and they fill in later when OSHA publishes them.

Federal OSHA and all 22 state-plan agencies (Cal/OSHA, WA DOSH, Oregon OSHA, Michigan MIOSHA and the rest), 55 states and territories in total. No API key, nothing to sign up for. You only pay for inspections you actually get back.

Who uses this

  • Safety consultants and EHS firms. A company that just got inspected is a company that suddenly needs a safety audit, training or an abatement plan. The inspection type tells you why: a complaint, a referral, a fatality.
  • Workers' comp and liability insurers. New inspection activity in a book of business, or a portfolio-wide watch on high-hazard NAICS codes, weeks before any penalty is public.
  • Workplace safety and employment lawyers. Fatality and catastrophe inspections, filtered to a state and an industry, the day they open.
  • Industrial hygiene, fall protection and PPE suppliers prospecting into construction, manufacturing and warehousing right when a site is under scrutiny.
  • Risk and compliance teams monitoring their own sites, contractors and suppliers without refreshing osha.gov by hand.

Pair it with our US WARN Layoff Monitor if you sell into the same buyers: WARN tells you which employers are shrinking, this one tells you which are under a safety inspection. Same states, same clean schema, same monitor mode.

What you get

One record per inspection:

FieldDescription
inspectionNumberOSHA inspection number, e.g. 1907491.015
openedDateDate the inspection was opened
companyEstablishment inspected
siteAddress, siteCity, siteState, siteZipThe inspected site
mailingAddressThe employer's mailing address, often a different HQ
state, stateCodeState the site is in
officeName, officeCodeOSHA area, district or state-plan office running it
inspectionTypeAs OSHA labels it: Fat/Cat, Complaint, Referral, Planned, FollowUp, Unprog Rel
inspectionCategoryThe same in plain words: fatality-catastrophe, complaint, referral, planned, follow-up, other
scopeComplete, Partial or Records
safetyHealthSafety or Health inspection
ownershipPrivate, Local Government, State Government, Federal
unionStatusUnion or NonUnion site
emphasisNational and local emphasis programs that triggered it, e.g. N:Fall
naicsCode, naicsTitleIndustry, e.g. 238160 / Roofing Contractors
sicCodeLegacy SIC code, where OSHA still records one
caseStatusOPEN or CLOSED
closeConference, caseClosedDateClosing conference date, and the date the case closed
totalViolations, seriousViolations, willfulViolations, repeatViolations, otherViolationsViolation counts, once cited
initialPenalty, currentPenaltyProposed and current penalty in USD, once cited
sourceUrlThe OSHA inspection detail page
isNewIn monitor mode, whether this inspection is new since the last run

Sample row, a Cal/OSHA heat-illness inspection of a farm, captured the day after it opened:

{
"inspectionNumber": "1909379.015",
"openedDate": "2026-08-05",
"company": "Victors Grove Services Inc",
"siteAddress": "Victors Grove Services Inc, 74th Avenue & Polk Street",
"siteCity": "Thermal",
"siteState": "CA",
"siteZip": "92274",
"mailingAddress": "31560 Via Del Paso, Winchester, CA 92596",
"stateCode": "CA",
"state": "California",
"officeCode": "0950694",
"officeName": "El Centro Agricultural Enforcement Task Force District Office",
"inspectionType": "Planned",
"inspectionCategory": "planned",
"scope": "Complete",
"safetyHealth": "Health",
"ownership": "Private",
"unionStatus": "NonUnion",
"advancedNotice": "N",
"emphasis": "P:Aetf, N:Heatnep, S:Aetf, S:Heatsep-Outdoor",
"naicsCode": "111219",
"naicsTitle": "Other Vegetable (except Potato) and Melon Farming",
"sicCode": null,
"caseStatus": "OPEN",
"closeConference": null,
"caseClosedDate": null,
"totalViolations": null,
"seriousViolations": null,
"willfulViolations": null,
"repeatViolations": null,
"otherViolations": null,
"initialPenalty": null,
"currentPenalty": null,
"sourceUrl": "https://www.osha.gov/ords/imis/establishment.inspection_detail?id=1909379.015",
"isNew": null,
"retrievedAt": "2026-08-07T00:35:29.849Z"
}

The nulls on that row are not missing data, they are the point: the inspection opened the day before, so no citation exists yet. Rows for closed cases carry the full violation counts and both penalty figures.

Input examples

Every construction inspection opened in Texas in the last week:

{
"states": ["TX"],
"sinceDays": 7,
"naicsPrefixes": ["23"],
"maxInspections": 200
}

A daily fatality and catastrophe watch across the Gulf states, alerting Slack:

{
"states": ["TX", "LA", "MS", "AL", "FL"],
"inspectionTypes": ["fatality-catastrophe"],
"sinceDays": 3,
"monitorMode": true,
"webhookUrl": "https://hooks.slack.com/services/XXX/YYY/ZZZ"
}

One metro only, by OSHA office, complaints and referrals:

{
"offices": ["626600", "626700"],
"inspectionTypes": ["complaint", "referral"],
"sinceDays": 30
}

Watch named companies anywhere in California, including closed cases with penalties:

{
"states": ["CA"],
"keywords": ["Amazon", "Tesla"],
"sinceDays": 365,
"caseStatus": "closed"
}

How monitor mode works

Turn on monitorMode and schedule the actor, daily is typical. The first run returns up to maxInspections from your look-back window and treats the rest of that window as history. Every run after that returns, and charges for, only inspections it has never reported, and posts them to your webhook if you set one. A daily run costs you the handful of new inspections in your states, not the whole window again.

The memory is per actor, kept in a named key-value store, so it survives across runs and across schedules.

Choosing states or offices

states is what most people want: pick the states you sell into and the actor sweeps every OSHA office that works there, federal or state-plan.

offices is for narrowing to a metro. OSHA's field structure is area offices (Houston North, Houston South, Fort Worth) and state-plan district offices, and the dropdown gives you all of them with their codes. When you set offices, only those offices are swept; a states list set alongside it still filters the results, which is useful for the handful of offices that straddle a state line.

Frequently asked questions

How fresh is the data? OSHA publishes an inspection 0 to 2 days after it opens. A run logs the exact date OSHA says its data is current through, so you always know.

Does this include penalty amounts? Yes, when they exist. They usually do not exist yet on a new inspection: OSHA posts citations 30 days after the employer receives them, and many cases stay open for months. Set caseStatus to closed and a long sinceDays if what you want is settled cases with final penalties.

Does it cover state-plan states like California, Washington and Michigan? Yes. Cal/OSHA, WA DOSH, Oregon OSHA, MIOSHA, MNOSHA, NC DOL, Puerto Rico and the rest all report into the same OSHA database, and all 55 states and territories are covered.

Do I need an API key or a DOL account? No. The DOL's own inspection API is key-gated and its bulk CSV files were retired; this actor reads OSHA's public establishment search instead, so there is nothing to register for.

Can I filter by industry? Yes, with naicsPrefixes. Prefixes match from the left, so 23 gets all of construction, 2381 gets foundation and structure contractors, 238160 gets roofing only.

How do I find inspections of one specific company? Put the name in keywords and widen sinceDays. Keywords match the establishment name, city, street address and industry title.

What is the difference between an inspection type and a category? inspectionType is OSHA's own label, which is terse (Fat/Cat, Unprog Rel). inspectionCategory is the same information in words you can filter and report on. The inspectionTypes input filters on the category.

Why does one inspection number end in .015? That is how OSHA keys its inspection records. It is kept exactly as published so the number matches OSHA's own pages and any other OSHA data you hold.

Is this legal to use for prospecting? It is US federal and state public enforcement data, published by OSHA for public inspection. It is establishment data, not personal data.


OSHA inspection scraper, OSHA inspection data, OSHA enforcement data, workplace safety leads, OSHA violations by company, OSHA inspection search, safety consultant leads, EHS lead generation, OSHA fatality inspections, Cal/OSHA inspections, OSHA establishment search API, OSHA citations and penalties.