# OSHA Accident Reports Search

> OSHA Accident Reports Search is a paid API for AI agents from 2s.io, paid per call via x402, $0.0012/call, status unknown (last checked 2026-09-13).

Search and filter ~165k OSHA-investigated workplace accident reports from the US Department of Labor, returning injury details, narratives, and inspection linkages

## Facts

- Endpoint: GET https://2s.io/api/gov/osha-accidents
- Price: $0.0012/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/2s-io-6b2ac643
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_2vTJBeotrHf__eW27NCT-

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 2s-io-6b2ac643
```

Example prompt: Pull me OSHA accident reports for fatal workplace incidents (fatality=true) that happened between 2020-01-01 and 2022-12-31, limited to 50 results, so I can analyze trends in fatal occupational injuries.

## When to prefer this

Use this endpoint when you need to search or filter OSHA-investigated workplace accident records from the US DOL open data set, especially when you need injury narratives, severity levels, or want to cross-reference with OSHA inspection or violation records. Prefer this over generic web search when you need structured, filterable government accident data with coded fields.

## Known failure modes

- Invalid date format (not YYYY-MM-DD) returns 400
- natureOfInj code not recognized returns empty results
- offset/limit out of range returns 400
- No matching records returns empty array
- Rate limit or payment failure returns 402

## How this service works

Search OSHA-investigated workplace accident reports via US Department of Labor Open Data Portal (~165k accidents). Each row carries summary number, related inspection number, report id, event date, narrative, nature of injury, body part affected, source of injury, occupation, age, sex, degree of injury (1 = fatality, 2 = hospitalized, 3 = no lost time, etc.). Filter by event date range, nature of injury code, fatality flag. Pair with /api/gov/osha-inspections + /api/gov/osha-violations to follow injury → investigation → citations.

## Output

A paginated list of workplace accident records each containing summary number, related inspection/activity number, report ID, event date, free-text injury narrative, coded nature of injury, body part affected, injury source, occupation, worker age and sex, and degree of injury (1=fatality, 2=hospitalized, 3=no lost time, etc.). Can be joined with OSHA inspection and violation endpoints for full incident chains.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "limit": 50,
   "offset": 0,
   "fatality": true,
   "eventDateMax": "2022-12-31",
   "eventDateMin": "2020-01-01"
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "const": "GET"
    },
    "queryParams": {
     "properties": {
      "sort": {
       "type": "string"
      },
      "limit": {
       "type": "integer",
       "default": 25,
       "maximum": 100,
       "minimum": 1
      },
      "fields": {
       "type": "string"
      },
      "offset": {
       "type": "integer",
       "default": 0,
       "minimum": 0
      },
      "reportId": {
       "type": "string"
      },
      "summaryNr": {
       "type": "integer"
      },
      "activityNr": {
       "type": "integer",
       "description": "Related OSHA inspection activity number."
      },
      "natureOfInj": {
       "type": "string"
      },
      "eventDateMax": {
       "type": "string"
      },
      "eventDateMin": {
       "type": "string",
       "description": "YYYY-MM-DD."
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/2s-io-6b2ac643/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 2s.io](https://www.zero.xyz/host/2s.io/llms.txt)
