{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/api-evangelist/open-meteo/main/json-schema/open-meteo-weather-response.json", "title": "Open-Meteo Weather Response", "description": "Common response schema for Open-Meteo weather forecast and historical weather APIs", "type": "object", "properties": { "latitude": { "type": "number", "description": "WGS84 latitude of the returned data point" }, "longitude": { "type": "number", "description": "WGS84 longitude of the returned data point" }, "generationtime_ms": { "type": "number", "description": "Time in milliseconds required to generate the response" }, "utc_offset_seconds": { "type": "integer", "description": "Applied timezone offset from the timezone parameter" }, "timezone": { "type": "string", "description": "Timezone identifier (e.g. America/New_York)" }, "timezone_abbreviation": { "type": "string", "description": "Abbreviated timezone name (e.g. EST)" }, "elevation": { "type": "number", "description": "Elevation in metres of the data point above sea level" }, "hourly_units": { "type": "object", "description": "Units for each hourly variable", "additionalProperties": { "type": "string" } }, "hourly": { "type": "object", "description": "Hourly weather data", "properties": { "time": { "type": "array", "items": { "type": "string" }, "description": "ISO 8601 timestamps for each hourly data point" }, "temperature_2m": { "type": "array", "items": { "type": "number" }, "description": "Air temperature at 2 metres" }, "relative_humidity_2m": { "type": "array", "items": { "type": "number" }, "description": "Relative humidity at 2 metres (%)" }, "precipitation": { "type": "array", "items": { "type": "number" }, "description": "Total precipitation (rain + showers + snow)" }, "wind_speed_10m": { "type": "array", "items": { "type": "number" }, "description": "Wind speed at 10 metres" }, "wind_direction_10m": { "type": "array", "items": { "type": "number" }, "description": "Wind direction at 10 metres (degrees)" }, "weather_code": { "type": "array", "items": { "type": "integer" }, "description": "WMO weather interpretation code" } }, "additionalProperties": { "type": "array", "items": {} } }, "daily_units": { "type": "object", "description": "Units for each daily variable", "additionalProperties": { "type": "string" } }, "daily": { "type": "object", "description": "Daily weather aggregates", "properties": { "time": { "type": "array", "items": { "type": "string" }, "description": "ISO 8601 date strings for each daily data point" }, "temperature_2m_max": { "type": "array", "items": { "type": "number" }, "description": "Daily maximum temperature at 2 metres" }, "temperature_2m_min": { "type": "array", "items": { "type": "number" }, "description": "Daily minimum temperature at 2 metres" }, "precipitation_sum": { "type": "array", "items": { "type": "number" }, "description": "Sum of daily precipitation" }, "weather_code": { "type": "array", "items": { "type": "integer" }, "description": "WMO weather interpretation code for the day" } }, "additionalProperties": { "type": "array", "items": {} } } }, "required": ["latitude", "longitude", "generationtime_ms", "utc_offset_seconds", "timezone", "timezone_abbreviation", "elevation"] }