/openmeteo/archive
curl --request POST \
--url https://api.anysite.io/api/openmeteo/archive \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"latitude": 0,
"longitude": 0,
"start_date": "<string>",
"end_date": "<string>",
"timeout": 300,
"timezone": "GMT",
"timeformat": "iso8601",
"hourly": [],
"daily": [],
"temperature_unit": "celsius",
"wind_speed_unit": "kmh",
"precipitation_unit": "mm",
"models": [],
"elevation": 4000
}
'import requests
url = "https://api.anysite.io/api/openmeteo/archive"
payload = {
"latitude": 0,
"longitude": 0,
"start_date": "<string>",
"end_date": "<string>",
"timeout": 300,
"timezone": "GMT",
"timeformat": "iso8601",
"hourly": [],
"daily": [],
"temperature_unit": "celsius",
"wind_speed_unit": "kmh",
"precipitation_unit": "mm",
"models": [],
"elevation": 4000
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
latitude: 0,
longitude: 0,
start_date: '<string>',
end_date: '<string>',
timeout: 300,
timezone: 'GMT',
timeformat: 'iso8601',
hourly: [],
daily: [],
temperature_unit: 'celsius',
wind_speed_unit: 'kmh',
precipitation_unit: 'mm',
models: [],
elevation: 4000
})
};
fetch('https://api.anysite.io/api/openmeteo/archive', 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.anysite.io/api/openmeteo/archive",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'latitude' => 0,
'longitude' => 0,
'start_date' => '<string>',
'end_date' => '<string>',
'timeout' => 300,
'timezone' => 'GMT',
'timeformat' => 'iso8601',
'hourly' => [
],
'daily' => [
],
'temperature_unit' => 'celsius',
'wind_speed_unit' => 'kmh',
'precipitation_unit' => 'mm',
'models' => [
],
'elevation' => 4000
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/openmeteo/archive"
payload := strings.NewReader("{\n \"latitude\": 0,\n \"longitude\": 0,\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"timeout\": 300,\n \"timezone\": \"GMT\",\n \"timeformat\": \"iso8601\",\n \"hourly\": [],\n \"daily\": [],\n \"temperature_unit\": \"celsius\",\n \"wind_speed_unit\": \"kmh\",\n \"precipitation_unit\": \"mm\",\n \"models\": [],\n \"elevation\": 4000\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/openmeteo/archive")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"latitude\": 0,\n \"longitude\": 0,\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"timeout\": 300,\n \"timezone\": \"GMT\",\n \"timeformat\": \"iso8601\",\n \"hourly\": [],\n \"daily\": [],\n \"temperature_unit\": \"celsius\",\n \"wind_speed_unit\": \"kmh\",\n \"precipitation_unit\": \"mm\",\n \"models\": [],\n \"elevation\": 4000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/openmeteo/archive")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"latitude\": 0,\n \"longitude\": 0,\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"timeout\": 300,\n \"timezone\": \"GMT\",\n \"timeformat\": \"iso8601\",\n \"hourly\": [],\n \"daily\": [],\n \"temperature_unit\": \"celsius\",\n \"wind_speed_unit\": \"kmh\",\n \"precipitation_unit\": \"mm\",\n \"models\": [],\n \"elevation\": 4000\n}"
response = http.request(request)
puts response.read_body[
{
"latitude": 123,
"longitude": 123,
"@type": "OpenmeteoWeather",
"generation_time_ms": 123,
"utc_offset_seconds": 123,
"timezone": "<string>",
"timezone_abbreviation": "<string>",
"elevation": 123,
"current": {
"@type": "OpenmeteoCurrentConditions",
"units": {},
"values": {}
},
"minutely_15": {
"@type": "OpenmeteoTimeSeries",
"units": {},
"records": []
},
"hourly": {
"@type": "OpenmeteoTimeSeries",
"units": {},
"records": []
},
"daily": {
"@type": "OpenmeteoTimeSeries",
"units": {},
"records": []
}
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/openmeteo
/openmeteo/archive
Get historical weather (ERA5 reanalysis) for a geographic point over a date interval
Price: 1 credit
⚠️ Common errors: 412: No data available for the location
POST
/
api
/
openmeteo
/
archive
/openmeteo/archive
curl --request POST \
--url https://api.anysite.io/api/openmeteo/archive \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"latitude": 0,
"longitude": 0,
"start_date": "<string>",
"end_date": "<string>",
"timeout": 300,
"timezone": "GMT",
"timeformat": "iso8601",
"hourly": [],
"daily": [],
"temperature_unit": "celsius",
"wind_speed_unit": "kmh",
"precipitation_unit": "mm",
"models": [],
"elevation": 4000
}
'import requests
url = "https://api.anysite.io/api/openmeteo/archive"
payload = {
"latitude": 0,
"longitude": 0,
"start_date": "<string>",
"end_date": "<string>",
"timeout": 300,
"timezone": "GMT",
"timeformat": "iso8601",
"hourly": [],
"daily": [],
"temperature_unit": "celsius",
"wind_speed_unit": "kmh",
"precipitation_unit": "mm",
"models": [],
"elevation": 4000
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
latitude: 0,
longitude: 0,
start_date: '<string>',
end_date: '<string>',
timeout: 300,
timezone: 'GMT',
timeformat: 'iso8601',
hourly: [],
daily: [],
temperature_unit: 'celsius',
wind_speed_unit: 'kmh',
precipitation_unit: 'mm',
models: [],
elevation: 4000
})
};
fetch('https://api.anysite.io/api/openmeteo/archive', 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.anysite.io/api/openmeteo/archive",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'latitude' => 0,
'longitude' => 0,
'start_date' => '<string>',
'end_date' => '<string>',
'timeout' => 300,
'timezone' => 'GMT',
'timeformat' => 'iso8601',
'hourly' => [
],
'daily' => [
],
'temperature_unit' => 'celsius',
'wind_speed_unit' => 'kmh',
'precipitation_unit' => 'mm',
'models' => [
],
'elevation' => 4000
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/openmeteo/archive"
payload := strings.NewReader("{\n \"latitude\": 0,\n \"longitude\": 0,\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"timeout\": 300,\n \"timezone\": \"GMT\",\n \"timeformat\": \"iso8601\",\n \"hourly\": [],\n \"daily\": [],\n \"temperature_unit\": \"celsius\",\n \"wind_speed_unit\": \"kmh\",\n \"precipitation_unit\": \"mm\",\n \"models\": [],\n \"elevation\": 4000\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/openmeteo/archive")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"latitude\": 0,\n \"longitude\": 0,\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"timeout\": 300,\n \"timezone\": \"GMT\",\n \"timeformat\": \"iso8601\",\n \"hourly\": [],\n \"daily\": [],\n \"temperature_unit\": \"celsius\",\n \"wind_speed_unit\": \"kmh\",\n \"precipitation_unit\": \"mm\",\n \"models\": [],\n \"elevation\": 4000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/openmeteo/archive")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"latitude\": 0,\n \"longitude\": 0,\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"timeout\": 300,\n \"timezone\": \"GMT\",\n \"timeformat\": \"iso8601\",\n \"hourly\": [],\n \"daily\": [],\n \"temperature_unit\": \"celsius\",\n \"wind_speed_unit\": \"kmh\",\n \"precipitation_unit\": \"mm\",\n \"models\": [],\n \"elevation\": 4000\n}"
response = http.request(request)
puts response.read_body[
{
"latitude": 123,
"longitude": 123,
"@type": "OpenmeteoWeather",
"generation_time_ms": 123,
"utc_offset_seconds": 123,
"timezone": "<string>",
"timezone_abbreviation": "<string>",
"elevation": 123,
"current": {
"@type": "OpenmeteoCurrentConditions",
"units": {},
"values": {}
},
"minutely_15": {
"@type": "OpenmeteoTimeSeries",
"units": {},
"records": []
},
"hourly": {
"@type": "OpenmeteoTimeSeries",
"units": {},
"records": []
},
"daily": {
"@type": "OpenmeteoTimeSeries",
"units": {},
"records": []
}
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
application/json
Required range:
-90 <= x <= 90Required range:
-180 <= x <= 180Required range:
20 <= x <= 1500Available options:
iso8601, unixtime Available options:
temperature_2m, relative_humidity_2m, dew_point_2m, apparent_temperature, precipitation_probability, precipitation, rain, showers, snowfall, snow_depth, weather_code, pressure_msl, surface_pressure, cloud_cover, cloud_cover_low, cloud_cover_mid, cloud_cover_high, visibility, evapotranspiration, et0_fao_evapotranspiration, vapour_pressure_deficit, wind_speed_10m, wind_speed_80m, wind_speed_120m, wind_speed_180m, wind_direction_10m, wind_direction_80m, wind_direction_120m, wind_direction_180m, wind_gusts_10m, temperature_80m, temperature_120m, temperature_180m, soil_temperature_0cm, soil_temperature_6cm, soil_temperature_18cm, soil_temperature_54cm, soil_moisture_0_to_1cm, soil_moisture_1_to_3cm, soil_moisture_3_to_9cm, soil_moisture_9_to_27cm, soil_moisture_27_to_81cm, is_day, uv_index, uv_index_clear_sky, cape, freezing_level_height, shortwave_radiation, direct_radiation, diffuse_radiation, direct_normal_irradiance, global_tilted_irradiance, terrestrial_radiation, temperature_1000hPa, temperature_975hPa, temperature_950hPa, temperature_925hPa, temperature_900hPa, temperature_850hPa, temperature_800hPa, temperature_700hPa, temperature_600hPa, temperature_500hPa, temperature_400hPa, temperature_300hPa, temperature_250hPa, temperature_200hPa, temperature_150hPa, temperature_100hPa, temperature_70hPa, temperature_50hPa, temperature_30hPa, relative_humidity_1000hPa, relative_humidity_975hPa, relative_humidity_950hPa, relative_humidity_925hPa, relative_humidity_900hPa, relative_humidity_850hPa, relative_humidity_800hPa, relative_humidity_700hPa, relative_humidity_600hPa, relative_humidity_500hPa, relative_humidity_400hPa, relative_humidity_300hPa, relative_humidity_250hPa, relative_humidity_200hPa, relative_humidity_150hPa, relative_humidity_100hPa, relative_humidity_70hPa, relative_humidity_50hPa, relative_humidity_30hPa, dew_point_1000hPa, dew_point_975hPa, dew_point_950hPa, dew_point_925hPa, dew_point_900hPa, dew_point_850hPa, dew_point_800hPa, dew_point_700hPa, dew_point_600hPa, dew_point_500hPa, dew_point_400hPa, dew_point_300hPa, dew_point_250hPa, dew_point_200hPa, dew_point_150hPa, dew_point_100hPa, dew_point_70hPa, dew_point_50hPa, dew_point_30hPa, cloud_cover_1000hPa, cloud_cover_975hPa, cloud_cover_950hPa, cloud_cover_925hPa, cloud_cover_900hPa, cloud_cover_850hPa, cloud_cover_800hPa, cloud_cover_700hPa, cloud_cover_600hPa, cloud_cover_500hPa, cloud_cover_400hPa, cloud_cover_300hPa, cloud_cover_250hPa, cloud_cover_200hPa, cloud_cover_150hPa, cloud_cover_100hPa, cloud_cover_70hPa, cloud_cover_50hPa, cloud_cover_30hPa, wind_speed_1000hPa, wind_speed_975hPa, wind_speed_950hPa, wind_speed_925hPa, wind_speed_900hPa, wind_speed_850hPa, wind_speed_800hPa, wind_speed_700hPa, wind_speed_600hPa, wind_speed_500hPa, wind_speed_400hPa, wind_speed_300hPa, wind_speed_250hPa, wind_speed_200hPa, wind_speed_150hPa, wind_speed_100hPa, wind_speed_70hPa, wind_speed_50hPa, wind_speed_30hPa, wind_direction_1000hPa, wind_direction_975hPa, wind_direction_950hPa, wind_direction_925hPa, wind_direction_900hPa, wind_direction_850hPa, wind_direction_800hPa, wind_direction_700hPa, wind_direction_600hPa, wind_direction_500hPa, wind_direction_400hPa, wind_direction_300hPa, wind_direction_250hPa, wind_direction_200hPa, wind_direction_150hPa, wind_direction_100hPa, wind_direction_70hPa, wind_direction_50hPa, wind_direction_30hPa, geopotential_height_1000hPa, geopotential_height_975hPa, geopotential_height_950hPa, geopotential_height_925hPa, geopotential_height_900hPa, geopotential_height_850hPa, geopotential_height_800hPa, geopotential_height_700hPa, geopotential_height_600hPa, geopotential_height_500hPa, geopotential_height_400hPa, geopotential_height_300hPa, geopotential_height_250hPa, geopotential_height_200hPa, geopotential_height_150hPa, geopotential_height_100hPa, geopotential_height_70hPa, geopotential_height_50hPa, geopotential_height_30hPa, vertical_velocity_1000hPa, vertical_velocity_975hPa, vertical_velocity_950hPa, vertical_velocity_925hPa, vertical_velocity_900hPa, vertical_velocity_850hPa, vertical_velocity_800hPa, vertical_velocity_700hPa, vertical_velocity_600hPa, vertical_velocity_500hPa, vertical_velocity_400hPa, vertical_velocity_300hPa, vertical_velocity_250hPa, vertical_velocity_200hPa, vertical_velocity_150hPa, vertical_velocity_100hPa, vertical_velocity_70hPa, vertical_velocity_50hPa, vertical_velocity_30hPa Available options:
weather_code, temperature_2m_max, temperature_2m_min, apparent_temperature_max, apparent_temperature_min, sunrise, sunset, daylight_duration, sunshine_duration, uv_index_max, uv_index_clear_sky_max, precipitation_sum, rain_sum, showers_sum, snowfall_sum, precipitation_hours, precipitation_probability_max, wind_speed_10m_max, wind_gusts_10m_max, wind_direction_10m_dominant, shortwave_radiation_sum, et0_fao_evapotranspiration Available options:
celsius, fahrenheit Available options:
kmh, ms, mph, kn Available options:
mm, inch Available options:
best_match, era5_seamless, era5, era5_land, ecmwf_ifs, cerra Available options:
land, sea, nearest Required range:
-1000 <= x <= 9000Response
Successful Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes