Near-Space API
The Near-Space API provides data on objects in the atmosphere and near-space environment: radiosondes (weather balloons) tracked via SondeHub, and aircraft tracked via ADS-B transponders from the OpenSky Network.
Radiosondes
Section titled “Radiosondes”Radiosonde data is sourced from SondeHub, a community-driven radiosonde tracking platform. Sondes are launched by national weather services worldwide and carry sensors measuring temperature, humidity, pressure, and wind.
List Sondes
Section titled “List Sondes”GET /api/sondesResponse
Section titled “Response”{ "sondes": [ { "serial": "V3541234", "type": "RS41", "manufacturer": "Vaisala", "lat": 39.82, "lon": -104.95, "alt": 18500.0, "temp": -52.3, "humidity": 12.0, "pressure": 65.2, "vel_v": 5.2, "frequency": 403.5, "flight_status": "ascending", "datetime": "2026-02-14T22:30:00Z" } ], "count": 45, "active_count": 28, "landed_count": 17}Sonde Fields
Section titled “Sonde Fields”| Field | Type | Description |
|---|---|---|
serial | string | Sonde serial number |
type | string|null | Sonde model (e.g. RS41, DFM09) |
manufacturer | string|null | Manufacturer (e.g. Vaisala, Graw) |
lat | float|null | Latitude |
lon | float|null | Longitude |
alt | float|null | Altitude in meters |
temp | float|null | Temperature in Celsius |
humidity | float|null | Relative humidity (%) |
pressure | float|null | Atmospheric pressure in hPa |
vel_v | float|null | Vertical velocity in m/s |
frequency | float|null | Transmit frequency in MHz |
flight_status | string | ascending, descending, or landed |
datetime | string|null | Last reported timestamp |
Landing Predictions
Section titled “Landing Predictions”Predicted landing locations for sondes currently in flight.
GET /api/sondes/predictionsResponse
Section titled “Response”{ "predictions": [ { "serial": "V3541234", "lat": 39.91, "lon": -104.72, "alt": 0.0, "datetime": "2026-02-14T23:45:00Z" } ], "count": 1}Launch Sites
Section titled “Launch Sites”Known radiosonde launch sites (stations).
GET /api/sondes/sitesResponse
Section titled “Response”{ "sites": [ { "station": "72469", "station_name": "Denver/Stapleton", "lat": 39.77, "lon": -104.87, "alt": 1625.0 } ], "count": 1}Sonde Summary
Section titled “Sonde Summary”A compact count of sonde flight states.
GET /api/sondes/summaryResponse
Section titled “Response”{ "active_count": 28, "landed_count": 17, "total_count": 45}Refresh Sonde Data
Section titled “Refresh Sonde Data”POST /api/sondes/refresh{ "status": "refreshing", "message": "Sonde refresh started in background"}Aircraft (ADS-B)
Section titled “Aircraft (ADS-B)”Aircraft data is sourced from the OpenSky Network, providing real-time positions of aircraft within a bounding box around the observer location.
List Aircraft
Section titled “List Aircraft”GET /api/aircraftResponse
Section titled “Response”{ "aircraft": [ { "icao24": "a12345", "callsign": "UAL1234", "origin_country": "United States", "lat": 39.85, "lon": -104.67, "baro_altitude": 10668.0, "geo_altitude": 10700.0, "velocity": 245.0, "track": 180.0, "vertical_rate": 0.0, "squawk": "1200", "category": 3, "on_ground": false } ], "count": 42, "bbox": { "min_lat": 38.74, "max_lat": 40.74, "min_lon": -105.99, "max_lon": -103.99 }}Aircraft Fields
Section titled “Aircraft Fields”| Field | Type | Description |
|---|---|---|
icao24 | string | ICAO 24-bit transponder address (hex) |
callsign | string|null | Aircraft callsign |
origin_country | string|null | Country of registration |
lat | float|null | Latitude |
lon | float|null | Longitude |
baro_altitude | float|null | Barometric altitude in meters |
geo_altitude | float|null | Geometric (GPS) altitude in meters |
velocity | float|null | Ground speed in m/s |
track | float|null | Track angle in degrees (clockwise from north) |
vertical_rate | float|null | Vertical rate in m/s |
squawk | string|null | Transponder squawk code |
category | int|null | Aircraft category (ADS-B emitter category) |
on_ground | bool | Whether the aircraft is on the ground |
The bbox field shows the geographic bounding box used for the query, centered on the observer location.
Aircraft Summary
Section titled “Aircraft Summary”GET /api/aircraft/summaryResponse
Section titled “Response”{ "count": 42, "highest_alt": 12192.0, "lowest_alt": 914.0}Refresh ADS-B Data
Section titled “Refresh ADS-B Data”POST /api/aircraft/refresh{ "status": "refreshing", "message": "ADS-B refresh started in background"}