<!-- block-id: concept -->

## One Call API 4.0

### Product concept

**One Call API 4.0** is a unified weather intelligence API designed to give developers, digital products, and enterprise teams access to current weather, short-term forecasts, long-range daily outlooks, historical weather records, and official weather alerts through a single integration. Instead of combining multiple weather endpoints and datasets, users can request highly relevant weather information for any latitude and longitude from one product family built around a consistent response structure.

One Call API 4.0 contains 6 endpoints and provides access to various data:

- [**Current** weather conditions](#current)
- [**Minute-by-minute forecast** data for the next 60 minutes](#min)
- [**15-minute forecast** data for the next 48 hours](#15min)
- [**Hourly weather timelines** spanning 47 years of history and 48 hours of forecast](#hourly)
- [**Daily weather timelines** spanning 47 years of history and up to 1.5 years ahead](#daily)
- [**Detailed weather alert **information from national agencies](#alerts)

One Call API 4.0 is based on the proprietary [**OWHL ™ OpenWeather Hyper-Local Forecasting Model**](https://openweather.co.uk/hyper-local-forecasting-model) and is updated every 10 minutes. Thus, in order to receive the most accurate and up-to-date weather data, we recommend you request One Call API 4.0 every 10 minutes.

- [Product features](/api/one-call-4-desciption.md)

> Please note that One Call API 4.0 is included only in the ["One Call by Call"](/price.md) subscription. This separate subscription includes **1,000 calls/day for free **and allows you to pay only for the number of API calls made to this product above the daily free limit.
>
> No other OpenWeather subscription plans are required to access One Call API 4.0. For more information, please visit the [pricing page](/price.md) and [FAQ](/faq.md#onecall), or ask [Ulla, OpenWeather AI assistant](/chat.md).

<!-- block-id: start -->

## How to start

#### Sign up

[Sign up](https://home.openweathermap.org/users/sign_up) for the OpenWeather service if you do not have an [OpenWeather API key](https://home.openweathermap.org/api_keys) yet.

#### Follow the pricing page

Visit the [pricing page](/price.md#onecall) to learn more about pricing.

> One Call API 4.0 is included only in a separate subscription and allows you to pay only for the number of API calls made to this product. Please find more details on the [pricing page](/price.md#onecall).

#### 2,000 API calls per day

Once you subscribe to One Call API 4.0, 2,000 API calls per day to this product are set up by default. If you want to change this limit, please go to the ["Billing plans" tab](https://home.openweathermap.org/subscriptions)in your Personal account to update standard settings. You can find more information on the [FAQ](/faq.md#onecall) or ask [Ulla, OpenWeather AI assistant](/chat.md).

#### Desired type of data

Select the desired data type and make an API call according to the relevant technical documentation section, remembering to add your key to each call.

<!-- block-id: pagination -->

## Pagination & response limits

Some One Call API 4.0 endpoints may return large datasets, especially when requesting forecast or historical weather data. To improve API performance and ensure efficient data delivery, responses can be split into multiple pages.

When pagination is applied, the API response includes a fully prepared URL for retrieving the next page of data.

### How pagination works

1. Send a request to the API endpoint.
2. Receive a response containing weather data and, if additional data is available,  `next`  or `prev` fields.
3. Use the URL provided in the `next`  or `prev` field to request the next or previous page of results.

### Example of API response

```json
{
  "lat": 51.5,
  "lon": -0.1,
  "timezone": "Europe/London",
  "timezone_offset": 3600,
  "data": [
    {
      "dt": 1777460400,
      "sunrise": 1777437375,
      "sunset": 1777490344,
      "moonrise": 1777482960,
      "moonset": 1777433400,
      "moon_phase": 0.43,
      ...
	  }
    ...
  ],
  "prev": "https://api.openweathermap.org/data/4.0/onecall/timeline/1day?cnt=10&lat=51.5000&lon=-0.1000&start=1776596400&appid={API key}",
  "next": "https://api.openweathermap.org/data/4.0/onecall/timeline/1day?cnt=10&lat=51.5000&lon=-0.1000&start=1778324400&appid={API key}"
}
```

### Pagination parameters

One Call API 4.0 uses timeline-based pagination to navigate through weather data forward and backward in time.

| Parameters |  |
| --- | --- |
| `start` | UTC date and time used as the starting point of the timeline. Records before and after this timestamp can be accessed using pagination links. If `start` is not specified, the current UTC time is used by default. |
| `next` | URL for retrieving the next portion of records forward in the timeline. |
| `prev` | URL for retrieving the previous portion of records backward in the timeline. |

Each endpoint returns a fixed maximum number of records per response. Please refer to the corresponding endpoint documentation for response record limits.

<!-- block-id: limits -->

### Response record limits

Each One Call API 4.0 endpoint has a maximum number of records that can be returned in a single response. These limits are described in the corresponding endpoint sections of the documentation.

If the available dataset exceeds the response limit, the API response includes `next` and/or `prev` URLs that can be used to continue retrieving data across the timeline.

> Please note that each paginated request made using the `next` or `prev` URLs is counted as a separate API call according to your subscription plan.

<!-- block-id: current -->

## Current weather data

The API endpoint returns current weather conditions for a specific location with core meteorological parameters such as temperature, feels-like temperature, pressure, humidity, dew point, UV index, cloud cover, visibility, wind speed, wind direction, sunrise and sunset times, and weather condition descriptors with icons. This endpoint is useful for apps and services that need an instant snapshot of weather at a location.

If you are interested in other functionality on One Call API 4.0, please check [Product concept](/api/one-call-4.md#concept) to follow the right section.

<!-- block-id: how -->

### How to make an API call

### API call

```text
https://api.openweathermap.org/data/4.0/onecall/current?lat={lat}&lon={lon}&appid={API key}
```

| Parameters |  |  |
| --- | --- | --- |
| `lat` | Yes | Latitude, decimal (-90; 90). If you need to automatically convert city names and ZIP codes into geographic coordinates, or vice versa, please use our [Geocoding API](/api/geocoding-api.md) |
| `lon` | Yes | Longitude, decimal (-180; 180). If you need to automatically convert city names and ZIP codes into geographic coordinates, or vice versa, please use our [Geocoding API](/api/geocoding-api.md) |
| `appid` | Yes | Your unique API key (you can always find it on your account page under the ["API key" tab](https://home.openweathermap.org/api_keys)) |
| `units` | optional | Units of measurement. `standard`, `metric` and `imperial` units are available. If you do not use the `units` parameter, `standard` units will be applied by default. [Learn more](#data) |
| `lang` | optional | You can use the `lang` parameter to get the output in your language. [Learn more](#multi) |

### Example of API call

Before making an API call, please note that One Call 4.0 is included in the "One Call by Call" subscription **only**. [Learn more](/price.md)

### Example of API call

```text
https://api.openweathermap.org/data/4.0/onecall/current?lat=52.2297&lon=21.0122&units=metric&lang=en&appid={API key}
```

### Example of API response

```json
{
  "lat": 51.5,
  "lon": -0.1,
  "timezone": "Europe/London",
  "timezone_offset": 3600,
  "data": [
    {
      "dt": 1777449371,
      "sunrise": 1777437375,
      "sunset": 1777490344,
      "temp": 286.42,
      "feels_like": 285.32,
      "pressure": 1024,
      "humidity": 58,
      "dew_point": 278.34,
      "uvi": 1.55,
      "clouds": 0,
      "visibility": 10000,
      "wind_speed": 8.23,
      "wind_deg": 70,
      "weather": [
        {
          "id": 800,
          "main": "Clear",
          "description": "sky is clear",
          "icon": "01d"
        }
      ]
	  "alerts": [
		"8B46C632-DCA7-44D7-8BDF-02445621BAFF",
		"29F58A35-BB91-4A73-9F46-9FC64BDF604F",
		...
	]
    }
  ]
}
```

<!-- block-id: parameter -->

### Fields in API response

> If you do not see some of the parameters in your API response, it means these weather phenomena did not occur at the time of measurement for the selected city or location. Only measured or calculated data is displayed in the API response.

**Current weather endpoint returns 1 record in the API response.**

- `lat` Latitude of the location, decimal (−90; 90)
- `lon` Longitude of the location, decimal (-180; 180)
- `timezone` Timezone name for the requested location
- `timezone_offset` Shift in seconds from UTC
- - `data.dt` Current time, Unix, UTC
  - `data.sunrise` Sunrise time, Unix, UTC. For polar areas in midnight sun and polar night periods this parameter is not returned in the response
  - `data.sunset` Sunset time, Unix, UTC. For polar areas in midnight sun and polar night periods this parameter is not returned in the response
  - `data.temp` Temperature. Units - default: kelvin, metric: Celsius, imperial: Fahrenheit. [How to change units used](#data)
  - `data.feels_like` Temperature. This temperature parameter accounts for the human perception of weather. Units – default: kelvin, metric: Celsius, imperial: Fahrenheit.
  - `data.pressure` Atmospheric pressure at sea level, hPa
  - `data.humidity` Humidity, %
  - `data.dew_point` Atmospheric temperature (varying according to pressure and humidity) below which water droplets begin to condense and dew can form. Units – default: kelvin, metric: Celsius, imperial: Fahrenheit
  - `data.clouds` Cloudiness, %
  - `data.uvi` Current UV index.
  - `data.visibility` Average visibility, metres. The maximum value of the visibility is 10 km
  - `data.wind_speed` Wind speed. Units – default: metre/sec, metric: metre/sec, imperial: miles/hour. [How to change units used](#data)
  - `data.wind_gust`  (where available) Wind gust. Units – default: metre/sec, metric: metre/sec, imperial: miles/hour. [How to change units used](#data)
  - `data.wind_deg` Wind direction, degrees (meteorological)
  - `data.rain`    - `data.rain.1h`  (where available) Precipitation, mm/h. Please note that only mm/h as units of measurement are available for this parameter
  - `data.snow`    - `data.snow.1h`  (where available) Precipitation, mm/h. Please note that only mm/h as units of measurement are available for this parameter
  - `data.weather`    - `data.weather.id`  [Weather condition id](/weather-conditions.md#Weather-Condition-Codes-2)
    - `data.weather.main` Group of weather parameters (Rain, Snow etc.)
    - `data.weather.description` Weather condition within the group ([full list of weather conditions](/weather-conditions.md#Weather-Condition-Codes-2)). Get the output in [your language](#multi)
    - `data.weather.icon` Weather icon id. [How to get icons](/weather-conditions.md#How-to-get-icon-URL)
  - `data.alerts` Array of weather alert IDs associated with the requested location and time. Each ID can be used to retrieve detailed information about the corresponding alert via the Weather Alert detailed information endpoint. National weather alerts are provided in English by default. Please note that some agencies provide the alert’s description only in a local language.

<!-- block-id: min -->

## 1 minute step timeline

<!-- block-id: min_how -->

### How to make an API call

### API call

```text
https://api.openweathermap.org/data/4.0/onecall/timeline/1min?lat={lat}&lon={lon}&appid={API key}
```

| Parameters |  |  |
| --- | --- | --- |
| `lat` | Yes | Latitude, decimal (-90; 90). If you need to automatically convert city names and ZIP codes into geographic coordinates, or vice versa, please use our [Geocoding API](/api/geocoding-api.md) |
| `lon` | Yes | Longitude, decimal (-180; 180). If you need to automatically convert city names and ZIP codes into geographic coordinates, or vice versa, please use our [Geocoding API](/api/geocoding-api.md) |
| `appid` | Yes | Your unique API key (you can always find it on your account page under the ["API key" tab](https://home.openweathermap.org/api_keys)) |
| `units` | optional | Units of measurement. `standard`, `metric` and `imperial` units are available. If you do not use the `units` parameter, `standard` units will be applied by default. [Learn more](#data) |
| `lang` | optional | You can use the `lang` parameter to get the output in your language. [Learn more](#multi) |

### Example of API call

### Example of API call

```text
https://api.openweathermap.org/data/4.0/onecall/timeline/1min?lat=51.5&lon=-0.1&appid={API key}
```

### Example of API response

```json
{
  "lat": 51.5,
  "lon": -0.1,
  "timezone": "Europe/London",
  "timezone_offset": 3600,
  "data": [
    {
      "dt": 1777451940,
      "precipitation": 0,
	  "alerts": [
		"8B46C632-DCA7-44D7-8BDF-02445621BAFF",
		"29F58A35-BB91-4A73-9F46-9FC64BDF604F",
		...
	],
...
  ]
  
}
```

> **The 1-minute timeline returns up to 60 records in the API response.**

<!-- block-id: min_parameter -->

### Fields in API response

- `lat` Latitude of the location, decimal (−90; 90)
- `lon` Longitude of the location, decimal (-180; 180)
- `timezone` Timezone name for the requested location
- `timezone_offset` Shift in seconds from UTC
- `data`
- - `data.dt` Time of the forecasted data, unix, UTC
  - `data.precipitation` Precipitation, mm/h. Please note that only mm/h as units of measurement are available for this parameter
  - `data.alerts` Array of weather alert IDs associated with the requested location and time. Each ID can be used to retrieve detailed information about the corresponding alert via the Weather Alert detailed information endpoint. National weather alerts are provided in English by default. Please note that some agencies provide the alert’s description only in a local language.

<!-- block-id: 15min -->

## 15 minutes step timeline

<!-- block-id: 15min_how -->

### How to make an API call

### API call

```text
https://api.openweathermap.org/data/4.0/onecall/timeline/15min?lat={lat}&lon={lon}&appid={API key}
```

| Parameters |  |  |
| --- | --- | --- |
| `lat` | Yes | Latitude, decimal (-90; 90). If you need to automatically convert city names and ZIP codes into geographic coordinates, or vice versa, please use our [Geocoding API](/api/geocoding-api.md) |
| `lon` | Yes | Longitude, decimal (-180; 180). If you need to automatically convert city names and ZIP codes into geographic coordinates, or vice versa, please use our [Geocoding API](/api/geocoding-api.md) |
| `appid` | Yes | Your unique API key (you can always find it on your account page under the ["API key" tab](https://home.openweathermap.org/api_keys)) |
| `units` | optional | Units of measurement. `standard`, `metric` and `imperial` units are available. If you do not use the `units` parameter, `standard` units will be applied by default. [Learn more](#data) |
| `lang` | optional | You can use the `lang` parameter to get the output in your language. [Learn more](#multi) |

### Example of API call

### Example of API call

```text
https://api.openweathermap.org/data/4.0/onecall/timeline/15min?lat=51.5&lon=-0.1&appid={API key}
```

### Example of API response

```json
{
  "lat": 51.5,
  "lon": -0.1,
  "timezone": "Europe/London",
  "timezone_offset": 3600,
  "data": [
    {
      "dt": 1777452300,
      "temp": 287.95,
      "feels_like": 286.75,
      "pressure": 1024,
      "humidity": 48,
      "dew_point": 277.2,
      "uvi": 2.36,
      "clouds": 0,
      "visibility": 10000,
      "wind_speed": 7.41,
      "wind_deg": 70,
      "pop": 0,
      "weather": [
        {
          "id": 800,
          "main": "Clear",
          "description": "sky is clear",
          "icon": "01d"
        }
      ],
	  "alerts": [
		"8B46C632-DCA7-44D7-8BDF-02445621BAFF",
		"29F58A35-BB91-4A73-9F46-9FC64BDF604F",
		...
	]
    },
	...
  ],
"next": "https://api.openweathermap.org/data/4.0/onecall/timeline/15min?lat=51.5000&lon=-0.1000&start=1777497300&appid={API key}"
}
```

> **The 15-minute timeline returns up to 50 records in a single API response.** To retrieve the full dataset, please check the `next` parameter in the API response. If present, it contains a fully prepared URL for requesting the next portion of records. If the `next` parameter is not returned, it means the full dataset has already been retrieved. For more details, see the [Pagination & response limits](#pagination) section.

<!-- block-id: 15min_parameter -->

### Fields in API response

- `lat` Latitude of the location, decimal (−90; 90)
- `lon` Longitude of the location, decimal (-180; 180)
- `timezone` Timezone name for the requested location
- `timezone_offset` Shift in seconds from UTC
- `data`
- - `data.dt` Time of the forecasted data, Unix, UTC
  - `data.temp` Temperature. Units - default: kelvin, metric: Celsius, imperial: Fahrenheit. How to change units used
  - `data.feels_like` Temperature. This temperature parameter accounts for the human perception of weather. Units – default: kelvin, metric: Celsius, imperial: Fahrenheit.
  - `data.pressure` Atmospheric pressure on the sea level, hPa
  - `data.humidity` Humidity, %
  - `data.dew_point` Atmospheric temperature (varying according to pressure and humidity) below which water droplets begin to condense and dew can form. Units – default: kelvin, metric: Celsius, imperial: Fahrenheit
  - `data.clouds` Cloudiness, %
  - `data.uvi` UV index.
  - `data.visibility` Average visibility, metres. The maximum value of the visibility is 10 km
  - `data.wind_speed` Wind speed. Wind speed. Units – default: metre/sec, metric: metre/sec, imperial: miles/hour. How to change units used
  - `data.wind_gust` (where available) Wind gust. Units – default: metre/sec, metric: metre/sec, imperial: miles/hour. How to change units used
  - `data.wind_deg` Wind direction, degrees (meteorological)
  - `data.rain`
  - - `data.rain.1h` (where available) Precipitation, mm/h. Please note that only mm/h as units of measurement are available for this parameter
  - `data.snow`
  - - `data.snow.1h` (where available) Precipitation, mm/h. Please note that only mm/h as units of measurement are available for this parameter
  - `data.weather`
  - - `data.weather.id` Weather condition id
    - `data.weather.main` Group of weather parameters (Rain, Snow etc.)
    - `data.weather.description` Weather condition within the group (full list of weather conditions). Get the output in your language
    - `data.weather.icon` Weather icon id. How to get icons
    - `data.alerts` Array of weather alert IDs associated with the requested location and time. Each ID can be used to retrieve detailed information about the corresponding alert via the Weather Alert detailed information endpoint. National weather alerts are provided in English by default. Please note that some agencies provide the alert’s description only in a local language.
- `prev` API-generated request URL that can be used to retrieve the previous portion of data relative to the current time range. This link allows navigation to earlier records using the same query parameters.
- `next` API-generated request URL that can be used to retrieve the next portion of data relative to the current time range. This link allows navigation to later records using the same query parameters.

<!-- block-id: hourly -->

## 1 hour step timeline

<!-- block-id: hourly_how -->

### How to make an API call

### API call

```text
https://api.openweathermap.org/data/4.0/onecall/timeline/1h?lat={lat}&lon={lon}&appid={API key}
```

| Parameters |  |  |
| --- | --- | --- |
| `lat` | Yes | Latitude, decimal (-90; 90). If you need to automatically convert city names and ZIP codes into geographic coordinates, or vice versa, please use our [Geocoding API](/api/geocoding-api.md) |
| `lon` | Yes | Longitude, decimal (-180; 180). If you need to automatically convert city names and ZIP codes into geographic coordinates, or vice versa, please use our [Geocoding API](/api/geocoding-api.md) |
| `appid` | Yes | Your unique API key (you can always find it on your account page under the ["API key" tab](https://home.openweathermap.org/api_keys)) |
| `units` | optional | Units of measurement. `standard`, `metric` and `imperial` units are available. If you do not use the `units` parameter, `standard` units will be applied by default. [Learn more](#data) |
| `lang` | optional | You can use the `lang` parameter to get the output in your language. [Learn more](#multi) |

### Example of API call

### Example of API call

```text
https://api.openweathermap.org/data/4.0/onecall/timeline/1h?lat=51.5&lon=-0.1&appid={API key}
```

> **The 1-hour timeline returns up to 20 records in a single API response. **To retrieve the full dataset, please use the `next` and `prev` parameters returned in the API response. These parameters contain fully prepared URLs for requesting the following or previous portions of records within the timeline. If the `next` or `prev` parameter is not returned, it means there are no additional records available in that direction. For more details, see the [Pagination & response limits](#pagination) section.

<!-- block-id: hourly_parameter -->

### Fields in API response

- `lat` Latitude of the location, decimal (−90; 90)
- `lon` Longitude of the location, decimal (-180; 180)
- `timezone` Timezone name for the requested location
- `timezone_offset` Shift in seconds from UTC
- `data`
- - `data.dt` Time of the forecasted data, Unix, UTC
  - `data.temp` Temperature. Units – default: kelvin, metric: Celsius, imperial: Fahrenheit. [How to change units used](https://openweathermap.org/api/one-call-4#data)
  - `data.feels_like` Temperature. This accounts for the human perception of weather. Units – default: kelvin, metric: Celsius, imperial: Fahrenheit.
  - `data.pressure` Atmospheric pressure on the sea level, hPa
  - `data.humidity` Humidity, %
  - `data.dew_point` Atmospheric temperature (varying according to pressure and humidity) below which water droplets begin to condense and dew can form. Units – default: kelvin, metric: Celsius, imperial: Fahrenheit.
  - `data.uvi` UV index
  - `data.clouds` Cloudiness, %
  - `data.visibility` Average visibility, metres. The maximum value of the visibility is 10 km
  - `data.wind_speed` Wind speed. Units – default: metre/sec, metric: metre/sec, imperial: miles/hour.[How to change units used](https://openweathermap.org/api/one-call-4#data)
  - `data.wind_gust` (where available) Wind gust. Units – default: metre/sec, metric: metre/sec, imperial: miles/hour. [How to change units used](https://openweathermap.org/api/one-call-4#data)
  - `data.wind_deg` Wind direction, degrees (meteorological)
  - `data.pop` Probability of precipitation. The values of the parameter vary between 0 and 1, where 0 is equal to 0%, 1 is equal to 100%
  - `data.rain`
  - - `data.rain.1h` (where available) Precipitation, mm/h. Please note that only mm/h as units of measurement are available for this parameter
  - `data.snow`
  - - `data.snow.1h` (where available) Precipitation, mm/h. Please note that only mm/h as units of measurement are available for this parameter
  - `data.weather`
  - - `hourly.weather.id` [Weather condition id](https://openweathermap.org/weather-conditions#Weather-Condition-Codes-2)
    - `hourly.weather.main` Group of weather parameters (Rain, Snow etc.)
    - `hourly.weather.description` Weather condition within the group ([full list of weather conditions](https://openweathermap.org/weather-conditions#Weather-Condition-Codes-2)). Get the output in [your language](https://openweathermap.org/api/one-call-4#multi)
    - `hourly.weather.icon` Weather icon id. [How to get icons](https://openweathermap.org/weather-conditions#How-to-get-icon-URL)
  - `data.alerts` Array of weather alert IDs associated with the requested location and time. Each ID can be used to retrieve detailed information about the corresponding alert via the Weather Alert detailed information endpoint. National weather alerts are provided in English by default. Please note that some agencies provide the alert’s description only in a local language.
- `prev` API-generated request URL that can be used to retrieve the previous portion of data relative to the current time range. This link allows navigation to earlier records using the same query parameters.
- `next` API-generated request URL that can be used to retrieve the next portion of data relative to the current time range. This link allows navigation to later records using the same query parameters.

<!-- block-id: daily -->

## 1 day step timeline

<!-- block-id: daily_how -->

### How to make an API call

### API call

```text
https://api.openweathermap.org/data/4.0/onecall/timeline/1day?lat={lat}&lon={lon}&appid={API key}
```

| Parameters |  |  |
| --- | --- | --- |
| `lat` | Yes | Latitude, decimal (-90; 90). If you need to automatically convert city names and ZIP codes into geographic coordinates, or vice versa, please use our [Geocoding API](/api/geocoding-api.md) |
| `lon` | Yes | Longitude, decimal (-180; 180). If you need to automatically convert city names and ZIP codes into geographic coordinates, or vice versa, please use our [Geocoding API](/api/geocoding-api.md) |
| `appid` | Yes | Your unique API key (you can always find it on your account page under the ["API key" tab](https://home.openweathermap.org/api_keys)) |
| `units` | optional | Units of measurement. `standard`, `metric` and `imperial` units are available. If you do not use the `units` parameter, `standard` units will be applied by default. [Learn more](#data) |
| `lang` | optional | You can use the `lang` parameter to get the output in your language. [Learn more](#multi) |

### Example of API call

### Example of API call

```text
https://api.openweathermap.org/data/4.0/onecall/timeline/1day?lat=51.5&lon=-0.1&appid={API key}
```

### Example of API response

```json
{
  "lat": 51.5,
  "lon": -0.1,
  "timezone": "Europe/London",
  "timezone_offset": 3600,
  "data": [
    {
      "dt": 1777460400,
      "sunrise": 1777437375,
      "sunset": 1777490344,
      "moonrise": 1777482960,
      "moonset": 1777433400,
      "moon_phase": 0.43,
      "temp": {
        "day": 288.16,
        "min": 280.7,
        "max": 290.05,
        "night": 285.7,
        "eve": 289.38,
        "morn": 282.78
      },
      "feels_like": {
        "day": 286.89,
        "night": 284.58,
        "eve": 288.31,
        "morn": 279.89
      },
      "pressure": 1024,
      "humidity": 45,
      "dew_point": 276.33,
      "wind_speed": 8.35,
      "wind_deg": 76,
      "wind_gust": 15.34,
      "weather": [
        {
          "id": 800,
          "main": "Clear",
          "description": "sky is clear",
          "icon": "01d"
        }
      ],
      "clouds": 0,
      "pop": 0,
      "uvi": 4.82
    },
    ...
  ],
  "prev": "https://api.openweathermap.org/data/4.0/onecall/timeline/1day?cnt=10&lat=51.5000&lon=-0.1000&start=1776596400&appid={API key}",
  "next": "https://api.openweathermap.org/data/4.0/onecall/timeline/1day?cnt=10&lat=51.5000&lon=-0.1000&start=1778324400&appid={API key}"
}
```

> **The 1-day timeline returns up to 10 records in a single API response. **To retrieve the full dataset, please use the `next` and `prev` parameters returned in the API response. These parameters contain fully prepared URLs for requesting the following or previous portions of records within the timeline. If the `next` or `prev` parameter is not returned, it means there are no additional records available in that direction. For more details, see the [Pagination & response limits](#pagination) section.

<!-- block-id: daily_parameter -->

### Fields in API response

- `lat` Latitude of the location, decimal (−90; 90)
- `lon` Longitude of the location, decimal (-180; 180)
- `timezone` Timezone name for the requested location
- `timezone_offset` Shift in seconds from UTC
- `data`
- - `data.dt` Time of the forecasted data, Unix, UTC
  - `data.temp` Temperature. Units – default: kelvin, metric: Celsius, imperial: Fahrenheit. [How to change units used](https://openweathermap.org/api/one-call-4#data)
  - `data.feels_like` Temperature. This accounts for the human perception of weather. Units – default: kelvin, metric: Celsius, imperial: Fahrenheit.
  - `data.pressure` Atmospheric pressure on the sea level, hPa
  - `data.humidity` Humidity, %
  - `data.dew_point` Atmospheric temperature (varying according to pressure and humidity) below which water droplets begin to condense and dew can form. Units – default: kelvin, metric: Celsius, imperial: Fahrenheit.
  - `data.uvi` UV index
  - `data.clouds` Cloudiness, %
  - `data.visibility` Average visibility, metres. The maximum value of the visibility is 10 km
  - `data.wind_speed` Wind speed. Units – default: metre/sec, metric: metre/sec, imperial: miles/hour.[How to change units used](https://openweathermap.org/api/one-call-4#data)
  - `data.wind_gust` (where available) Wind gust. Units – default: metre/sec, metric: metre/sec, imperial: miles/hour. [How to change units used](https://openweathermap.org/api/one-call-4#data)
  - `data.wind_deg` Wind direction, degrees (meteorological)
  - `data.pop` Probability of precipitation. The values of the parameter vary between 0 and 1, where 0 is equal to 0%, 1 is equal to 100%
  - `data.rain`
  - - `data.rain.1h` (where available) Precipitation, mm/h. Please note that only mm/h as units of measurement are available for this parameter
  - `data.snow`
  - - `data.snow.1h` (where available) Precipitation, mm/h. Please note that only mm/h as units of measurement are available for this parameter
  - `data.weather`
  - - `data.weather.id` [Weather condition id](https://openweathermap.org/weather-conditions#Weather-Condition-Codes-2)
    - `data.weather.main` Group of weather parameters (Rain, Snow etc.)
    - `data.weather.description` Weather condition within the group ([full list of weather conditions](https://openweathermap.org/weather-conditions#Weather-Condition-Codes-2)). Get the output in [your language](https://openweathermap.org/api/one-call-4#multi)
    - `data.weather.icon` Weather icon id. [How to get icons](https://openweathermap.org/weather-conditions#How-to-get-icon-URL)
  - `data.alerts` Array of weather alert IDs associated with the requested location and time. Each ID can be used to retrieve detailed information about the corresponding alert via the Weather Alert detailed information endpoint. National weather alerts are provided in English by default. Please note that some agencies provide the alert’s description only in a local language.
- `prev` API-generated request URL that can be used to retrieve the previous portion of data relative to the current time range. This link allows navigation to earlier records using the same query parameters.
- `next` API-generated request URL that can be used to retrieve the next portion of data relative to the current time range. This link allows navigation to later records using the same query parameters.

<!-- block-id: alerts -->

## Weather Alert detailed information

The **Weather Alert detailed information** endpoint provides full information about a specific weather alert by its ID. The response includes the alert source, event name, validity period, and a detailed description of the expected weather hazard and its potential impacts.

<!-- block-id: alerts_how -->

### How to make an API call

### API call

```text
https://api.openweathermap.org/data/4.0/onecall/alert/{alert_id}?appid=KEY
```

| Parameters |  |  |
| --- | --- | --- |
| `alert_id` | Yes | Alert ID |
| `appid` | Yes | Your unique API key (you can always find it on your account page under the ["API key" tab](https://home.openweathermap.org/api_keys)) |

### Example of API call

### Example of API call

```text
https://api.openweathermap.org/data/4.0/onecall/alert/8B46C632-DCA7-44D7-8BDF-02445621BAFF?appid={API key}
```

### Example of API response

```json
{
  "id": "2.49.0.0.250.0.FR.20260827100603.644023:FR615:a512b287066f8f19b5b02accccec835d",
  "sender_name": "METEO-FRANCE",
  "event": "",
  "start": 1787817940,
  "end": 1787868000,
  "description": [
    {
      "language": "fr-FR",
      "description": "Des phénomènes habituels dans la région mais occasionnellement et localement dangereux sont prévus (exemple : mistral, orage d'été, montée des eaux, fortes vagues submergeant le littoral)."
    },
    {
      "language": "en-GB",
      "description": "Moderate damages may occur, especially in vulnerable or in exposed areas and to people who carry out weather-related activities."
    }
  ],
  "tags": [
    "Thunderstorm"
  ]
}
```

<!-- block-id: alerts_parameter -->

### Fields in the API response

**Weather alerts endpoint returns 1 record in the API response.**

• `id` Alert ID

• `sender_name` Name of the alert source. Please see the full list of alert sources here.

• `event` Alert event name

• `start` Date and time of the start of the alert, Unix, UTC

• `end` Date and time of the end of the alert, Unix, UTC

• `description` Description of the alert

• `tags`  Type of severe weather

<!-- block-id: other -->

## Other features

<!-- block-id: list1 -->

### List of weather condition codes

A list of [weather condition codes](/weather-conditions.md) with icons, including thunderstorm, drizzle, rain, snow, clouds, atmosphere, etc.

<!-- block-id: data -->

### Units of measurement

`standard`, `metric` and `imperial` units are available.

[List of all API parameters with available units.](/weather-data.md)

### API call

```text
https://api.openweathermap.org/data/4.0/onecall/current?lat={lat}&lon={lon}&units={units}&appid={API key}
```

| Parameters |  |  |
| --- | --- | --- |
| `units` | optional | Units of measurement. `standard`, `metric` and `imperial` units are available. If you do not use the `units` parameter, `standard` units will be applied by default. |

> Temperature is available in Fahrenheit, Celsius and Kelvin units.
>
> Wind speed is available in miles/hour and meter/sec.
>
> - For temperature in Fahrenheit and wind speed in miles/hour, use `units=imperial`
> - For temperature in Celsius and wind speed in meter/sec, use `units=metric`
> - Temperature in Kelvin and wind speed in meter/sec is used by default, so there is no need to use the units parameter in the API call if you want this

### Examples of API calls

### Standard (default)

```text
https://api.openweathermap.org/data/4.0/onecall/current?lat=30.489772&lon=-99.771335&appid={API key}
```

### Metric

```text
https://api.openweathermap.org/data/4.0/onecall/current?lat=30.489772&lon=-99.771335&units=metric&appid={API key}
```

### Imperial

```text
https://api.openweathermap.org/data/4.0/onecall/current?lat=30.489772&lon=-99.771335&units=imperial&appid={API key}
```

<!-- block-id: multi -->

### Multilingual support

You can use `lang` parameter to get the output in your language.

The contents of the `description` field will be translated.

### API call

```text
https://api.openweathermap.org/data/4.0/onecall/current?lat={lat}&lon={lon}&lang={lang}&appid={API key}
```

| Parameters |  |  |
| --- | --- | --- |
| `lang` | optional | You can use the `lang` parameter to get the output in your language. |

### Example of API call

Before making an API call, please note that One Call 4.0 is included in the "One Call by Call" subscription **only**. [Learn more](/price.md)

```text
https://api.openweathermap.org/data/4.0/onecall/current?lat=30.489772&lon=-99.771335&lang=zh_cn&appid={API key}
```

We support the following languages. To select one, you can use the corresponding language code:

- `sq` Albanian
- `af` Afrikaans
- `ar` Arabic
- `az` Azerbaijani
- `eu` Basque
- `be` Belarusian
- `bg` Bulgarian
- `ca` Catalan
- `zh_cn` Chinese Simplified
- `zh_tw` Chinese Traditional
- `hr` Croatian
- `cz` Czech
- `da` Danish
- `nl` Dutch
- `en` English
- `fi` Finnish
- `fr` French
- `gl` Galician
- `de` German
- `el` Greek
- `he` Hebrew
- `hi` Hindi
- `hu` Hungarian
- `is` Icelandic
- `id` Indonesian
- `it` Italian
- `ja` Japanese
- `kr` Korean
- `ku` Kurmanji (Kurdish)
- `la` Latvian
- `lt` Lithuanian
- `mk` Macedonian
- `no` Norwegian
- `fa` Persian (Farsi)
- `pl` Polish
- `pt` Portuguese
- `pt_br` Português Brasil
- `ro` Romanian
- `ru` Russian
- `sr` Serbian
- `sk` Slovak
- `sl` Slovenian
- `sp, es` Spanish
- `sv, se` Swedish
- `th` Thai
- `tr` Turkish
- `ua, uk` Ukrainian
- `vi` Vietnamese
- `zu` Zulu

<!-- block-id: listsource -->

### List of national weather alerts sources

| Country | Agency |
| --- | --- |
| Albania | Institute of GeoSciences, Energy, Water and Environment of Albania |
| Algeria | National Meteorological Office |
| Argentina | National Weather Service of Argentina |
| Australia | Australian Bureau of Meteorology |
| Austria | Central Institute for Meteorology and Geodynamics Water Balance Department |
| Bahrain | Bahrain Meteorological Directorate |
| Barbados | Barbados Meteorological Service |
| Belarus | State institution "Republican center for hydrometeorology, control of radioactive contamination and environmental monitoring" (Belhydromet) |
| Belgium | Royal Meteorological Institute |
| Belize | National Meteorological Service of Belize |
| Benin | National Meteorological Agency (METEO-BENIN) |
| Bosnia and Herzegovina | Federal Hydrometeorological Institute of BiH Republic Hydrometeorological Institute |
| Botswana | Botswana Meteorological Services |
| Brazil | National Meteorological Institute - INMET |
| Bulgaria | National Institute of Meteorology and Hydrology - Plovdiv branch |
| Cameroon | Cameroon National Meteorological Service |
| Canada | Alberta Emergency Management Agency (Government of Alberta, Ministry of Municipal Affairs) Meteorological Service of Canada Quebec Ministry of Public Safety Yukon Emergency Measures Organization Manitoba Emergency Management Organization |
| Chile | Meteorological Directorate of Chile |
| Congo | National Civil Aviation Agency (ANAC Congo) |
| Costa Rica | National Meteorological Institute of Costa Rica |
| Croatia | State Hydrometeorological Institute (DHMZ) |
| Curacao and Sint Maarten | Meteorological Department Curacao |
| Cyprus | Republic of Cyprus - Department of Meteorology |
| Czech Republic | Czech Hydrometeorological Institute |
| Denmark | Danish Meteorological Institute |
| Ecuador | Ecuadoran Institute for Meteorology and Hydrology (INAMHI) |
| Egypt | Egyptian Meteorological Authority |
| Estonia | Estonian Environment Agency |
| Eswatini | Eswatini Meteorological Service |
| Finland | Finnish Meteorological Institute |
| France | Meteo-France |
| Gabon | General Directorate of Meteorology of Gabon |
| Germany | German Meteorological Office |
| Ghana | Ghana Meteorological Agency |
| Greece | Hellenic National Meteorological Service |
| Guinea | National Meteorological Agency of Guinea |
| Guyana | Hydrometeorological Service of Guyana |
| Hong Kong China | Hong Kong Observatory |
| Hungary | Hungarian Meteorological Service |
| Iceland | Icelandic Meteorological Office |
| India | India Meteorological Department |
| Indonesia | Agency for Meteorology Climatology and Geophysics of Republic Indonesia (BMKG) InaTEWS BMKG |
| Ireland | Met Eireann - Irish Meteorological Service |
| Israel | Israel Meteorological Service |
| Italy | Italian Air Force National Meteorological Service |
| Ivory Coast | Airport, aeronautical and meteorological operating and development company (SODEXAM) |
| Jamaica | Meteorological Service of Jamaica |
| Japan | Japan Meteorological Business Support Center |
| Jordan | Jordanian Meteorological Department |
| Kazakhstan | National Hydrometeorological Service of the Republic of Kazakhstan (Kazhydromet) |
| Kenya | Kenya Meteorological Department |
| Kuwait | Kuwait Meteorological Department |
| Latvia | Latvian Environment, Geology and Meteorology Center |
| Lesotho | Lesotho Meteorological Services |
| Libya | Libyan National Meteorological Center |
| Lithuania | Lithuanian Hydrometeorological Service under the Ministry of Environment of the Republic of Lithuania (LHMS) |
| Luxembourg | Luxembourg Airport Administration |
| Macao China | Macao Meteorological and Geophysical Bureau |
| Madagascar | METEO Madagascar |
| Malawi | Malawi Department of Climate Change and Meteorological Services |
| Maldives | Maldives Meteorological Service |
| Mauritania | National Meteorological Office of Mauritania |
| Mauritius | Mauritius Meteorological Services |
| Mexico | CONAGUA - National Meteorological Service of Mexico |
| Moldova | State Hydrometeorological Service of Moldova |
| Mongolia | National Agency Meteorology and the Environmental Monitoring of Mongolia |
| Mozambique | National Institute of Meteorology of Mozambique |
| Myanmar | Myanmar Department of Meteorology and Hydrology |
| Netherlands | Royal Netherlands Meteorological Institute (KNMI) |
| New Zealand | Meteorological Service of New Zealand Limited National Emergency Management Agency Fire and Emergency New Zealand Civil Defence Emergency Management (CDEM) Groups |
| New Zealand | New Zealand Emergency Mobile Alert |
| Niger | National Meteorological Directorate of Niger |
| Nigeria | Nigerian Meteorological Agency (NiMet) |
| North Macedonia | National Hydrometeorological Service - Republic of Macedonia |
| Norway | Norwegian Meteorological Institute Norwegian Water Resources and Energy Directorate |
| Paraguay | Directorate of Meteorology and Hydrology |
| Philippines | Philippine Atmospheric Geophysical and Astronomical Services Administration |
| Poland | Institute of Meteorology and Water Management (IMGW-PIB) |
| Portugal | Portuguese Institute of Sea and Atmosphere, I.P. |
| Qatar | Qatar Meteorology Department |
| Republic of Korea | Korea Meteorological Administration, Weather Information |
| Romania | National Meteorological Administration |
| Russia | Hydrometcenter of Russia |
| Saudi Arabia | National Center for Meteorology - Kingdom of Saudi Arabia |
| Serbia | Republic Hydrometeorological Service of Serbia |
| Seychelles | Seychelles Meteorological Authority |
| Singapore | Meteorological Service Singapore |
| Slovakia | Slovak Hydrometeorological Institute |
| Slovenia | National Meteorological Service of Slovenia |
| Solomon Islands | Solomon Islands Meteorological Services |
| South Africa | South African Weather Service (SAWS) |
| Spain | State Meteorological Agency (AEMET) |
| Sudan | Sudan Meteorological Authority |
| Sweden | Swedish Meteorological and Hydrological Institute |
| Switzerland | MeteoSwiss |
| Tanzania | Tanzania Meteorological Authority |
| Thailand | Thai Meteorological Department |
| Timor-Leste | National Directorate of Meteorology and Geophysics of Timor-Leste |
| Trinidad and Tobago | Trinidad and Tobago Meteorological Service |
| Ukraine | Ukrainian Hydrometeorological Center |
| United Arab Emirates (UAE) | National Center of Meteorology (NCM), United Arab Emirates |
| United Kingdom of Great Britain and Northern Ireland | UK Met Office |
| Uruguay | Uruguayan Institute of Meteorology |
| USA | Environmental Protection Agency (EPA), Air Quality Alerts Integrated Public Alert and Warning System (IPAWS) National Oceanic and Atmospheric Administration (NOAA), National Tsunami Warning Center National Oceanic and Atmospheric Administration (NOAA), National Weather Service National Oceanic and Atmospheric Administration (NOAA), National Weather Service - Marine Zones U.S. Geological Survey (USGS), Volcano Hazard Program |
| Uzbekistan | Uzhydromet |
| Yemen | Yemeni Civil Aviation and Meteorology Authority (CAMA) |
| Zambia | Meteorological Department Zambia |
| Zimbabwe | Meteorological Services Department |

Please note that some agencies in the list may stop providing us with weather alert information. In case you don’t receive alerts from any agency, please [contact us](mailto:info@openweathermap.org). We are constantly working to improve our product by expanding the list of partner agencies.

<!-- block-id: call -->

### Callback function for JavaScript code

To use JavaScript code, you can pass the `callback` function name to the JSONP callback.

<!-- block-id: errors -->

## API errors

<!-- block-id: errorstructure -->

### Structure of API errors

If an incorrect API call is made, you will receive an API error response. The error response payload is returned for all types of errors using the structure below.

### Example of error response

```json
{
    "cod":400,
    "message":"Invalid date format",
    "parameters": [
        "date"
    ]
}
```

### Fields in error response

- `cod` Code of error
- `message` Description of error
- `parameters`  (optional) List of request parameters names that are related to this particular error

<!-- block-id: popularerrors -->

### Errors list

Please find more detailed information about some common errors below.

#### API calls return an error 400

Error 400 - Bad Request. You can get 400 error if either some mandatory parameters in the request are missing or some of the request parameters have an incorrect format or values outside the allowed range. A list of all parameter names that are missing or incorrect will be returned in `parameters` attribute of the `ErrorResponse` object.

#### API calls return an error 401

Error 401 - Unauthorized. You may receive a 401 error if the API key is missing from the request, or if the API key provided does not grant access to this API. Add an API key with access to the required product before making the request again.

#### API calls return an error 404

Error 404 - Not Found. You may receive a 404 error if data for the requested parameters, such as `lat`, `lon`, or `date`, is not available in the service database. Do not retry the same request without changing the parameters.

#### API calls return an error 429

Error 429 - Too Many Requests. You may receive a 429 error if the request quota for the provided API key has been exceeded for this API. You may retry the request after some time, or after increasing the quota for your API key.

#### API calls return 5xx errors

Errors 5xx - Unexpected Error. You may receive a 5xx error if an unexpected internal error occurs. You may retry the request. If the issue continues, please [contact us](https://home.openweathermap.org/questions) and include an example API request that returns this error so we can investigate it.