{
"openapi": "3.0.0",
"info": {
"title": "Open-Meteo APIs",
"description": "Open-Meteo offers free weather forecast APIs for open-source developers and non-commercial use. No API key is required.",
"version": "1.0",
"contact": {
"name": "Open-Meteo",
"url": "https://open-meteo.com",
"email": "info@open-meteo.com"
},
"license": {
"name": "Attribution 4.0 International (CC BY 4.0)",
"url": "https://creativecommons.org/licenses/by/4.0/"
},
"termsOfService": "https://open-meteo.com/en/features#terms"
},
"paths": {
"/v1/forecast": {
"servers": [
{
"url": "https://api.open-meteo.com"
}
],
"get": {
"tags": [
"Weather Forecast APIs"
],
"summary": "7 day weather forecast for coordinates",
"description": "7 day weather variables in hourly and daily resolution for given WGS84 latitude and longitude coordinates. Available worldwide.",
"parameters": [
{
"name": "hourly",
"in": "query",
"explode": false,
"schema": {
"type": "array",
"items": {
"type": "string",
"enum": [
"temperature_2m",
"relativehumidity_2m",
"dewpoint_2m",
"apparent_temperature",
"pressure_msl",
"cloudcover",
"cloudcover_low",
"cloudcover_mid",
"cloudcover_high",
"windspeed_10m",
"windspeed_80m",
"windspeed_120m",
"windspeed_180m",
"winddirection_10m",
"winddirection_80m",
"winddirection_120m",
"winddirection_180m",
"windgusts_10m",
"shortwave_radiation",
"direct_radiation",
"direct_normal_irradiance",
"diffuse_radiation",
"vapor_pressure_deficit",
"evapotranspiration",
"precipitation",
"weathercode",
"snow_height",
"freezinglevel_height",
"soil_temperature_0cm",
"soil_temperature_6cm",
"soil_temperature_18cm",
"soil_temperature_54cm",
"soil_moisture_0_1cm",
"soil_moisture_1_3cm",
"soil_moisture_3_9cm",
"soil_moisture_9_27cm",
"soil_moisture_27_81cm"
]
}
}
},
{
"name": "daily",
"in": "query",
"schema": {
"type": "array",
"items": {
"type": "string",
"enum": [
"temperature_2m_max",
"temperature_2m_min",
"apparent_temperature_max",
"apparent_temperature_min",
"precipitation_sum",
"precipitation_hours",
"weathercode",
"sunrise",
"sunset",
"windspeed_10m_max",
"windgusts_10m_max",
"winddirection_10m_dominant",
"shortwave_radiation_sum",
"uv_index_max",
"uv_index_clear_sky_max",
"et0_fao_evapotranspiration"
]
}
}
},
{
"name": "latitude",
"in": "query",
"required": true,
"description": "WGS84 coordinate",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "longitude",
"in": "query",
"required": true,
"description": "WGS84 coordinate",
"schema": {
"type": "number",
"format": "float"
}
},
{
"name": "current_weather",
"in": "query",
"schema": {
"type": "boolean"
}
},
{
"name": "temperature_unit",
"in": "query",
"schema": {
"type": "string",
"default": "celsius",
"enum": [
"celsius",
"fahrenheit"
]
}
},
{
"name": "windspeed_unit",
"in": "query",
"schema": {
"type": "string",
"default": "kmh",
"enum": [
"kmh",
"ms",
"mph",
"kn"
]
}
},
{
"name": "timeformat",
"in": "query",
"description": "If format `unixtime` is selected, all time values are returned in UNIX epoch time in seconds. Please not that all time is then in GMT+0! For daily values with unix timestamp, please apply `utc_offset_seconds` again to get the correct date.",
"schema": {
"type": "string",
"default": "iso8601",
"enum": [
"iso8601",
"unixtime"
]
}
},
{
"name": "timezone",
"in": "query",
"description": "If `timezone` is set, all timestamps are returned as local-time and data is returned starting at 0:00 local-time. Any time zone name from the [time zone database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) is supported.",
"schema": {
"type": "string"
}
},
{
"name": "past_days",
"in": "query",
"description": "If `past_days` is set, yesterdays or the day before yesterdays data are also returned.",
"schema": {
"type": "integer",
"enum": [
1,
2
]
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"latitude": {
"type": "number",
"example": 52.52,
"description": "WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be up to 5 km away."
},
"longitude": {
"type": "number",
"example": "13.419.52",
"description": "WGS84 of the center of the weather grid-cell which was used to generate this forecast. This coordinate might be up to 5 km away."
},
"elevation": {
"type": "number",
"example": 44.812,
"description": "The elevation in meters of the selected weather grid-cell. In mountain terrain it might differ from the location you would expect."
},
"generationtime_ms": {
"type": "number",
"example": 2.2119,
"description": "Generation time of the weather forecast in milli seconds. This is mainly used for performance monitoring and improvements."
},
"utc_offset_seconds": {
"type": "integer",
"example": 3600,
"description": "Applied timezone offset from the &timezone= parameter."
},
"hourly": {
"type": "object",
"description": "For each selected weather variable, data will be returned as a floating point array. Additionally a `time` array will be returned with ISO8601 timestamps."
},
"hourly_units": {
"type": "object",
"description": "For each selected weather variable, the unit will be listed here."
},
"daily": {
"type": "object",
"description": "For each selected daily weather variable, data will be returned as a floating point array. Additionally a `time` array will be returned with ISO8601 timestamps."
},
"daily_units": {
"type": "object",
"description": "For each selected daily weather variable, the unit will be listed here."
},
"current_weather": {
"type": "object",
"description": "Current weather conditions with the attributes: time, temperature, windspeed, winddirection and weathercode"
}
}
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "boolean",
"description": "Always set true for errors"
},
"reason": {
"type": "string",
"description": "Description of the error",
"example": "Latitude must be in range of -90 to 90°. Given: 300"
}
}
}
}
}
}
}
}
}
}
}