# Navaids API
> Radio navigation aids (navaids) as an API — 11,000+ VOR, NDB, DME, TACAN, VORTAC and VOR-DME beacons across 231 countries, from the OurAirports dataset. Look up a navaid by its ident (e.g. JFK → Kennedy VOR-DME 115.9 MHz), search by name/ident with country and type filters, or find all navaids within a radius of any coordinate. Each record carries the ident, name, type, frequency (kHz and MHz), elevation, country and any associated airport. Ideal for aviation tools, flight simulators, EFB apps, flight planning and aeronautical charts.

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

## Pricing
- **Free** (Free) — 4,000 calls/Mo, 2 req/s
- **Starter** ($6/Mo) — 50,000 calls/Mo, 8 req/s
- **Pro** ($16/Mo) — 250,000 calls/Mo, 20 req/s
- **Mega** ($41/Mo) — 1,200,000 calls/Mo, 50 req/s

## Endpoints

### Navaids

#### `GET /v1/navaid` — A navaid by ident

**Parameters:**
- `ident` (query, required, string) — Navaid ident, e.g. JFK Example: `JFK`
- `country` (query, optional, string) — 2-letter country filter (idents are not globally unique)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/navaids-api/v1/navaid?ident=JFK"
```

**Response:**
```json
{
    "data": {
        "name": "Kennedy",
        "type": "VOR-DME",
        "ident": "JFK",
        "country": "US",
        "latitude": 40.6329,
        "longitude": -73.7714,
        "elevation_ft": 11,
        "frequency_khz": 115900,
        "frequency_mhz": 115.9,
        "associated_airport": "KJFK"
    },
    "meta": {
        "timestamp": "2026-05-31T07:00:19.186Z",
        "request_id": "19f119fb-a284-4398-85fc-0d42307178b8"
    },
    "status": "ok",
    "message": "Navaid retrieved",
    "success": true
}
```

#### `GET /v1/nearby` — Navaids within a radius of a coordinate

**Parameters:**
- `lat` (query, optional, string) — Latitude (-90..90) Example: `40.7`
- `lon` (query, optional, string) — Longitude (-180..180) Example: `-74.0`
- `radius_km` (query, optional, string) — Search radius in km (1-20000, default 200)
- `limit` (query, optional, string) — Max results (1-100, default 10)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/navaids-api/v1/nearby?lat=40.7&lon=-74.0"
```

**Response:**
```json
{
    "data": {
        "count": 10,
        "total": 87,
        "center": {
            "lat": 40.7,
            "lon": -74
        },
        "results": [
            {
                "name": "Peths",
                "type": "NDB",
                "ident": "LG",
                "country": "US",
                "latitude": 40.7146,
                "longitude": -73.9294,
                "distance_km": 6.2,
                "elevation_ft": null,
                "frequency_khz": 332,
                "frequency_mhz": null,
                "associated_airport": "KLGA"
            },
            {
                "name": "Canarsie",
                "type": "VOR-DME",
                "ident": "CRI",
                "country": "US",
                "latitude": 40.6125,
                "longitude": -73.8944,
                "distance_km": 13.2,
                "elevation_ft": 10,
                "frequency_khz": 112300,
                "frequency_mhz": 112.3,
                "associated_airport": "KJFK"
            },
            {
                "name": "La Guardia",
                "type": "VOR-DME",
                "ident": "LGA",
                "country": "US",
                "latitude": 40.78372,
                "longitude": -73.8686,
                "distance_km": 14.5,
                "elevation_ft": 10,
                "frequency_khz": 113100,
                "frequency_mhz": 113.1,
                "associated_airport": "KLGA"
            },
            {
                
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/search` — Search by name/ident with country & type filters

**Parameters:**
- `q` (query, optional, string) — Name / ident search, e.g. kennedy Example: `kennedy`
- `country` (query, optional, string) — 2-letter country, e.g. US
- `type` (query, optional, string) — VOR | NDB | DME | TACAN | VORTAC | VOR-DME …
- `limit` (query, optional, string) — Results per page (1-100, default 20) Example: `20`
- `offset` (query, optional, string) — Pagination offset Example: `0`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/navaids-api/v1/search?q=kennedy&limit=20&offset=0"
```

**Response:**
```json
{
    "data": {
        "count": 3,
        "limit": 20,
        "query": "kennedy",
        "total": 3,
        "offset": 0,
        "filters": {
            "type": null,
            "country": null
        },
        "results": [
            {
                "name": "Kennedy",
                "type": "NDB",
                "ident": "ENY",
                "country": "US",
                "latitude": 46.5529,
                "longitude": -90.9145,
                "elevation_ft": 826,
                "frequency_khz": 254,
                "frequency_mhz": null,
                "associated_airport": null
            },
            {
                "name": "Kennedy",
                "type": "VOR-DME",
                "ident": "JFK",
                "country": "US",
                "latitude": 40.6329,
                "longitude": -73.7714,
                "elevation_ft": 11,
                "frequency_khz": 115900,
                "frequency_mhz": 115.9,
                "associated_airport": "KJFK"
            },
            {
                "name": "Kennedy Space Center",
                "type": "TACAN",
                "ident": "TTS",
                "country": "US",
                "latitude": 28.6262,
                "longitude": -80.6958,
                "elevation_ft": 57,
                "frequency_khz": 112250,
                "frequency_mhz": 112.25,
                "associated_airport": null
            }
        ]
    },
    "meta": {
        "timestamp": "2026-05-
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Totals & type breakdown

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

**Response:**
```json
{
    "data": {
        "note": "Radio navigation aids. NDB frequencies in kHz; VOR/DME/TACAN frequencies ≥108 MHz (shown in both kHz and MHz).",
        "total": 11009,
        "types": [
            {
                "type": "NDB",
                "count": 6610
            },
            {
                "type": "VOR-DME",
                "count": 2601
            },
            {
                "type": "VORTAC",
                "count": 744
            },
            {
                "type": "TACAN",
                "count": 442
            },
            {
                "type": "VOR",
                "count": 308
            },
            {
                "type": "DME",
                "count": 167
            },
            {
                "type": "NDB-DME",
                "count": 137
            }
        ],
        "fields": [
            "ident",
            "name",
            "type",
            "frequency_khz",
            "frequency_mhz",
            "latitude",
            "longitude",
            "elevation_ft",
            "country",
            "associated_airport"
        ],
        "source": "OurAirports navaids dataset",
        "countries": 231
    },
    "meta": {
        "timestamp": "2026-05-31T07:00:19.404Z",
        "request_id": "e5f968bc-9bb6-4cf3-bebd-30becf262182"
    },
    "status": "ok",
    "message": "Meta retrieved",
    "success": true
}
```


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