Basic Examples
The endpoints /climate/tmy
, /observation/realtime
,
/forecast/basic
and
/forecast/precision
all have meaningful
default arguments, with only lat
and lon
being required.
Note: These examples use our demo API URL. No registration required!
See Free lat/lon locations for more information on how you can test the
Meteonorm API free of charge. For operational use, replace demo.meteonorm.com
with
api.meteonorm.com
.
macOS/Linux Windows Powershell Windows CMD
curl -H "Authorization: Bearer demo0000-0000-0000-0000-000000000000" \
--get \
--data "lat=50" \
--data "lon=10" \
"https://demo.meteonorm.com/v1/climate/tmy"
curl -H "Authorization: Bearer demo0000-0000-0000-0000-000000000000" \
--get \
--data "lat=50" \
--data "lon=10" \
"https://demo.meteonorm.com/v1/observation/realtime"
curl -H "Authorization: Bearer demo0000-0000-0000-0000-000000000000" \
--get \
--data "lat=50" \
--data "lon=10" \
"https://demo.meteonorm.com/v1/forecast/basic"
curl -H "Authorization: Bearer demo0000-0000-0000-0000-000000000000" \
--get \
--data "lat=50" \
--data "lon=10" \
"https://demo.meteonorm.com/v1/forecast/precision"
All these requests will return a JSON response containing a time series.
Example of a response:
{
"start_times" : [
"2025-04-22T12:00:00Z" , "2025-04-22T13:00:00Z" , "2025-04-22T14:00:00Z" ,
...
],
"end_times" : [
"2025-04-22T13:00:00Z" , "2025-04-22T14:00:00Z" , "2025-04-22T15:00:00Z" ,
...
],
"values" : {
"global_horizontal_irradiance" : [
305 , 309 , 209 , ...
],
"temperature" : [
4.9 , 4.9 , 5.0 , ...
],
"diffuse_horizontal_irradiance" : null ,
"diffuse_horizontal_irradiance_with_shading" : null ,
...
},
"meta" : {
"lat" : 50 ,
"lon" : 10 ,
"altitude" : 290 ,
"frequency" : "1_hour" ,
"surface_azimuth" : 0 ,
"surface_tilt" : 0 ,
"parameters" : [
{
"name" : "global_horizontal_irradiance" ,
"description" : "Global horizontal irradiance" ,
"unit" : {
"description" : "Watt per square meter" ,
"name" : "W/m**2"
},
"aggregation_method" : "average"
},
{
"name" : "temperature" ,
"description" : "Air temperature, 2 m above ground." ,
"unit" : {
"description" : "degrees Celsius" ,
"name" : "°C"
},
"aggregation_method" : "average"
}
]
}
}
Explanations:
In order to avoid any ambiguity, the start and end of every time interval is defined
explicitely.
The "values"
attribute of the response contains keys for all
the parameters available for the endpoint, with non-requested parameters set to null
.
Download the OpenAPI file
Last modified on August 25, 2025