Open-Meteo Historical Forecast API docs

Open Playground →

Start building

Send your first request

Platform API endpoint with unified authentication and usage tracking.

Production API
Platform API endpoint
https://api.sandbase.ai/v1/api/open-meteo/historical-forecast
Authorization header
Authorization: Bearer $SANDBASE_API_KEY
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
  -X POST "https://api.sandbase.ai/v1/api/open-meteo/historical-forecast" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'SANDBASE_JSON'
{
  "daily": "temperature_2m_max",
  "hourly": "temperature_2m,precipitation,wind_speed_10m",
  "models": "best_match",
  "end_date": "2024-01-07",
  "latitude": "52.52",
  "timezone": "auto",
  "elevation": "38",
  "longitude": "13.41",
  "start_date": "2024-01-01",
  "timeformat": "iso8601",
  "cell_selection": "land",
  "wind_speed_unit": "kmh",
  "temperature_unit": "celsius",
  "precipitation_unit": "mm"
}
SANDBASE_JSON
)
printf '%s\n' "$result"

2. Authentication

Set your SandBase API key in your server environment. Requests use Bearer authentication.

API key environment variable
export SANDBASE_API_KEY="YOUR_API_KEY"

Keep your key on the server. Do not expose it in browser code.

3. Parameters

end_datestringrequired

End of the interval, `yyyy-mm-dd` (ISO 8601).

latitudestringrequired

WGS84 latitude of the location. Multiple coordinates can be comma-separated.

longitudestringrequired

WGS84 longitude of the location (negative for the Americas). Multiple coordinates can be comma-separated.

start_datestringrequired

Start of the interval, `yyyy-mm-dd` (ISO 8601).

cell_selectionstring

Grid-cell preference for the coordinate. Default `land`.

Default: "land"

Possible values: land, sea, nearest

dailystring

Comma-separated list of daily aggregation variables to return. Requires `timezone`. Common values: `temperature_2m_max`, `temperature_2m_min`, `temperature_2m_mean`, `precipitation_sum`, `rain_sum`, `snowfall_sum`, `weather_code`, `sunrise`, `sunset`, `sunshine_duration`, `wind_speed_10m_max`, `uv_i

elevationstring

Manual elevation (meters). Defaults to a 90m DEM.

hourlystring

Comma-separated list of hourly variables to return. Common values: `temperature_2m`, `relative_humidity_2m`, `dew_point_2m`, `apparent_temperature`, `precipitation`, `rain`, `showers`, `snowfall`, `weather_code`, `pressure_msl`, `cloud_cover`, `wind_speed_10m`, `wind_direction_10m`, `wind_gusts_10m`

modelsstring

Comma-separated forecast models to retrieve archived runs for. Default best match.

precipitation_unitstring

Precipitation unit. Default `mm`.

Default: "mm"

Possible values: mm, inch

temperature_unitstring

Temperature unit. Default `celsius`.

Default: "celsius"

Possible values: celsius, fahrenheit

timeformatstring

Time output format. Default `iso8601`.

Default: "iso8601"

Possible values: iso8601, unixtime

timezonestring

IANA time zone name (e.g. `Europe/Berlin`) or `auto` to resolve from coordinates. Defaults to `GMT`.

wind_speed_unitstring

Wind speed unit. Default `kmh`.

Default: "kmh"

Possible values: kmh, ms, mph, kn

4. Response

Saved example response for this API; no live request is made when viewing it.

No saved response has been published. Run the API in Playground to inspect its response.