curl --request GET \
--url https://api.aisa.one/apis/v1/openmeteo/seasonal \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/openmeteo/seasonal"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aisa.one/apis/v1/openmeteo/seasonal', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/openmeteo/seasonal",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/openmeteo/seasonal"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aisa.one/apis/v1/openmeteo/seasonal")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/openmeteo/seasonal")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"latitude": 52.5,
"longitude": 13.4,
"generationtime_ms": 1.5,
"utc_offset_seconds": 0,
"timezone": "GMT",
"daily_units": {
"time": "iso8601",
"temperature_2m_max": "°C",
"precipitation_sum": "mm"
},
"daily": {
"time": [
"2024-01-01"
],
"temperature_2m_max": [
4.5
],
"temperature_2m_min": [
1.1
],
"precipitation_sum": [
0.3
]
}
}Seasonal Forecast
Long-range seasonal forecast (ECMWF SEAS5) out to roughly six months (about 183 days ahead).
curl --request GET \
--url https://api.aisa.one/apis/v1/openmeteo/seasonal \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/openmeteo/seasonal"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aisa.one/apis/v1/openmeteo/seasonal', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/openmeteo/seasonal",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/openmeteo/seasonal"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aisa.one/apis/v1/openmeteo/seasonal")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/openmeteo/seasonal")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"latitude": 52.5,
"longitude": 13.4,
"generationtime_ms": 1.5,
"utc_offset_seconds": 0,
"timezone": "GMT",
"daily_units": {
"time": "iso8601",
"temperature_2m_max": "°C",
"precipitation_sum": "mm"
},
"daily": {
"time": [
"2024-01-01"
],
"temperature_2m_max": [
4.5
],
"temperature_2m_min": [
1.1
],
"precipitation_sum": [
0.3
]
}
}daily aggregates (e.g. temperature_2m_max, temperature_2m_min, precipitation_sum) and/or six_hourly steps (e.g. temperature_2m, precipitation); interpolated hourly variables are also available. Extend the window with forecast_days.
The response returns grid-cell metadata and the requested daily/six_hourly/hourly blocks, each with a time array, one array per variable, and a matching *_units object.
Example: GET /apis/v1/openmeteo/seasonal?latitude=52.52&longitude=13.41&daily=temperature_2m_max,temperature_2m_min,precipitation_sum&six_hourly=temperature_2m,precipitation&timezone=Europe/Berlin.
Billing: $0.00015 per call (150 micros USD), metered per request. All Open-Meteo endpoints are GET pass-through — authenticate with your AIsa API key as a bearer token (the same key used across every AIsa /apis/* endpoint); AIsa handles provider access.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
WGS84 latitude of the location. Multiple coordinates can be comma-separated.
"52.52"
WGS84 longitude of the location (negative for the Americas). Multiple coordinates can be comma-separated.
"13.41"
Comma-separated 6-hourly variables. Common values: temperature_2m, precipitation, wind_speed_10m, weather_code.
"temperature_2m,precipitation"
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_index_max.
"temperature_2m_max,temperature_2m_min,precipitation_sum"
Comma-separated list of hourly variables to return. Interpolated hourly variables (optional). 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, shortwave_radiation, visibility.
"temperature_2m"
Number of forecast days to return (0-274). Default 0.
7
Number of past days to include (0-92). Default 0.
Start of the interval, yyyy-mm-dd (ISO 8601).
"2024-01-01"
End of the interval, yyyy-mm-dd (ISO 8601).
"2024-01-07"
Temperature unit. Default celsius.
celsius, fahrenheit Wind speed unit. Default kmh.
kmh, ms, mph, kn Precipitation unit. Default mm.
mm, inch Time output format. Default iso8601.
iso8601, unixtime IANA time zone name (e.g. Europe/Berlin) or auto to resolve from coordinates. Defaults to GMT.
"Europe/Berlin"
Grid-cell preference for the coordinate. Default land.
land, sea, nearest Response
Seasonal forecast for the coordinate.
The response is of type object.