# Ladder Safety API
> Ladder-safety maths as an API, computed locally and deterministically — the angle, reach and load numbers that keep a ladder from sliding out or buckling. The angle endpoint applies the 4:1 rule: the base goes out one foot for every four feet of working length, which lands the ladder at about 75.5° — a 24-foot ladder sits 6 feet from the wall and reaches roughly 23 feet up, steep enough not to tip back and shallow enough not to slide. The extension endpoint gives the usable length and reach of a two-section extension ladder, which loses the overlap the sections share (3 feet up to 36, 4 to 48, 5 beyond), and the working height at the safe angle — remembering the ladder must extend 3 feet above a roof edge you step onto. The duty-rating endpoint turns a total load — your weight plus tools and materials, not just bodyweight — into the right duty class, from Type III household (200 lb) through I industrial (250) to IAA professional (375). Everything is computed locally and deterministically, so it is instant and private. Ideal for construction-safety and trades apps, jobsite and rental tools, OSHA training aids, and home-improvement sites. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. Educational — always follow the manufacturer's labels and OSHA/ANSI rules.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/ladder-api/..."
```

## Pricing
- **Free** (Free) — 650 calls/Mo, 2 req/s
- **Starter** ($4/Mo) — 16,000 calls/Mo, 8 req/s
- **Pro** ($15/Mo) — 96,000 calls/Mo, 20 req/s
- **Mega** ($46/Mo) — 320,000 calls/Mo, 48 req/s

## Endpoints

### Ladder

#### `GET /v1/angle` — 4:1 setup angle and reach

**Parameters:**
- `ladder_length_ft` (query, required, string) — Working length in feet Example: `24`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/ladder-api/v1/angle?ladder_length_ft=24"
```

#### `GET /v1/duty-rating` — Duty-rating class for a load

**Parameters:**
- `total_load_lb` (query, required, string) — Total load (person + tools) in lb Example: `280`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/ladder-api/v1/duty-rating?total_load_lb=280"
```

#### `GET /v1/extension` — Extension ladder reach

**Parameters:**
- `base_section_ft` (query, required, string) — Base section length in feet Example: `13`
- `fly_section_ft` (query, required, string) — Fly section length in feet Example: `13`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/ladder-api/v1/extension?base_section_ft=13&fly_section_ft=13"
```

### Meta

#### `GET /v1/meta` — Spec

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/ladder-api/v1/meta"
```


---
Marketplace page: https://www.oanor.com/api/ladder-api
OpenAPI spec: https://www.oanor.com/api/ladder-api/openapi.json
