---
title: "Current weather"
method: GET
path: "/current_weather"
---

# Current weather

`GET /current_weather`

Returns current weather for a given location.

To set the location for which to retrieve weather, you must supply both
`lat` and `lon` _or_ one of `dwd_station_id`, `wmo_station_id`, or
`source_id`.

This endpoint is different from the other weather endpoints in that it does
not directly correspond to any of the data available from the DWD Open Data
server. Instead, it is a best-effort solution to reflect current weather
conditions by compiling [SYNOP observations](/operations/getSynop) from the
past one and a half hours.

## Query parameters

- `lat` number — Latitude in decimal degrees.
- `lon` number — Longitude in decimal degrees.
- `max_dist` integer — Maximum distance of record location from the location given by `lat` and `lon`, in meters. Only has an effect when using `lat` and `lon`.
- `dwd_station_id` string[] — DWD station ID, typically five alphanumeric characters. You can supply multiple station IDs separated by commas, ordered from highest to lowest priority.
- `wmo_station_id` string[] — WMO station ID, typically five alphanumeric characters. You can supply multiple station IDs separated by commas, ordered from highest to lowest priority.
- `source_id` integer[] — Bright Sky source ID, as retrieved from the [`/sources` endpoint](/operations/getSources). You can supply multiple source IDs separated by commas, ordered from highest to lowest priority.
- `tz` string — Timezone in which record timestamps will be presented, as <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">tz database name</a>. Will also be used as timezone when parsing `date` and `last_date`, unless these have explicit UTC offsets. If omitted but `date` has an explicit UTC offset, that offset will be used as timezone. Otherwise will default to UTC.
- `units` 'dwd' | 'si' — Physical units in which meteorological parameters will be returned. Set to `si` to use <a href="https://en.wikipedia.org/wiki/International_System_of_Units">SI units</a> (except for precipitation, which is always measured in millimeters). The default `dwd` option uses a set of units that is more common in meteorological applications and civil use: <table> <tr><td></td><td>DWD</td><td>SI</td></tr> <tr><td>Cloud cover</td><td>%</td><td>%</td></tr> <tr><td>Dew point</td><td>°C</td><td>K</td></tr> <tr><td>Precipitation</td><td>mm</td><td><s>kg / m²</s> <strong>mm</strong></td></tr> <tr><td>Precipitation probability</td><td>%</td><td>%</td></tr> <tr><td>Pressure</td><td>hPa</td><td>Pa</td></tr> <tr><td>Relative humidity</td><td>%</td><td>%</td></tr> <tr><td>Solar irradiation</td><td>kWh / m²</td><td>J / m²</td></tr> <tr><td>Sunshine</td><td>min</td><td>s</td></tr> <tr><td>Temperature</td><td>°C</td><td>K</td></tr> <tr><td>Visibility</td><td>m</td><td>m</td></tr> <tr><td>Wind (gust) direction</td><td>°</td><td>°</td></tr> <tr><td>Wind (gust) speed</td><td>km / h</td><td>m / s</td></tr> </table>

## Response `200`

Successful Response

- CurrentWeatherResponse
  - `weather` CurrentWeatherRecord
    - `timestamp` string, date-time — ISO 8601-formatted timestamp of this weather record
    - `source_id` integer — Bright Sky source ID for this record
    - `cloud_cover` number, nullable — Total cloud cover at timestamp
    - `condition` 'dry' | 'fog' | 'rain' | 'sleet' | 'snow' | 'hail' | 'thunderstorm', nullable — Current weather conditions. Unlike the numerical parameters, this field is not taken as-is from the raw data (because it does not exist), but is calculated from different fields in the raw data as a best effort. Not all values are available for all source types.
    - `dew_point` number, nullable — Dew point at timestamp, 2 m above ground
    - `icon` 'clear-day' | 'clear-night' | 'partly-cloudy-day' | 'partly-cloudy-night' | 'cloudy' | 'fog' | 'wind' | 'rain' | 'sleet' | 'snow' | 'hail' | 'thunderstorm', nullable — Icon alias suitable for the current weather conditions. Unlike the numerical parameters, this field is not taken as-is from the raw data (because it does not exist), but is calculated from different fields in the raw data as a best effort. Not all values are available for all source types.
    - `pressure_msl` number, nullable — Atmospheric pressure at timestamp, reduced to mean sea level
    - `relative_humidity` integer, nullable — Relative humidity at timestamp
    - `temperature` number, nullable — Air temperature at timestamp, 2 m above the ground
    - `visibility` integer, nullable — Visibility at timestamp
    - `fallback_source_ids` object — Object mapping meteorological parameters to the source IDs of alternative sources that were used to fill up missing values in the main source
    - `precipitation_10` number, nullable — Total precipitation during previous 10 minutes
    - `precipitation_30` number, nullable — Total precipitation during previous 30 minutes
    - `precipitation_60` number, nullable — Total precipitation during previous 60 minutes
    - `solar_10` number, nullable — Solar irradiation during previous 10 minutes
    - `solar_30` number, nullable — Solar irradiation during previous 30 minutes
    - `solar_60` number, nullable — Solar irradiation during previous 60 minutes
    - `sunshine_30` integer, nullable — Sunshine duration during previous 30 minutes
    - `sunshine_60` integer, nullable — Sunshine duration during previous 60 minutes
    - `wind_direction_10` integer, nullable — Mean wind direction during previous 10 minutes, 10 m above the ground
    - `wind_direction_30` integer, nullable — Mean wind direction during previous 30 minutes, 10 m above the ground
    - `wind_direction_60` integer, nullable — Mean wind direction during previous 60 minutes, 10 m above the ground
    - `wind_speed_10` number, nullable — Mean wind speed during previous 10 minutes, 10 m above the ground
    - `wind_speed_30` number, nullable — Mean wind speed during previous 30 minutes, 10 m above the ground
    - `wind_speed_60` number, nullable — Mean wind speed during previous 60 minutes, 10 m above the ground
    - `wind_gust_direction_10` integer, nullable — Direction of maximum wind gust during previous 10 minutes, 10 m above the ground
    - `wind_gust_direction_30` integer, nullable — Direction of maximum wind gust during previous 30 minutes, 10 m above the ground
    - `wind_gust_direction_60` integer, nullable — Direction of maximum wind gust during previous 60 minutes, 10 m above the ground
    - `wind_gust_speed_10` number, nullable — Speed of maximum wind gust during previous 10 minutes, 10 m above the ground
    - `wind_gust_speed_30` number, nullable — Speed of maximum wind gust during previous 30 minutes, 10 m above the ground
    - `wind_gust_speed_60` number, nullable — Speed of maximum wind gust during previous 60 minutes, 10 m above the ground
  - `sources` Source[]
    - `id` integer — Bright Sky source ID
    - `dwd_station_id` string, nullable — DWD weather station ID
    - `wmo_station_id` string, nullable — WMO weather station ID
    - `station_name` string, nullable — DWD weather station name
    - `observation_type` 'historical' | 'current' | 'synop' | 'forecast' — Source type
    - `first_record` string, date-time — Timestamp of first available record for this source
    - `last_record` string, date-time — Timestamp of latest available record for this source
    - `lat` number — Station latitude, in decimal degrees
    - `lon` number — Station longitude, in decimal degrees
    - `height` number — Station height, in meters
    - `distance` integer — Distance of weather station to the requested `lat` and `lon` (if given), in meters

## Other responses

- `404` — Not Found
- `422` — Validation Error

---

[API](https://skmtc.dev/brightsky/apis/bright-sky.md) · [All operations](https://skmtc.dev/brightsky/apis/bright-sky/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/brightsky/bright-sky/revisions/d9d6acc7794a/schema)
