ALPHA NOTICE: This service is in alpha. Data structure, availability, and endpoint behavior may change without notice.
The Beaufort Weather Service API provides high-resolution meteorological data derived from the UKV (2km) and Global (10km) models. This document outlines the structure for ingesting data into client applications.
Base URL: https://weather-service.beaufortdispatch.app
Current Conditions
GET /current
Retrieves a snapshot of current atmospheric state. Without query params it returns UK aggregate values; with lat and lon it returns point current conditions.
Parameters
lat (float, optional): Latitude for point mode (example: London 51.5074)
lon (float, optional): Longitude for point mode (example: London -0.1278)
- Note: Provide both together, or omit both for UK aggregate mode.
Lede Query Builder (Default: London)
GET /current?lat=51.5074&lon=-0.1278
Response Schema
{
"generated_at_utc": "2026-02-19T12:00:00Z",
"average_temperature_celsius": 1.65,
"max_precipitation_rate": 0.0
}
| Field | Type | Description |
generated_at_utc | string | UTC timestamp for when the snapshot was generated (ISO 8601, Z suffix). |
average_temperature_celsius | float | Average temperature across the region (°C). |
max_precipitation_rate | float | Peak precipitation intensity (mm/hour). |
Point Forecast
GET /forecast
Retrieves a time-series forecast for specific coordinates. Returns a JSON array of hourly data points.
Parameters
lat (float, required): Latitude (e.g., 53.48)
lon (float, required): Longitude (e.g., -2.24)
Forecast Query Builder (Default: London)
GET /forecast?lat=51.5074&lon=-0.1278
Data Consumption Strategy
The response is a list of objects sorted by time. Client applications should ingest as follows:
- Current / "NOW" View: Use the first item (index 0) in the list.
- Hourly View: Iterate through the list (items are typically 1 hour apart).
- Daily View: Client should group items by day (using
timestamp) and aggregate (e.g., take min/max of temperature_2m for High/Low, sum of precipitation).
Response Example (Single Item)
[
{
"timestamp": "2026-02-19T12:00:00Z",
"temperature_2m": 12.4,
"apparent_temperature": 10.1,
"precipitation": 0.5,
"wind_speed_10m": 5.2,
"wind_gusts_10m": 8.5,
"wind_direction_10m": 270,
"humidity_2m": 82.0,
"dew_point_2m": 10.5,
"pressure_msl": 1012.5,
"visibility": 15000,
"cloud_cover": 45.0,
"precipitation_probability": 35.0,
"snow_depth": 0.02,
"shortwave_radiation": 145.3,
"uv_index": 3.2,
"weather_code": 1,
"weather_code_label": "Scattered Clouds",
"is_day": true
},
...
]
Field Reference (Glossary)
| Field | Unit | Description |
timestamp | ISO 8601 | Forecast valid time (UTC). |
temperature_2m | °C | Air temperature at 2 meters. |
apparent_temperature | °C | "Feels Like" temperature (Australian Apparent Temp). |
precipitation | mm/hr | Rainfall intensity. |
snowfall | mm/hr | Snowfall intensity (liquid water equivalent). |
wind_speed_10m | m/s | Wind speed at 10 meters. |
wind_gusts_10m | m/s | Maximum wind gust at 10 meters. |
wind_direction_10m | Degrees | Wind direction (0° = North, 90° = East, 180° = South, 270° = West). |
humidity_2m | % | Relative humidity at 2 meters. |
dew_point_2m | °C | Dew point temperature at 2 meters. |
pressure_msl | hPa | Atmospheric pressure at mean sea level. |
visibility | Meters | Visibility distance. |
cloud_cover | % | Total cloud amount (0-100). |
precipitation_probability | % | Probability of measurable precipitation. |
snow_depth | m | Snow depth (liquid-equivalent depth if model-provided). |
shortwave_radiation | W/m² | Downward shortwave radiation flux at surface. |
uv_index | Index | UV Radiation index. |
is_day | Boolean | True if sun is up (approximate, based on hour). |
weather_code | Integer | WMO Weather Code (see below). |
weather_code_label | String | Human-readable label for weather_code. |