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/lookup
Live OSHA data · no key needed
Press Run lookup to query the live dataset — top 3 matches.
Why ComplyLedge

The data is free. The correct, queryable layer is the work.

A DIY ingest of the raw OSHA files looks easy and gets four things wrong. We handle them.

01 · RESOLVE

Name → stable id → record

Fuzzy-match a name (and optional address) to a durable estab_id, then pull the full profile. Store the id, re-query the same site at renewal.

02 · CORRECTNESS

The four traps, handled

Vacated citations excluded, fatalities counted from the per-injury grain (~18% more complete), and federal plus state-plan coverage — not just federal.

03 · DEVELOPER-FIRST

Key in minutes, not quarters

One clean endpoint, confidence scores, daily freshness, transparent usage pricing. No six-figure contract, no sales call to get started.

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/lookup
curl -sG $API/v1/osha/lookup \
  -H "Authorization: Bearer $KEY" \
  --data-urlencode "name=BP Products North America" \
  --data-urlencode "state=TX"

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.",
  "estab_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.

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.