# Reynolds Number API
> Dimensionless flow-number maths for fluid-mechanics similitude as an API, computed locally and deterministically. The reynolds endpoint computes the Reynolds number, Re = v·L/ν = ρvL/μ — the ratio of inertial to viscous forces — from the velocity, a characteristic length (pipe diameter) and either the kinematic viscosity or the density and dynamic viscosity, and classifies the flow as laminar (< 2300), transitional (2300–4000) or turbulent (> 4000). The froude endpoint computes the Froude number, Fr = v/√(g·L) — the ratio of inertia to gravity used for open-channel and ship flows — together with the critical velocity, and tells you whether the flow is subcritical (tranquil), critical or supercritical (shooting). The mach endpoint computes the Mach number, M = v/c, with the sound speed taken directly or worked out from the air temperature, c = √(γRT), and classifies the speed as subsonic, transonic, supersonic or hypersonic. Everything is computed locally and deterministically, so it is instant and private. Ideal for fluid-mechanics, aerodynamics and hydraulics tools, model-scaling and wind-tunnel similitude, pipe-flow and open-channel analysis, and engineering education. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is dimensionless-number similitude; for pipe friction pressure drop use a Darcy-Weisbach API and for open-channel uniform flow use a Manning 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/reynolds-api/..."
```

## Pricing
- **Free** (Free) — 2,000 calls/Mo, 2 req/s
- **Starter** ($8/Mo) — 30,000 calls/Mo, 5 req/s
- **Pro** ($22/Mo) — 150,000 calls/Mo, 15 req/s
- **Mega** ($69/Mo) — 767,000 calls/Mo, 40 req/s

## Endpoints

### Dimensionless

#### `GET /v1/froude` — Froude number

**Parameters:**
- `velocity` (query, required, string) — Flow velocity v (m/s) Example: `3`
- `length` (query, required, string) — Hydraulic depth L (m) Example: `0.5`
- `gravity` (query, optional, string) — Gravity g (m/s², default 9.81) Example: `9.81`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/reynolds-api/v1/froude?velocity=3&length=0.5&gravity=9.81"
```

**Response:**
```json
{
    "data": {
        "note": "Fr = v/√(g·L). Subcritical < 1 (tranquil), critical = 1, supercritical > 1 (rapid/shooting flow).",
        "inputs": {
            "length": 0.5,
            "gravity": 9.81,
            "velocity": 3
        },
        "flow_regime": "supercritical",
        "froude_number": 1.354571,
        "critical_velocity_m_s": 2.214723
    },
    "meta": {
        "timestamp": "2026-06-04T18:38:24.539Z",
        "request_id": "ce88c9df-abd0-4960-bdd3-27284e990693"
    },
    "status": "ok",
    "message": "Froude number",
    "success": true
}
```

#### `GET /v1/mach` — Mach number

**Parameters:**
- `velocity` (query, required, string) — Velocity v (m/s) Example: `340`
- `sound_speed` (query, optional, string) — Sound speed c (m/s) Example: `343`
- `air_temperature` (query, optional, string) — Or air temperature (K) for c=√(γRT)
- `gamma` (query, optional, string) — Heat-capacity ratio γ (default 1.4) Example: `1.4`
- `gas_constant` (query, optional, string) — Gas constant R (J/kg·K, default 287) Example: `287`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/reynolds-api/v1/mach?velocity=340&sound_speed=343&gamma=1.4&gas_constant=287"
```

**Response:**
```json
{
    "data": {
        "note": "M = v/c. Sound speed c = √(γRT) for an ideal gas (air: γ=1.4, R=287). Subsonic < 0.8, transonic 0.8–1.2, supersonic 1.2–5, hypersonic > 5.",
        "inputs": {
            "velocity": 340,
            "sound_speed": 343
        },
        "flow_regime": "transonic",
        "mach_number": 0.991254
    },
    "meta": {
        "timestamp": "2026-06-04T18:38:24.627Z",
        "request_id": "ae1cfe46-5ef2-4043-b9ee-a867ba7cb1cd"
    },
    "status": "ok",
    "message": "Mach number",
    "success": true
}
```

#### `GET /v1/reynolds` — Reynolds number

**Parameters:**
- `velocity` (query, required, string) — Flow velocity v (m/s) Example: `2`
- `length` (query, required, string) — Characteristic length / diameter L (m) Example: `0.05`
- `kinematic_viscosity` (query, optional, string) — Kinematic viscosity ν (m²/s) Example: `0.000001004`
- `density` (query, optional, string) — Or density ρ (kg/m³)
- `dynamic_viscosity` (query, optional, string) — with dynamic viscosity μ (Pa·s)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/reynolds-api/v1/reynolds?velocity=2&length=0.05&kinematic_viscosity=0.000001004"
```

**Response:**
```json
{
    "data": {
        "note": "Re = v·L/ν. Pipe-flow thresholds: laminar < 2300, transitional 2300–4000, turbulent > 4000.",
        "inputs": {
            "length": 0.05,
            "velocity": 2,
            "kinematic_viscosity": 1.004e-6
        },
        "flow_regime": "turbulent",
        "reynolds_number": 99601.5936
    },
    "meta": {
        "timestamp": "2026-06-04T18:38:24.737Z",
        "request_id": "e740309f-071e-4e38-a826-a11479cf9ac9"
    },
    "status": "ok",
    "message": "Reynolds number",
    "success": true
}
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "notes": "Velocity in m/s, length in m, viscosity in m²/s (kinematic) or Pa·s (dynamic), temperature in K. Water at 20 °C: ν ≈ 1.004e-6 m²/s. Air at 15 °C: c ≈ 340 m/s.",
        "service": "reynolds-api",
        "formulae": {
            "mach": "M = v/c,  c = √(γRT)",
            "froude": "Fr = v/√(g·L)",
            "reynolds": "Re = v·L/ν = ρvL/μ"
        },
        "endpoints": {
            "GET /v1/mach": "Mach number M = v/c (sound speed from input or air temperature) and the speed regime.",
            "GET /v1/meta": "This document.",
            "GET /v1/froude": "Froude number Fr = v/√(g·L) and the sub/critical/supercritical regime.",
            "GET /v1/reynolds": "Reynolds number Re = v·L/ν and the laminar/transitional/turbulent regime."
        },
        "description": "Dimensionless flow-number calculator: Reynolds (regime), Froude (open-channel) and Mach (compressibility) numbers for fluid-mechanics similitude."
    },
    "meta": {
        "timestamp": "2026-06-04T18:38:24.830Z",
        "request_id": "96bce529-a0a7-4164-8e45-9355d7fd7b89"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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