Client libraries
There are small client packages for Python and TypeScript/JavaScript. Both send the request, check the response against it and raise a typed error with the problem code when something goes wrong. You can also call the HTTP API directly; the packages add no features the API doesn’t have.
Python
Section titled “Python”pip install vertical-weatherimport osfrom vertical_weather import get_profile
profile = get_profile(os.environ["VERTICAL_WEATHER_API_KEY"], { "latitude": 35.052, "longitude": -117.985, "time": "2026-10-03T18:00:00Z", "altitudes_m": [1000, 2000, 5000], "altitude_reference": "agl",})print(profile.levels[0].wind_speed_ms)Python 3.11 or later. In async code, use await async_get_profile(...).
Package page.
TypeScript and JavaScript
Section titled “TypeScript and JavaScript”npm install vertical-weatherimport { getProfile } from "vertical-weather";
const profile = await getProfile(process.env.VERTICAL_WEATHER_API_KEY!, { latitude: 35.052, longitude: -117.985, time: "2026-10-03T18:00:00Z", altitudes_m: [1000, 2000, 5000], altitude_reference: "agl",});console.log(profile.levels[0].wind_speed_ms);Node 22.18 or later, no dependencies, types included. Package page.
Behaviour
Section titled “Behaviour”- One attempt by default. Pass
max_attempts/maxAttempts(up to 5) to retry429and503responses, waiting forRetry-After. Timeouts and network errors are never retried. - A 30-second time limit, which you can change.
- Errors carry the problem
code, the HTTP status, the request ID and, for a height outside the column, the availablecoverage.
Both packages are MIT licensed. Keep your key on a server.