Forecast Endpoints
Reference for /point, /bbox, and /profile forecast endpoints.
GET /point
Returns a time-series forecast for a single geographic point.
https://api.weather-ruse.com/point
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
model | string | Yes | — | NWP model. See Models. |
lat | float | Yes | — | Latitude in decimal degrees (−90 to 90). |
lon | float | Yes | — | Longitude in decimal degrees (−180 to 180). |
var | string | No* | — | Single variable name. Mutually exclusive with vars. |
vars | string | No* | — | Comma-separated list of variable names. Mutually exclusive with var. |
init_time | string | No | latest available | Model initialisation time, ISO 8601 (e.g. 2026-06-23T06:00:00). |
lead_from | integer | No | 0 | First lead hour to return. |
lead_to | integer | No | model maximum | Last lead hour to return (inclusive). |
* One of var or vars is required.
Examples
Single variable
curl -H "Authorization: Bearer $WR_KEY" \
"https://api.weather-ruse.com/point\
?model=gfs\
&var=air_temperature_2m\
&lat=48.85\
&lon=2.35"
Response:
{
"model": "gfs",
"var": "air_temperature_2m",
"units": "K",
"lat": 48.85,
"lon": 2.35,
"init_time": "2026-06-23T06:00:00",
"lead_hours": [0, 1, 2, 3],
"values": [293.1, 292.8, 292.4, 291.9]
}
Multiple variables
curl -H "Authorization: Bearer $WR_KEY" \
"https://api.weather-ruse.com/point\
?model=gfs\
&vars=air_temperature_2m,total_precipitation\
&lat=48.85\
&lon=2.35"
Response:
{
"model": "gfs",
"lat": 48.85,
"lon": 2.35,
"variables": {
"air_temperature_2m": {
"units": "K",
"init_time": "2026-06-23T06:00:00",
"lead_hours": [0, 1, 2],
"values": [293.1, 292.8, 292.4]
},
"total_precipitation": {
"units": "kg m-2",
"lead_hours": [0, 1, 2],
"values": [0.0, 0.2, 1.4]
}
}
}
Pinning an init_time
Request data from a specific model run rather than the latest:
curl -H "Authorization: Bearer $WR_KEY" \
"https://api.weather-ruse.com/point\
?model=ecmwf-ifs\
&var=air_temperature_2m\
&lat=51.50\
&lon=-0.12\
&init_time=2026-06-23T00:00:00"
Windowed lead hours
Return only hours 24–48 of a GFS run:
curl -H "Authorization: Bearer $WR_KEY" \
"https://api.weather-ruse.com/point\
?model=gfs\
&var=wind_u_10m\
&lat=40.71\
&lon=-74.01\
&lead_from=24\
&lead_to=48"
Response schema
Single-variable (var=):
| Field | Type | Description |
|---|---|---|
model | string | Model identifier. |
var | string | Variable name. |
units | string | CF-standard units string. |
lat | float | Requested latitude (may be snapped to grid). |
lon | float | Requested longitude (may be snapped to grid). |
init_time | string | Model run time, ISO 8601. |
lead_hours | integer[] | Lead hours corresponding to each value. |
values | number[] | Forecast values, parallel to lead_hours. |
Multi-variable (vars=):
Top-level fields are model, lat, lon. Variable data lives under variables.<name>, each with the same fields as the single-variable response minus the top-level var field.
GET /bbox
Returns a gridded forecast over a bounding box.
https://api.weather-ruse.com/bbox
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
model | string | Yes | — | NWP model. |
var | string | Yes | — | Single variable name. |
west | float | Yes | — | Western longitude bound. |
south | float | Yes | — | Southern latitude bound. |
east | float | Yes | — | Eastern longitude bound. |
north | float | Yes | — | Northern latitude bound. |
init_time | string | No | latest available | Model initialisation time, ISO 8601. |
lead_hours | integer | No | 0 | Single lead hour to return. |
fmt | string | No | json | Response format: json or netcdf. |
Examples
JSON grid
curl -H "Authorization: Bearer $WR_KEY" \
"https://api.weather-ruse.com/bbox\
?model=icon-eu\
&var=air_temperature_2m\
&west=2.0&south=48.5&east=3.0&north=49.0\
&lead_hours=6"
NetCDF download
curl -H "Authorization: Bearer $WR_KEY" \
-o forecast.nc \
"https://api.weather-ruse.com/bbox\
?model=gfs\
&var=wind_u_80m\
&west=-10.0&south=35.0&east=30.0&north=60.0\
&init_time=2026-06-23T06:00:00\
&lead_hours=12\
&fmt=netcdf"
When fmt=netcdf, the response body is a NetCDF4 binary. The Content-Disposition header carries a suggested filename.
GET /profile
Returns a vertical profile (pressure-level stack) for a single geographic point at a single lead hour.
https://api.weather-ruse.com/profile
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
model | string | Yes | — | NWP model. |
lat | float | Yes | — | Latitude. |
lon | float | Yes | — | Longitude. |
init_time | string | No | latest available | Model initialisation time, ISO 8601. |
lead_hours | integer | No | 0 | Lead hour. |
variables | string | Yes | — | Comma-separated pressure-level variable names (see Variables — Pressure levels). |
Example
curl -H "Authorization: Bearer $WR_KEY" \
"https://api.weather-ruse.com/profile\
?model=gfs\
&lat=48.85\
&lon=2.35\
&lead_hours=12\
&variables=temperature_500hpa,geopotential_height_500hpa,u_wind_500hpa,v_wind_500hpa"
Error responses
All endpoints return JSON error bodies with a detail field.
| Status | Code | Description |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_credits | Account has no available credits. |
404 | not_found | Requested init_time or model run does not exist. |
422 | validation_error | Invalid or missing parameter — see detail. |
429 | rate_limit_exceeded | Too many requests. See Rate Limits. |
500 | internal_error | Model data unavailable or processing error. |
OGC EDR
Weather Ruse also exposes OGC API — Environmental Data Retrieval endpoints for tooling that consumes CoverageJSON.
GET /collections/{model}/position
Point query. Returns CoverageJSON.
GET /collections/ecmwf-ifs/position?coords=POINT(2.35 48.85)¶meter-name=air_temperature_2m
| Parameter | Description |
|---|---|
coords | WKT geometry — POINT(lon lat). |
parameter-name | Comma-separated variable names. |
datetime | ISO 8601 interval, e.g. 2026-06-23T00:00:00/2026-06-24T00:00:00. |
GET /collections/{model}/area
Bounding box query. Returns CoverageJSON grid.
GET /collections/gfs/area?bbox=2.0,48.5,3.0,49.0¶meter-name=air_temperature_2m
| Parameter | Description |
|---|---|
bbox | west,south,east,north in decimal degrees. |
parameter-name | Comma-separated variable names. |
datetime | ISO 8601 interval. |