Bottle API Documentation Full reference

Weather API

Current conditions with a 48 hour and 8 day forecast for any coordinate, the active National Weather Service watches, warnings and advisories covering a point, the detailed multi-day or hourly NWS forecast, the raw NWS text products including the forecast discussion, and daily historical weather over an arbitrary date range.

The forecast side reads the National Weather Service directly. History reads ERA5, the reanalysis dataset, which is why it can answer for dates long before any forecast was issued.

Endpoints

8 endpoints. Request and response examples for each one are in the full reference.

MethodEndpointWhat it returns
GET /weatherapi.aquabotany.com Current conditions plus a 48-hour and 8-day forecast for a coordinate. Units are metric: °C, m/s, hPa, metres, and epoch-second timestamps. The stats block adds derived daylight figures. Sourced from Open-Meteo since 2026-08-02 (previously OpenWeather); the field layout is unchanged. Government weather warnings are not included here. Use /weather/alerts , which serves them from the National Weather Service.
GET /weather/alertsapi.aquabotany.com Active NWS watches, warnings, and advisories covering a point.
GET /weather/forecastapi.aquabotany.com Detailed multi-day (or hourly) NWS forecast for a coordinate.
GET /weather/historyapi.aquabotany.com Daily historical weather over a date range (ERA5 reanalysis).
GET /weather/productapi.aquabotany.com The latest NWS text product (forecast discussion, roundup, etc.).
GET /weather/seasonal-adviceapi.aquabotany.com Seasonal gardening advice for the location.
GET /weather/zoneapi.aquabotany.com Look up the hardiness zone by lat/lon query params.
POST /weather/zoneapi.aquabotany.com Look up the hardiness zone by JSON body (zip or lat/lon).

Where the data comes from

DataPublished by
Current conditions, forecasts, alerts and text products NOAA National Weather Service (api.weather.gov)
Daily historical weather ERA5 reanalysis, via the Open-Meteo archive
Plant hardiness zone lookup Derived from coordinate or postal code

Getting started

Every endpoint is JSON over HTTPS and takes one API key in an x-api-key header. There is no SDK to install and no OAuth dance.

curl "https://api.aquabotany.com/v1/weather?lat=44.98&lon=-93.27" \
  -H "x-api-key: $BBL_API_KEY"

Quickstart, authentication and errors and rate limits are documented in the reference. Keys are issued from the Bottle Blue dashboard.

Common questions

Which weather service is behind this API?

The National Weather Service, read directly from api.weather.gov, for current conditions, forecasts, alerts and text products. That also sets the coverage: NWS is a United States service, so the alert and text product endpoints are United States only.

Can I get severe weather alerts for a specific point?

Yes. The alerts endpoint returns the active watches, warnings and advisories whose polygons cover a coordinate, rather than everything in a state or zone. That is usually what an application wants, since a county-level query over-reports.

How far back does weather history go?

History is served from the ERA5 reanalysis rather than from station observations, so it answers for a date range well beyond what a forecast archive would hold. The endpoint takes a start and end date and returns daily values.

What is the forecast discussion endpoint for?

It returns the latest National Weather Service text product for an office, including the area forecast discussion that meteorologists write to explain their reasoning. It is raw text, and it is the thing to read when a number-only forecast is not enough.