# Open-Meteo Historical Forecast API

> Archived high-resolution weather model forecasts by coordinates and date range, as they were issued.

Source: https://www.sandbase.ai/apis/open-meteo/historical-forecast
API reference: https://www.sandbase.ai/apis/open-meteo/historical-forecast/docs

## Facts

- Provider: Open-Meteo
- Type: Data API
- Endpoint: `POST https://api.sandbase.ai/v1/api/open-meteo/historical-forecast`
- Price: $0.0001 per call
- Free allowance: 100 calls per organization per UTC day, shared across eligible APIs
- Capabilities: api, open meteo, weather
- Billing: pay per use from one SandBase balance; no provider account or subscription needed

## Call it

`POST https://api.sandbase.ai/v1/api/open-meteo/historical-forecast` with `Authorization: Bearer $SANDBASE_API_KEY` and the parameters as a JSON body.

| Parameter | Type | Required | Allowed values |
| --- | --- | --- | --- |
| `end_date` | string | yes |  |
| `latitude` | string | yes |  |
| `longitude` | string | yes |  |
| `start_date` | string | yes |  |
| `cell_selection` | string | no | land, sea, nearest |
| `daily` | string | no |  |
| `elevation` | string | no |  |
| `hourly` | string | no |  |
| `models` | string | no |  |
| `precipitation_unit` | string | no | mm, inch |
| `temperature_unit` | string | no | celsius, fahrenheit |
| `timeformat` | string | no | iso8601, unixtime |
| `timezone` | string | no |  |
| `wind_speed_unit` | string | no | kmh, ms, mph, kn |

## FAQ

### How do I use the Open-Meteo Historical Forecast API?

Send a POST request to https://api.sandbase.ai/v1/api/open-meteo/historical-forecast with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.

### How much does the Open-Meteo Historical Forecast API cost?

$0.0001 per call. Every organization gets 100 free calls per UTC day, shared across eligible SandBase APIs including this one; after that each call is billed at this price from your SandBase balance. There is no subscription.

### What parameters does the Open-Meteo Historical Forecast API accept?

Required: end_date (string), latitude (string), longitude (string) and start_date (string). Optional: cell_selection (one of land, sea, nearest), daily (string), elevation (string), hourly (string), models (string) and precipitation_unit (one of mm, inch) and 4 more. The Parameters table and the Playground on this page list every field.

### What does the Open-Meteo Historical Forecast API return?

A JSON response returned in the same HTTP request (synchronous).

### Do I need a Open-Meteo developer account or API key?

No. Open-Meteo Historical Forecast runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for Open-Meteo API access separately.

## README

### Open-Meteo Historical Forecast API

Archived high-resolution weather model forecasts by coordinates and date range, as they were issued.

The result is returned in `outputs[0].data` as the official Open-Meteo API response, unchanged.

#### Request

```bash
curl -X POST "https://api.sandbase.ai/v1/api/open-meteo/historical-forecast" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"end_date": "2024-01-07", "latitude": "52.52", "longitude": "13.41", "start_date": "2024-01-01", "daily": "temperature_2m_max", "timezone": "auto"}'
```

#### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `cell_selection` | string | No | Grid-cell preference for the coordinate. Default `land`. |
| `daily` | string | No | Comma-separated list of daily aggregation variables to return. Requires `timezone`. Common values: `temperature_2m_max`, `temperature_2m_min`, `temperature_2m_m |
| `elevation` | string | No | Manual elevation (meters). Defaults to a 90m DEM. |
| `end_date` | string | Yes | End of the interval, `yyyy-mm-dd` (ISO 8601). |
| `hourly` | string | No | Comma-separated list of hourly variables to return. Common values: `temperature_2m`, `relative_humidity_2m`, `dew_point_2m`, `apparent_temperature`, `precipitat |
| `latitude` | string | Yes | WGS84 latitude of the location. Multiple coordinates can be comma-separated. |
| `longitude` | string | Yes | WGS84 longitude of the location (negative for the Americas). Multiple coordinates can be comma-separated. |
| `models` | string | No | Comma-separated forecast models to retrieve archived runs for. Default best match. |
| `precipitation_unit` | string | No | Precipitation unit. Default `mm`. |
| `start_date` | string | Yes | Start of the interval, `yyyy-mm-dd` (ISO 8601). |
| `temperature_unit` | string | No | Temperature unit. Default `celsius`. |
| `timeformat` | string | No | Time output format. Default `iso8601`. |
| `timezone` | string | No | IANA time zone name (e.g. `Europe/Berlin`) or `auto` to resolve from coordinates. Defaults to `GMT`. |
| `wind_speed_unit` | string | No | Wind speed unit. Default `kmh`. |

#### Pricing

Flat price per call. Failed calls are not charged.
