# Turbocharger Boost API
> Turbocharger and boost engineering maths as an API, computed locally and deterministically — the pressure-ratio, charge-air and airflow numbers a tuner, engine builder or motorsport engineer sizes forced induction with. The pressure-ratio endpoint gives the compressor pressure ratio = absolute manifold pressure ÷ ambient = (atmospheric + boost) ÷ atmospheric, so 10 psi at sea level is a 1.68 ratio — the x-axis of every compressor map, which climbs at altitude where ambient pressure is lower. The charge-air endpoint shows why an intercooler matters: compressing air heats it (T₂ = T₁ × (1 + (PR^0.2857 − 1)/efficiency)), and hot air is less dense, so the real gain is the charge density ratio = pressure ratio × (T₁/T_charge), not the pressure ratio alone — 10 psi at 70 % compressor efficiency makes ~93 °C and a 1.37 density ratio with no intercooler, rising toward 1.6 once an intercooler claws back the heat, and the estimated power gain tracks the density. The airflow endpoint gives the engine mass airflow ≈ displacement × (rpm/2) × volumetric efficiency × charge density, in lb/min — the y-axis of the compressor map you plot against the pressure ratio to land in the efficient island and avoid surge or choke. Everything is computed locally and deterministically, so it is instant and private. Ideal for engine-tuning and turbo-sizing tools, dyno and data-logging apps, and motorsport calculators. Pure local computation — no key, no third-party service, instant. Sizing estimates — verify on a dyno. 3 compute endpoints. For engine displacement and compression use an engine API; for shop compressed air a compressor API.

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

## Pricing
- **Free** (Free) — 6,400 calls/Mo, 2 req/s
- **Starter** ($10/Mo) — 72,000 calls/Mo, 6 req/s
- **Pro** ($32/Mo) — 300,000 calls/Mo, 15 req/s
- **Mega** ($97/Mo) — 1,430,000 calls/Mo, 40 req/s

## Endpoints

### Turbo

#### `GET /v1/airflow` — Engine mass airflow

**Parameters:**
- `displacement_l` (query, required, string) — Engine displacement (L) Example: `2.0`
- `rpm` (query, required, string) — Engine speed (rpm) Example: `6000`
- `ve_pct` (query, optional, string) — Volumetric efficiency % (default 95) Example: `95`
- `boost_psi` (query, optional, string) — Boost pressure (psi, default 0) Example: `15`
- `atmospheric_psi` (query, optional, string) — Ambient pressure (psi, default 14.7) Example: `14.7`
- `inlet_temp_c` (query, optional, string) — Charge temp (°C, default 25) Example: `25`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/turbo-api/v1/airflow?displacement_l=2.0&rpm=6000&ve_pct=95&boost_psi=15&atmospheric_psi=14.7&inlet_temp_c=25"
```

**Response:**
```json
{
    "data": {
        "note": "Engine mass airflow ≈ displacement × (rpm/2) × volumetric efficiency × the charge-air density (here at the manifold pressure, idealised intercooled to inlet). It is the y-axis of the compressor map: plot it against the pressure ratio to land in the compressor's efficient island and avoid surge or choke. A 2.0 L at 6,000 rpm naturally aspirated moves ~15 lb/min; boost scales it up with the density.",
        "inputs": {
            "rpm": 6000,
            "ve_pct": 95,
            "boost_psi": 15,
            "inlet_temp_c": 25,
            "displacement_l": 2,
            "atmospheric_psi": 14.7
        },
        "mass_airflow_kg_min": 13.6382,
        "mass_airflow_lb_min": 30.067,
        "charge_density_kg_m3": 2.3927,
        "volumetric_flow_m3_min": 5.7
    },
    "meta": {
        "timestamp": "2026-06-07T08:18:06.035Z",
        "request_id": "51047448-2951-431f-ae16-1b00eea557c1"
    },
    "status": "ok",
    "message": "Mass airflow",
    "success": true
}
```

#### `GET /v1/charge-air` — Charge-air temperature and density gain

**Parameters:**
- `inlet_temp_c` (query, required, string) — Compressor inlet temp (°C) Example: `25`
- `boost_psi` (query, required, string) — Boost pressure (psi, gauge) Example: `10`
- `atmospheric_psi` (query, optional, string) — Ambient pressure (psi, default 14.7) Example: `14.7`
- `compressor_efficiency_pct` (query, optional, string) — Compressor efficiency % (default 70) Example: `70`
- `intercooler_efficiency_pct` (query, optional, string) — Intercooler efficiency % (default 0) Example: `75`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/turbo-api/v1/charge-air?inlet_temp_c=25&boost_psi=10&atmospheric_psi=14.7&compressor_efficiency_pct=70&intercooler_efficiency_pct=75"
```

**Response:**
```json
{
    "data": {
        "note": "Compressing the air heats it (T₂ = T₁·(1 + (PR^0.2857 − 1)/η)), and hot air is less dense — so the real gain is the charge density ratio = PR × (T₁/T_charge), not the pressure ratio alone. An intercooler claws back most of that heat and is why it is worth fitting: the estimated power gain tracks the density ratio. Hotter, denser charge also pushes toward knock, so timing and fuel must follow.",
        "inputs": {
            "boost_psi": 10,
            "inlet_temp_c": 25,
            "atmospheric_psi": 14.7,
            "compressor_efficiency_pct": 70,
            "intercooler_efficiency_pct": 75
        },
        "pressure_ratio": 1.6803,
        "est_power_gain_pct": 59,
        "intercooled_temp_c": 42,
        "charge_density_ratio": 1.5895,
        "compressor_outlet_temp_c": 93.1
    },
    "meta": {
        "timestamp": "2026-06-07T08:18:06.112Z",
        "request_id": "f300711e-0a85-4520-9a7e-2bc9917a9480"
    },
    "status": "ok",
    "message": "Charge air",
    "success": true
}
```

#### `GET /v1/pressure-ratio` — Pressure ratio from boost

**Parameters:**
- `boost_psi` (query, required, string) — Boost pressure (psi, gauge) Example: `10`
- `atmospheric_psi` (query, optional, string) — Ambient pressure (psi, default 14.7) Example: `14.7`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/turbo-api/v1/pressure-ratio?boost_psi=10&atmospheric_psi=14.7"
```

**Response:**
```json
{
    "data": {
        "note": "The compressor pressure ratio = absolute manifold pressure ÷ ambient = (atmospheric + boost gauge) ÷ atmospheric. 10 psi of boost at sea level is a 1.68 ratio. It is the x-axis of every compressor map, and it climbs at altitude where the ambient pressure is lower — so the same gauge boost is a higher ratio (and harder work for the turbo) up a mountain.",
        "inputs": {
            "boost_psi": 10,
            "atmospheric_psi": 14.7
        },
        "pressure_ratio": 1.6803,
        "manifold_abs_psi": 24.7
    },
    "meta": {
        "timestamp": "2026-06-07T08:18:06.198Z",
        "request_id": "8076d82c-5ac5-43d1-94e7-afeceffa397d"
    },
    "status": "ok",
    "message": "Pressure ratio",
    "success": true
}
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "notes": "psi, °C, L, rpm, lb/min. PR = (atm+boost)/atm; T₂ = T₁(1+(PR^0.2857−1)/η); density ratio = PR·T₁/T_charge; MAF = disp·(rpm/2)·VE·ρ. Sizing estimates — verify on a dyno. For engine displacement use an engine API; for compressed-air systems a compressor API.",
        "service": "turbo-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/airflow": "Engine mass airflow for compressor-map matching.",
            "GET /v1/charge-air": "Compressor outlet/intercooled temperature and density gain.",
            "GET /v1/pressure-ratio": "Pressure ratio and absolute manifold pressure from boost."
        },
        "description": "Turbocharger / boost maths: pressure ratio, charge-air temperature and density gain, and engine mass airflow."
    },
    "meta": {
        "timestamp": "2026-06-07T08:18:06.287Z",
        "request_id": "6ec55bc8-d604-41e8-8b9c-86c81489e6e6"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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