BLS Labor Statistics Scraper avatar

BLS Labor Statistics Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
BLS Labor Statistics Scraper

BLS Labor Statistics Scraper

Scrape US Bureau of Labor Statistics (BLS) employment, unemployment, and wage data by industry sector and state. Free government API, no authentication required.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

OSHA Inspection & Violation Scraper

Scrape OSHA (Occupational Safety and Health Administration) inspection and violation records from osha.gov's public Establishment Search tool. Search inspections by company name, US state, or ZIP code; search violations/citations the same way. No authentication required.

What this actor does

This actor drives OSHA's own public Establishment Search tool to retrieve:

  • Inspections: Search OSHA inspection records by establishment name, US state, or site ZIP code
  • Violations: Search citation/violation records for the same inspections — penalty amounts, standards cited, and case status

Input

FieldTypeDefaultDescription
modestringsearchInspectionssearchInspections (one record per inspection) / searchViolations (one record per citation)
establishmentNamestringAmazonCompany/establishment name (partial match)
statestringCATwo-letter US state code, or "All States"
zipCodestringSite ZIP code
inspectionTypestring– (all)A Planned, B Complaint, C Referral, D Follow-up, E Accident, F Fatality/Catastrophe, V Program Related
caseStatusstringallall / open / closed
violationsExiststringallall / yes / no — inspections with or without citations
dateFrom / dateTostringInspection-opened date range (YYYY-MM-DD)
maxItemsint50Hard cap on emitted records (1–2000)

At least one of establishmentName, state, or zipCode is required — this mirrors OSHA's own search tool, which needs one of these to run a query at all.

Example: search inspections for a company in a state

{
"mode": "searchInspections",
"establishmentName": "Amazon",
"state": "CA",
"maxItems": 20
}

Example: find violations/citations for a company

{
"mode": "searchViolations",
"establishmentName": "Tesla",
"violationsExist": "yes",
"maxItems": 50
}

Example: accident inspections nationwide in a date range

{
"mode": "searchInspections",
"establishmentName": "Amazon",
"inspectionType": "E",
"dateFrom": "2023-01-01",
"dateTo": "2024-12-31"
}

Output

Inspection records (mode=searchInspections)

FieldDescription
inspectionIdOSHA inspection activity number
establishmentNameName of the inspected business
state / city / zipCodeSite location
naicsCode / industryNAICS industry code and description
sicCodeSIC code, when OSHA publishes one for this inspection
inspectionDateDate the inspection was opened (YYYY-MM-DD)
closeCaseDateDate the case was closed, if closed
inspectionTypePlanned, Complaint, Referral, Follow-up, Accident, Fatality/Catastrophe, Program Related
scopeComplete, Partial, or Records Only
caseStatusOpen or Closed
unionStatusUnion/non-union status
ownershipPrivate, State, Federal, etc.
safetyOrHealthWhether the inspection covered Safety or Health
oshaOfficeThe OSHA area/district office that conducted the inspection
reportIdOSHA regional/office report ID
totalViolationsCountTotal current citations for this inspection
seriousViolations / willfulViolations / repeatViolations / otherViolations / unclassifiedViolationsCitation counts by category (only categories with a nonzero count are included)
penaltyAmountTotal current penalty amount (USD)
initialPenaltyAmountTotal penalty as originally assessed, before any reductions (USD)
reportUrlDirect OSHA inspection detail page URL
scrapedAtISO timestamp of when the record was scraped

Violation records (mode=searchViolations)

FieldDescription
inspectionId / establishmentName / stateThe parent inspection
citationIdCitation ID within the inspection
violationTypeSerious, Willful, Repeat, Other, or Unclassified
standardCitedThe OSHA standard reference cited
issuanceDateDate the citation was issued
abatementDueDateDate the violation was due to be corrected
currentPenalty / initialPenalty / ftaPenaltyPenalty amounts (USD) — current, as originally assessed, and Failure-to-Abate
contestDateDate the citation was contested, if applicable
latestEventMost recent case event (e.g. settlement, ALJ order)
noteAny additional note OSHA publishes for this citation
reportUrlDirect OSHA inspection detail page URL
scrapedAtISO timestamp of when the record was scraped

Example Output (inspection)

{
"inspectionId": "1780602.015",
"establishmentName": "Amazon Vupc",
"state": "CA",
"city": "Ontario",
"zipCode": "91762",
"naicsCode": "493110",
"industry": "General Warehousing and Storage",
"inspectionDate": "2024-10-09",
"inspectionType": "Complaint",
"scope": "Partial",
"caseStatus": "CLOSED",
"unionStatus": "NonUnion",
"ownership": "Private",
"safetyOrHealth": "Health",
"oshaOffice": "Monrovia District Office",
"reportUrl": "https://www.osha.gov/ords/imis/establishment.inspection_detail?id=1780602.015",
"recordType": "inspection",
"scrapedAt": "2026-08-10T05:00:00+00:00"
}

Use cases

  • Vendor & contractor due diligence — confirm a company's OSHA inspection and citation history before engaging them
  • Compliance monitoring — track new inspections or citations for companies you monitor
  • Safety research — study inspection outcomes, penalty amounts, or citation patterns by industry or state
  • Journalism & advocacy — investigate workplace-safety enforcement trends at specific employers

Frequently Asked Questions

Is authentication required? No. OSHA's Establishment Search tool is public and does not require any API key or credentials.

How many records can I retrieve? Up to 2,000 records per run using the maxItems parameter. For larger datasets, run multiple times with different filters.

Why don't some inspections have violation counts or penalty fields? Not every inspection results in a citation — those fields are only populated when OSHA's own system reports a violation for that inspection. The actor never fabricates a value.

Can I filter by both company and state? Yes — combine establishmentName and state (or zipCode) to narrow results.

What is the difference between searchInspections and searchViolations? searchInspections returns one record per inspection, including violation counts and total penalty. searchViolations returns one record per individual citation, with the specific OSHA standard cited and its own penalty breakdown — only inspections that actually have citations produce searchViolations records.

How current is the data? OSHA's Establishment Search tool states it reflects inspection data through the most recent database refresh (typically within the last few days).

Data Source

Data is sourced from OSHA's own public Establishment Search tool at osha.gov/ords/imis, operated by the U.S. Department of Labor's Occupational Safety and Health Administration. The older enforcedata.dol.gov API this actor previously referenced has been fully decommissioned by DOL; osha.gov's Establishment Search is the current, actively-maintained successor and is what this actor uses.