# Boat Propeller API
> Boat-propeller maths as an API, computed locally and deterministically — the slip, RPM and pitch numbers that decide whether a boat hits its numbers or labours. The slip endpoint gives propeller slip from the pitch, the prop RPM and the actual boat speed: theoretical speed = pitch × prop RPM ÷ 1215, and slip = (theoretical − actual) ÷ theoretical — a 19-inch prop at 2000 RPM should make 31 knots in theory, so a real 26.6 knots is about 15 % slip, normal for a clean planing boat. The prop-rpm endpoint gives the propeller RPM from the engine RPM and the gear (reduction) ratio — a 2:1 gearbox spins the prop at half engine speed — and, with a pitch, the theoretical no-slip speed at that RPM. The pitch endpoint gives the pitch needed to reach a target speed at a prop RPM and expected slip, pitch = target × 1215 ÷ (prop RPM × (1 − slip)), so you can prop the boat to let the engine reach the top of its wide-open-throttle range instead of lugging. Everything is computed locally and deterministically, so it is instant and private. Ideal for boating and marine apps, repower and prop-shop tools, performance calculators, and seamanship study aids. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. Estimates — hull, load and bottom condition shift real slip.

## 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/propeller-api/..."
```

## Pricing
- **Free** (Free) — 540 calls/Mo, 2 req/s
- **Starter** ($5/Mo) — 14,200 calls/Mo, 6 req/s
- **Pro** ($17/Mo) — 88,000 calls/Mo, 15 req/s
- **Mega** ($50/Mo) — 275,000 calls/Mo, 36 req/s

## Endpoints

### Propeller

#### `GET /v1/pitch` — Pitch for a target speed

**Parameters:**
- `target_speed_knots` (query, required, string) — Target speed in knots Example: `30`
- `prop_rpm` (query, required, string) — Propeller RPM Example: `2000`
- `slip_pct` (query, optional, string) — Expected slip % (default 12) Example: `12`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/propeller-api/v1/pitch?target_speed_knots=30&prop_rpm=2000&slip_pct=12"
```

#### `GET /v1/prop-rpm` — Prop RPM from engine RPM

**Parameters:**
- `engine_rpm` (query, required, string) — Engine RPM Example: `4000`
- `gear_ratio` (query, required, string) — Gear (reduction) ratio Example: `2`
- `pitch_in` (query, optional, string) — Pitch in inches (for theoretical speed) Example: `19`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/propeller-api/v1/prop-rpm?engine_rpm=4000&gear_ratio=2&pitch_in=19"
```

#### `GET /v1/slip` — Propeller slip

**Parameters:**
- `pitch_in` (query, required, string) — Propeller pitch in inches Example: `19`
- `prop_rpm` (query, required, string) — Propeller RPM Example: `2000`
- `actual_speed_knots` (query, required, string) — Actual boat speed in knots Example: `26.6`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/propeller-api/v1/slip?pitch_in=19&prop_rpm=2000&actual_speed_knots=26.6"
```

### Meta

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

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


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