# Pressure Washer API
> Pressure-washer maths as an API, computed locally and deterministically — the cleaning-power, nozzle and water numbers a buyer or pro sizes and runs a machine by. The cleaning-units endpoint gives the cleaning power, PSI × GPM, with a duty class — both matter because pressure breaks the dirt loose and flow flushes it away, so a 3,000 PSI / 2.5 GPM machine (7,500 cleaning units) cleans far faster than the same pressure at 1.5 GPM. The nozzle endpoint gives the flow at a different pressure (a fixed nozzle flows with the square root of pressure) and the nozzle reaction force you feel, ≈ 0.0526 × GPM × √PSI in pounds — a few pounds on a consumer unit, enough on a big machine to need two hands. The water-usage endpoint gives the water used over a run, flow × time, in gallons and litres with an optional cost — a pressure washer actually uses far less water than a garden hose for the same cleaning. Everything is computed locally and deterministically, so it is instant and private. Ideal for pressure-washer shops and rental apps, cleaning-contractor and buying-guide tools, equipment calculators, and DIY sites. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. Estimates — surface and detergent matter as much as the numbers.

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

## Pricing
- **Free** (Free) — 700 calls/Mo, 2 req/s
- **Starter** ($4/Mo) — 17,000 calls/Mo, 8 req/s
- **Pro** ($15/Mo) — 99,000 calls/Mo, 20 req/s
- **Mega** ($46/Mo) — 335,000 calls/Mo, 48 req/s

## Endpoints

### Pressure Washer

#### `GET /v1/cleaning-units` — Cleaning power (PSI × GPM)

**Parameters:**
- `psi` (query, required, string) — Pressure in psi Example: `3000`
- `gpm` (query, required, string) — Flow in gallons per minute Example: `2.5`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/pressurewasher-api/v1/cleaning-units?psi=3000&gpm=2.5"
```

**Response:**
```json
{
    "data": {
        "note": "Cleaning power = pressure × flow (cleaning units). Both matter — PSI breaks the grip of dirt, GPM flushes it away — so a 3,000 PSI / 2.5 GPM machine (7,500 CU) cleans far faster than 3,000 PSI / 1.5 GPM despite the same pressure. Match the CU to the job; more is not always better on soft surfaces.",
        "inputs": {
            "gpm": 2.5,
            "psi": 3000
        },
        "duty_class": "medium duty (driveways, fences, siding)",
        "cleaning_units": 7500
    },
    "meta": {
        "timestamp": "2026-06-06T23:53:56.914Z",
        "request_id": "4148a138-899c-4ee5-b7a7-e2cfe8fdeb9d"
    },
    "status": "ok",
    "message": "Cleaning units",
    "success": true
}
```

#### `GET /v1/nozzle` — Flow & reaction at a pressure

**Parameters:**
- `rated_gpm` (query, required, string) — Rated flow in GPM Example: `2.5`
- `rated_psi` (query, required, string) — Rated pressure in psi Example: `3000`
- `operating_psi` (query, required, string) — Operating pressure in psi Example: `2000`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/pressurewasher-api/v1/nozzle?rated_gpm=2.5&rated_psi=3000&operating_psi=2000"
```

**Response:**
```json
{
    "data": {
        "note": "A fixed nozzle flows with the square root of pressure, so dropping to a lower pressure also drops the flow. The kickback you feel is the nozzle reaction, ≈ 0.0526 × GPM × √PSI in pounds — a few pounds on a consumer unit but enough on big machines to demand two hands and good footing.",
        "inputs": {
            "rated_gpm": 2.5,
            "rated_psi": 3000,
            "operating_psi": 2000
        },
        "operating_gpm": 2.04,
        "nozzle_reaction_lb": 4.8
    },
    "meta": {
        "timestamp": "2026-06-06T23:53:56.991Z",
        "request_id": "c36d4e5d-9100-4421-b34a-1f567a12c11a"
    },
    "status": "ok",
    "message": "Nozzle flow & reaction",
    "success": true
}
```

#### `GET /v1/water-usage` — Water used over a run

**Parameters:**
- `gpm` (query, required, string) — Flow in GPM Example: `2.5`
- `minutes` (query, required, string) — Run time in minutes Example: `30`
- `price_per_gallon` (query, optional, string) — Water price per gallon Example: `0.005`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/pressurewasher-api/v1/water-usage?gpm=2.5&minutes=30&price_per_gallon=0.005"
```

**Response:**
```json
{
    "data": {
        "note": "Water used = flow × run time. A pressure washer actually uses far LESS water than a garden hose for the same cleaning (a hose runs ~8–12 GPM), because the high pressure does the work — but it is continuous, so a long job still adds up. Pass a price per gallon to estimate the water cost.",
        "inputs": {
            "gpm": 2.5,
            "minutes": 30
        },
        "water_cost": 0.38,
        "liters_used": 283.9,
        "gallons_used": 75
    },
    "meta": {
        "timestamp": "2026-06-06T23:53:57.060Z",
        "request_id": "b6e71b58-0a71-43c9-a46e-e466b3351687"
    },
    "status": "ok",
    "message": "Water usage",
    "success": true
}
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "notes": "US units (psi, GPM, lb). CU = PSI×GPM; flow ∝ √P; reaction ≈ 0.0526·GPM·√PSI; water = GPM×minutes. Estimates — surface and detergent matter as much as the numbers.",
        "service": "pressurewasher-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/nozzle": "Flow at a different pressure (√P) and the nozzle reaction force.",
            "GET /v1/water-usage": "Water used over a run, with optional cost.",
            "GET /v1/cleaning-units": "Cleaning power (PSI × GPM) with a duty classification."
        },
        "description": "Pressure-washer maths: cleaning units (power rating), nozzle flow and reaction force at a pressure, and water used over a run."
    },
    "meta": {
        "timestamp": "2026-06-06T23:53:57.132Z",
        "request_id": "9b0c2031-8772-4a85-9320-458e1983d8ff"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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