Download OpenAPI specification:
The Weather API provides accurate, real-time and forecasted weather data for various locations worldwide. It is designed to offer high-resolution weather data, including minute-by-minute and hourly forecasts, precipitation maps, and notifications.
This API is useful for applications that require detailed weather insights, such as mobile apps, travel planners, outdoor activity organizers, and emergency response systems.
?token=YOUR_API_KEY
401 Unauthorized response.The Weather API provides a powerful notification service that allows users to receive real-time alerts about weather changes in specified locations. This service ensures that applications can proactively notify users about significant weather conditions without the need for continuous polling.
How It Works
To ensure secure communication, each service instance must obtain a unique WEATHER_NOTIFICATIONS_SECRET during the registration process. This secret key is required to authenticate and verify webhook requests using HMAC-SHA512 signatures.
WEATHER_NOTIFICATIONS_SECRETRegister for the Weather Notification Service
WEATHER_NOTIFICATIONS_SECRET should be stored in a secure environment, such as: This endpoint provides precipitation map tiles in PNG format, designed for use with common mapping services.
Tiles are PNG image files optimized for web mapping applications. They are generated using the Web Mercator projection (EPSG:3857), ensuring compatibility with popular mapping SDKs, including:
Tiles are requested based on the standard XYZ tile system, allowing seamless integration into existing mapping applications.
| snapshot required | integer <int64> (Timestamp) Examples: 1737570600 Snapshot of the weather map |
| forecast_time required | integer Forecast offset in seconds. Have to be a value >= 0. Currently available in range |
| zoom required | integer Zoom level |
| tile_x required | integer
|
| tile_y required | integer
|
| color | integer Index of color pallete:
Default color schema is |
| no_coverage | boolean Flag to disable coverage mask |
image
This endpoint allows to check whether 24-hour weather forecast data is available for a given location.
| longitude required | number (Longitude) Examples: 21.0065536398819 Longitude coordinate of the location for check |
| latitude required | number (Latitude) Examples: 52.23289409654632 Latitude coordinate of the location for check |
{- "snapshot": 1737570600,
- "longitude": 21.0065536398819,
- "latitude": 52.23289409654632,
- "forecast": {
- "minute": [
- {
- "timestampBegin": 1737570600,
- "timestampEnd": 1737570660,
- "precipRate": 1.42,
- "precipType": "snow"
}
], - "hourly": [
- {
- "timestampBegin": 1737568800,
- "timestampEnd": 1737572400,
- "temperature": -6.2,
- "temperatureFeelsLike": -4.1,
- "temperatureDewPoint": 12,
- "uvIndex": 2,
- "humidity": 39.5,
- "pressure": 1050,
- "windSpeed": 5.4,
- "windDirection": 42,
- "condition": "snow",
- "visibility": 120
}
]
}
}This endpoint provides a detailed 24-hour weather forecast for a given location based on geographic coordinates (latitude & longitude).
The forecast includes:
404 if weather data is unavailable in a specific area.| longitude required | number (Longitude) Examples: 21.0065536398819 Longitude coordinate of the location for which the forecast is requested |
| latitude required | number (Latitude) Examples: 52.23289409654632 Latitude coordinate of the location for which the forecast is requested |
{- "snapshot": 1737570600,
- "longitude": 21.0065536398819,
- "latitude": 52.23289409654632,
- "forecast": {
- "minute": [
- {
- "timestampBegin": 1737570600,
- "timestampEnd": 1737570660,
- "precipRate": 1.42,
- "precipType": "snow"
}
], - "hourly": [
- {
- "timestampBegin": 1737568800,
- "timestampEnd": 1737572400,
- "temperature": -6.2,
- "temperatureFeelsLike": -4.1,
- "temperatureDewPoint": 12,
- "uvIndex": 2,
- "humidity": 39.5,
- "pressure": 1050,
- "windSpeed": 5.4,
- "windDirection": 42,
- "condition": "snow",
- "visibility": 120
}
]
}
}This endpoint allows clients to create or update a weather notification session for tracking weather changes at a specified location.
When called with a new sessionId (UUID), this endpoint creates a new session for weather notifications
When an existing sessionId is provided, the session is updated with the latest location or notification settings. This should be used when the location of an object (e.g., a moving user, vehicle, or asset) has changed.
| apiVersion | integer (ApiVersion) API version used by the client. Ensures compatibility between input/output formats and the API's response structure. Used to manage changes in request and response formats across different versions. | ||||
| sessionId | string (SessionId) UUID (Version 4) of the session. Must conform to the RFC 4122 UUID format | ||||
object (Location) Location to track weather changes for notifications | |||||
| |||||
object (NotificationSettings) | |||||
| |||||
{- "apiVersion": 1,
- "sessionId": "550e8400-e29b-41d4-a716-446655440000",
- "location": {
- "longitude": 21.0065536398819,
- "latitude": 52.23289409654632
}, - "settings": {
- "advanceTime": 3600
}
}{- "message": "Error message"
}This endpoint allows to create or update a weather notification session for tracking weather changes at one or multiple specified locations.
When called with a new sessionId (UUID), this endpoint creates a new session for weather notifications.
When an existing sessionId is provided, the session is updated with the latest location(s) or notification settings. This should be used when the location of an object (e.g., a moving user, vehicle, or asset) has changed.
The API supports multiple locations (N points) using a GeoJSON FeatureCollection. Weather conditions will be tracked for all provided points.
Point geometries in a GeoJSON FeatureCollection formatid with a maximum length of 128 symbols| apiVersion | integer (ApiVersion) API version used by the client. Ensures compatibility between input/output formats and the API's response structure. Used to manage changes in request and response formats across different versions. | ||
| sessionId | string (SessionId) UUID (Version 4) of the session. Must conform to the RFC 4122 UUID format | ||
| geojson | object GeoJSON object representing the location to track weather changes for notifications. Currently, only Point geometries are supported. | ||
object (NotificationSettings) | |||
| |||
{- "apiVersion": 1,
- "sessionId": "550e8400-e29b-41d4-a716-446655440000",
- "geojson": {
- "type": "FeatureCollection",
- "features": [
- {
- "type": "Feature",
- "properties": { },
- "geometry": {
- "type": "Point",
- "id": "unique point id",
- "coordinates": [
- 21.1462,
- 52.28262
]
}
}
]
}, - "settings": {
- "advanceTime": 3600
}
}{- "message": "Error message"
}This webhook will be called by the Weather API when a weather event occurs for a subscribed session.
WEATHER_API_NOTIFICATIONS_WEBHOOK_URL) during the registration in the notification service| salt required | string A special salt string used for computing a security hash |
| sig required | string Security signature for request verification.
Request Verification Steps
Signature Computation Example (Python)
|
| apiVersion | integer (ApiVersion) API version used by the client. Ensures compatibility between input/output formats and the API's response structure. Used to manage changes in request and response formats across different versions. | ||||||||||||||||||||||||
| sessionId | string (SessionId) UUID (Version 4) of the session. Must conform to the RFC 4122 UUID format | ||||||||||||||||||||||||
| action | string Enum: "session_start" "session_end" "notifications" | ||||||||||||||||||||||||
Array of WebHookNotificationPayload (objects) or WebHookSessionStartPayload (object) or WebHookSessionEndPayload (object) | |||||||||||||||||||||||||
One of Array
| |||||||||||||||||||||||||
{- "apiVersion": 1,
- "sessionId": "550e8400-e29b-41d4-a716-446655440000",
- "action": "notifications",
- "payload": [
- {
- "pointId": "string",
- "eventType": "precipitation",
- "event": {
- "duration": 1500,
- "is_confident": true,
- "intensity": "snow_light",
- "location": {
- "longitude": 21.0065536398819,
- "latitude": 52.23289409654632
}, - "precipRate": 1.42,
- "precipType": "snow",
- "status": "start",
- "timestamp": 1737570600
}
}
]
}