---
title: "Get nearest RAOB radiosonde soundings."
method: GET
path: "/v1/soundings/nearest"
tags: ["Observations"]
---

# Get nearest RAOB radiosonde soundings.

`GET /v1/soundings/nearest`

## Request

- Base URL: `https://api.smarterweather.com`
- URL: `https://api.smarterweather.com/v1/soundings/nearest`
- Auth: HTTP bearer

Returns the N nearest RAOB (radiosonde) vertical soundings to a
point, deduplicated to the latest sounding per station, sorted by
distance. Soundings are launched at 00Z/12Z, so data can be several
hours old.

Each feature carries:

- `profile` — the pressure-indexed thermodynamic sounding (mandatory
  + significant-temperature levels merged, sorted surface-first) with
  aligned arrays `pressure_hpa`, `height_m` (null at
  significant-temperature-only levels), `temperature_c`, `dewpoint_c`,
  `wind_dir`, `wind_speed_kt`, plus `level_count`.
- `wind_profile` — a height-indexed wind sounding (mandatory +
  significant-wind levels, sorted ascending by height MSL) with aligned
  arrays `height_m`, `wind_dir`, `wind_speed_kt`, plus
  `wind_level_count`. Use this for hodographs and shear.
- `derived` — server-computed thermodynamic/kinematic indices
  (metric-raw, every field nullable): `sbcape`/`sbcin`,
  `mucape`/`mucin`, `mlcape`/`mlcin` (J/kg); `lifted_index`,
  `k_index`, `total_totals` (°C); `pwat_mm`; `freezing_level_m`;
  `lcl_*`/`lfc_*`/`el_*` pressure and height; `bulk_shear_0_6km_kt`.
- station metadata: `station_id`, `observed_at`, `elevation_m`.

The full `properties` bag is forward-compatible: the data pipeline
may add keys without a sw-api release, so treat unknown keys as opaque.

Pass one location: `lat` and `lon`, `zip`, or `location`. A request
without one returns `400`; a ZIP or name that does not resolve
returns `404`; while location lookup is unavailable, a `zip` or
`location` request returns `503` with `Retry-After`.

A point outside the 50 US states and DC returns `404`
`outside-coverage` with `next_steps`.

## Query parameters

- `lat` number, double
- `lon` number, double
- `zip` string
- `location` string
- `n` integer

## Response `200`

GeoJSON FeatureCollection of nearest RAOB soundings.

## Other responses

- `400`: Bad request.
- `404`: Resource not found: a location that cannot be resolved (unknown ZIP, unrecognised free-text location), no upstream data for the location, or a missing resource. On a route that checks coverage (its description says so), a location outside the 50 US states and DC returns type `https://smarterweather.com/errors/outside-coverage`; that and the location-not-found problem carry `next_steps` (`recommended = coverage`).
- `502`: Bad gateway. The service received an invalid response from an upstream data source. Transient; clients should retry with backoff.
- `503`: Service unavailable. An upstream dependency is unavailable or shedding load (type `service-unavailable`). Transient; retry with backoff and honor any `Retry-After` header.
- `504`: Gateway timeout. An upstream data source did not respond within the service's budget.

---

[API](https://skmtc.dev/smarterweather/apis/smarter-weather-api.md) · [All operations](https://skmtc.dev/smarterweather/apis/smarter-weather-api/llms.txt) · [OpenAPI document](https://skmtc.dev/smarterweather/apis/smarter-weather-api/revisions/520d55a696e4?raw)
