# Climbing Grade API
> Rock-climbing grade conversion as an API, computed locally and deterministically — the cross-system grade translations a climber, gym or guidebook app needs when the same route reads differently in every country. The route endpoint takes a roped-climbing grade in any major system — the American Yosemite Decimal System (5.5 to 5.15d), French sport grades (4b to 9c+), the UIAA scale used across Central Europe (IV to XIII-) or the Australian/New Zealand Ewbank numbers (12 to 40) — and returns the equivalents in all of them, so a 5.11a is a French 6c, a UIAA VII+ and an Ewbank 22. The boulder endpoint converts between the American V-scale (VB and V0 to V17) and the French Fontainebleau scale (3 to 9A), so a V5 is Font 6C and a problem graded 7A is about V6. You can pass a grade in any supported system and it finds the row and gives the rest — handy for syncing a tick list across regions or showing a climber a grade they recognise. Everything is computed locally and deterministically, so it is instant and private. Ideal for climbing, bouldering, gym, guidebook and outdoor-sports app developers, tick-list and route-database tools, and training-log software. Pure local computation — no key, no third-party service, instant. Chart equivalents — grades are inherently approximate across systems. Live, nothing stored. 2 conversion endpoints.

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

## Pricing
- **Free** (Free) — 7,300 calls/Mo, 2 req/s
- **Starter** ($4/Mo) — 55,800 calls/Mo, 6 req/s
- **Pro** ($12/Mo) — 229,500 calls/Mo, 15 req/s
- **Mega** ($38/Mo) — 1,336,000 calls/Mo, 40 req/s

## Endpoints

### Climbing

#### `GET /v1/boulder` — Boulder grade conversion

**Parameters:**
- `grade` (query, required, string) — V-scale or Fontainebleau grade Example: `V5`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/climbgrade-api/v1/boulder?grade=V5"
```

**Response:**
```json
{
    "data": {
        "note": "Bouldering grade between the American V-scale (Hueco) and the French Fontainebleau scale. Font grades use letters (A/B/C) and '+'; the V-scale is roughly Font minus the 'V' offset above 6A.",
        "inputs": {
            "grade": "V5"
        },
        "discipline": "boulder",
        "conversions": {
            "font": "6C",
            "vscale": "V5"
        }
    },
    "meta": {
        "timestamp": "2026-06-06T07:14:01.944Z",
        "request_id": "ae08a521-4c93-4777-8c07-c7213e614502"
    },
    "status": "ok",
    "message": "Boulder grade",
    "success": true
}
```

#### `GET /v1/route` — Route grade conversion

**Parameters:**
- `grade` (query, required, string) — Grade in any system (YDS, French, UIAA, Ewbank) Example: `5.11a`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/climbgrade-api/v1/route?grade=5.11a"
```

**Response:**
```json
{
    "data": {
        "note": "Roped-climbing grade across the Yosemite Decimal System (US), French sport, UIAA (Central Europe) and Ewbank (Australia/NZ). Conversions are the widely-used chart equivalents; real difficulty varies with style, length and rock.",
        "inputs": {
            "grade": "5.11a"
        },
        "discipline": "route",
        "conversions": {
            "yds": "5.11a",
            "uiaa": "VII+",
            "ewbank": "22",
            "french": "6c"
        }
    },
    "meta": {
        "timestamp": "2026-06-06T07:14:02.049Z",
        "request_id": "18184129-64e7-4582-b820-1f4bb6e0433e"
    },
    "status": "ok",
    "message": "Route grade",
    "success": true
}
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "notes": "Pass a grade in any supported system and get the equivalents. Route systems: YDS 5.5–5.15d, French 4b–9c+, UIAA IV–XIII-, Ewbank 12–40. Boulder: V-scale VB–V17, Font 3–9A. Chart equivalents — grades are inherently approximate across systems.",
        "service": "climbgrade-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/route": "Convert a roped-route grade across YDS, French, UIAA and Ewbank.",
            "GET /v1/boulder": "Convert a bouldering grade between the V-scale and Fontainebleau."
        },
        "description": "Rock-climbing grade conversion: roped routes (YDS / French / UIAA / Ewbank) and bouldering (V-scale / Fontainebleau)."
    },
    "meta": {
        "timestamp": "2026-06-06T07:14:02.148Z",
        "request_id": "3f3d275b-ec98-48ca-bcc9-738a8864227f"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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