OSHA enforcement data · one API

Any business name in.
Its safety record out.

One call resolves a messy company name to its OSHA history — inspections, violations, penalties, and worker fatalities. Built for insure-tech teams pricing workers'-comp and commercial risk.

4M+ establishments Federal + state-plan Updated daily
GET /v1/osha/establishments/search
Live OSHA data · no key needed
Press Run lookup to query the live dataset — top 3 matches.
Why ComplyLedge

Underwriting-grade OSHA risk data — resolved, corrected, ready to query.

Three problems sit between the raw federal records and a risk number you can underwrite on. We solve all three, so you integrate once and price with confidence.

01 · RESOLVE

One business, one stable id

Fuzzy-match a name (and optional address) to a durable establishment_id, then pull the full profile. Store the id once and re-query the same site at every renewal — no re-matching, no drift.

02 · CORRECT

Corrected, not just copied

The raw records mislead in three ways we fix before you ever see the record:

  • Vacated citations excluded — you never price on penalties that were withdrawn on appeal.
  • Fatalities counted per injury — the accurate grain, ~18% more complete than inspection-level counts.
  • Federal and state-plan — the ~22 states OSHA doesn't run directly, included, not dropped.
03 · SHIP

Key in minutes, not quarters

One clean endpoint, a confidence score on every match, daily freshness, and transparent usage-based pricing. Sign up and get your first response in minutes — self-serve, no procurement cycle.

The call

Resolve, then retrieve.

Two endpoints. The first finds the establishment and scores the match; the second returns its full compliance profile.

1 — Resolve a name to candidates

# GET /v1/osha/establishments/search
curl -sG $API/v1/osha/establishments/search \
  -H "Authorization: Bearer $KEY" \
  --data-urlencode "name=BP Products North America" \
  --data-urlencode "state=TX"

Response — ranked candidates, each scored

{
  "query": { "name": "bp products north america", "state": "TX" },
  "results": [
    {
      "establishment_id": "est_0a70f12d…",        // carry this into call 2
      "establishment_name": "BP PRODUCTS NORTH AMERICA, INC.",
      "address": { "city": "TEXAS CITY", "state": "TX" },
      "inspection_count": 36,
      "violation_count": 772,
      "match_confidence": 1.0,
      "match_type": "exact_name"     // … full rollup on every result
    },
    {
      "establishment_id": "est_5b31c9a4…",
      "establishment_name": "BP PIPELINES (NORTH AMERICA) INC.",
      "address": { "city": "HOUSTON", "state": "TX" },
      "match_confidence": 0.61,       // looser name → threshold it out
      "match_type": "fuzzy"
    }
  ],
  "has_more": true,
  "coverage": "federal_and_state_plan",
  "data_as_of": "2026-06-30"
}

2 — Retrieve the full profile by id

curl -s $API/v1/osha/establishments/est_0a70f12d… \
  -H "Authorization: Bearer $KEY"

Response — the record you price on

{
  "establishment_name": "BP PRODUCTS NORTH AMERICA, INC.",
  "establishment_id": "est_0a70f12d…",        // stable — store it, re-query at renewal
  "address": { "city": "TEXAS CITY", "state": "TX" },
  "naics_code": "324110",
  "jurisdiction": "federal",
  "inspection_count": 36,
  "violation_count": 772,
  "willful_violation_count": 463,
  "total_penalties_usd": 36169000.0,
  "fatality_count": 3,
  "match_confidence": 1.0,
  "match_type": "exact_name"
}
Compliance

Business risk data — clean for commercial underwriting.

ComplyLedge serves public U.S. Department of Labor / OSHA records about business establishments — so it's not a "consumer report" under the FCRA, and it's clean to use for commercial and workers'-comp underwriting. It isn't intended for decisions about individuals (personal lines, employment, or credit). Details in the Terms.

Who's behind this

Built for decisions that carry real weight.

ComplyLedge is built by a technical founder with nine years of infrastructure experience at a FAANG company and a focus on developer-first APIs. That background is what surfaced the gap: data that feeds decisions like workers'-comp and commercial insurance pricing deserves better than a raw government export or a six-figure, sales-led contract with an incumbent risk vendor. ComplyLedge closes that gap — the same rigor, without the DIY build or the enterprise price tag. For product questions, edge cases, or a dataset you need next, you can reach the founder directly. Contact the founder →

Pricing

Simple, usage-based.

Try it free above with no signup, or start a 7-day free trial of Starter — card required, cancel anytime. Your key appears on the next page and is emailed to you. (Launch pricing.)

Starter 7-DAY TRIAL
$29/mo
  • Monthly API requests: 2,500
  • Rate limit: 25 / min
  • Full establishment profiles
  • Cancel anytime
Pro
$99/mo
  • Monthly API requests: 25,000
  • Rate limit: 60 / min
  • Email support
Custom
Let's talk
  • High-volume pricing
  • Multiple datasets (roadmap)
  • Async email support
Custom / Enterprise

Tell us what you're building.

High volume, multiple datasets, or specific needs? Send a note — we'll reply by email.

Data sourced from public U.S. Department of Labor / OSHA records. Provided "as is", accuracy not guaranteed. Not a consumer report; not for FCRA-permissible purposes (employment, credit, individual insurance). Not affiliated with or endorsed by any government agency.