Retrieve point forecasts for specific geographic coordinates. This endpoint provides detailed weather forecasts for individual locations with high temporal resolution and multiple weather variables.
This endpoint serves MetaMesh, which combines forecasts from multiple external models (ECMWF IFS, GFS, HRRR, AIFS, and others) with WindBorne’s operational WeatherMesh models and point decoder. Unlike the Interpolated Point Forecast, which interpolates from a gridded field, MetaMesh produces bias-corrected forecasts directly at the requested location.
| Name | Type | Description |
|---|---|---|
| coordinates Conditional | string (lat,lon;...) | Latitude,longitude pairs separated by semicolons, for example 37,-121;40.3,-100. Results preserve the input order. Range: latitude −90° to 90°, longitude −180° to 180° |
| stations Conditional | string | Semicolon-separated ICAO station identifiers. See Available Stations for supported IDs. Can be used instead of coordinates. When using station IDs, the forecast uses station-specific bias correction trained on METAR observations. |
| initialization_time Optional | string (ISO 8601) | The initialization time for the forecast. Default: latest initialization time |
| min_forecast_time Optional | string (ISO 8601) | Earliest valid time to include in the response. |
| max_forecast_time Optional | string (ISO 8601) | Latest valid time to include in the response. |
| min_forecast_hour Optional | integer | Earliest forecast hour to include in the response, counted from forecast zero. Unit: hours |
| max_forecast_hour Optional | integer | Latest forecast hour to include in the response, counted from forecast zero. Unit: hours |
| Name | Type | Description |
|---|---|---|
| coordinates Required | string (lat,lon;...) | Latitude,longitude pairs separated by semicolons, for example 37,-121;40.3,-100. Results preserve the input order. Also accepts semicolon-separated station IDs. Range: latitude −90° to 90°, longitude −180° to 180° |
| -i , --init-time Optional | string (ISO 8601) | The initialization time for the forecast. Default: latest initialization time |
| -mt , --min-time Optional | string (ISO 8601) | Earliest valid time to include in the response. |
| -xt , --max-time Optional | string (ISO 8601) | Latest valid time to include in the response. |
| -mh , --min-hour Optional | integer | Earliest forecast hour to include in the response, counted from forecast zero. Unit: hours |
| -xh , --max-hour Optional | integer | Latest forecast hour to include in the response, counted from forecast zero. Unit: hours |
| output_file Optional | string | Path to save the response data. File extension determines format: .csv or .json. If omitted, prints to stdout. |
| Name | Type | Description |
|---|---|---|
| coordinates Conditional | str | list[tuple] | Latitude,longitude pairs separated by semicolons, for example 37,-121;40.3,-100. Results preserve the input order. Also accepts a list of (lat, lon) tuples. Range: latitude −90° to 90°, longitude −180° to 180° |
| stations Conditional | str | list[str] | Semicolon-separated ICAO station identifiers. See Available Stations for supported IDs. Also accepts a list of IDs. |
| initialization_time Optional | str (ISO 8601) | The initialization time for the forecast. Default: latest initialization time |
| min_forecast_time Optional | str (ISO 8601) | Earliest valid time to include in the response. |
| max_forecast_time Optional | str (ISO 8601) | Latest valid time to include in the response. |
| min_forecast_hour Optional | int | Earliest forecast hour to include in the response, counted from forecast zero. Unit: hours |
| max_forecast_hour Optional | int | Latest forecast hour to include in the response, counted from forecast zero. Unit: hours |
| output_file Optional | str | Path to save the response data. File extension determines format: .csv or .json. |
| print_response Optional | bool | If true, prints the response data. Default: false |
| Name | Type | Description |
|---|---|---|
| forecasts | object[][] | Forecasts, in the same order as the input coordinates or stations. |
| time | string (ISO 8601) | When this forecast point is valid. |
| latitude | number | Latitude. Unit: degrees |
| longitude | number | Longitude. Unit: degrees |
| station_id | string | null | The ICAO station identifier, if the forecast was requested by station. Null when queried by coordinates. |
| temperature_2m | number | null | Air temperature at 2 meters. Unit: °C |
| dewpoint_2m | number | null | Dewpoint temperature at 2 meters. Unit: °C |
| pressure_msl | number | null | Atmospheric pressure reduced to mean sea level. Unit: hPa |
| precipitation | number | null | Total precipitation over the 3 hours ending at time. Unit: mm |
| wind_u_10m | number | null | Eastward wind component at 10 meters. Unit: m/s |
| wind_v_10m | number | null | Northward wind component at 10 meters. Unit: m/s |
| wind_speed_10m | number | null | Wind speed at 10 meters. Unit: m/s |
| wind_u_100m | number | null | Eastward wind component at 100 meters. Unit: m/s |
| wind_v_100m | number | null | Northward wind component at 100 meters. Unit: m/s |
| wind_speed_100m | number | null | Wind speed at 100 meters. Unit: m/s |
| apparent_temperature | number | null | Apparent temperature. Unit: °C |
| p_type | string | null | Precipitation type: rain, freezing rain, ice pellets, or snow. |
| total_cloud_cover | number | null | Total cloud cover as a fraction from 0 to 1. |
| low_cloud_cover | number | null | Low cloud cover as a fraction from 0 to 1. |
| cloud_base_height | number | null | Cloud-base height. Unit: meters |
| cape | number | null | Convective available potential energy. Unit: J/kg |
| snowfall_3h | number | null | Three-hour snowfall, expressed as water equivalent. Unit: mm |
| temperature_2m_distribution | object | null | p10 and p90 are the 10th and 90th percentiles, in the corresponding field’s units; either value can be null. |
| dewpoint_2m_distribution | object | null | p10 and p90 are the 10th and 90th percentiles, in the corresponding field’s units; either value can be null. |
| wind_speed_10m_distribution | object | null | p10 and p90 are the 10th and 90th percentiles, in the corresponding field’s units; either value can be null. |
| pressure_msl_distribution | object | null | p10 and p90 are the 10th and 90th percentiles, in the corresponding field’s units; either value can be null. |
| precipitation_distribution | object | null | mean is three-hour precipitation in mm. gt_0p25mm, gt_2p5mm, gt_6mm, gt_12p5mm, gt_25mm, and gt_50mm are probabilities from 0 to 1 of exceeding each threshold; values can be null. |
| p_type_distribution | object | null | p_rain, p_freezing_rain, p_ice_pellets, and p_snow are probabilities from 0 to 1. mean is the category code: 0 rain, 1 freezing rain, 2 ice pellets, 3 snow; values can be null. |
| forecast_zero | string (ISO 8601) | Valid time of forecast hour 0. |
| forecast_start_time | string (ISO 8601) | null | Valid time of the first returned forecast point. Null when no forecast points are returned. |
| initialization_time | string (ISO 8601) | The forecast initialization time. |