> ## Documentation Index
> Fetch the complete documentation index at: https://docs.metar.ws/llms.txt
> Use this file to discover all available pages before exploring further.

# Frequent Observations

> High-frequency measured weather for Netherlands, France and US stations, refreshed every 5 to 10 minutes between official METAR reports.

Subscribe to `metar.obs10.<icao>` for measured weather that updates far more often than the official METAR cycle, keyed by the station's lowercase ICAO code. Coverage is currently limited to three regions: the Netherlands, where reports refresh every 10 minutes; the United States, where the equivalent feed updates every 5 minutes and is known locally as HF-METAR; and France, where Météo-France's RADOME network publishes 6-minute reports for Paris's two long-range airports, LFPB (Le Bourget) and LFPG (Roissy/Charles de Gaulle).

<Note>
  `metar.obs10.<icao>` requires a Starter plan or higher, the same minimum as `metar.obs.<icao>`. On a Sandbox key, these channels respond with `permission_denied`.
</Note>

## Sample event

```json theme={null}
{
  "cached": true,
  "type": "publication",
  "channel": "metar.obs10.katl",
  "data": {
    "station": "KATL",
    "report_time": "2026-08-27T07:50:00Z",
    "source": "madis",
    "revision": 1,
    "temp_c": "23",
    "dewp_c": "21",
    "wdir": 0,
    "wspd_kt": "0",
    "visib_m": 16093,
    "qnh_hpa": "1015.58",
    "cloud_base_ft": 2900,
    "cloud_cover_okta": 6
  }
}
```

## Fields

This namespace carries no `raw` text; every field arrives pre-parsed. Several fields also differ in shape from their `metar.obs.<icao>` counterparts, so don't assume the two payloads are interchangeable.

| Field              | Type   | Notes                                                                                                                                     |
| ------------------ | ------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `station`          | string | Uppercase ICAO code of the reporting station, e.g. `KATL`                                                                                 |
| `report_time`      | string | RFC-3339 UTC observation time                                                                                                             |
| `source`           | string | Upstream data provider for the report, e.g. `madis` for US stations, `meteofrance` for French stations, or `knmi` for Dutch stations      |
| `revision`         | int    | Revision number of this observation, starting at 1; a later publication for the same `report_time` with a higher `revision` supersedes it |
| `temp_c`           | string | Temperature in degrees Celsius, as a decimal string so precision survives; parse with a decimal type, not float                           |
| `dewp_c`           | string | Dew point in degrees Celsius, decimal string like `temp_c`                                                                                |
| `wdir`             | int    | Wind direction in degrees true; `0` together with `wspd_kt: "0"` follows standard METAR convention for calm wind                          |
| `wspd_kt`          | string | Wind speed in knots, as a decimal string (unlike `metar.obs.<icao>`, where this field is an integer)                                      |
| `visib_m`          | int    | Visibility in metres; carries the actual computed distance rather than the `9999`-for-10km-or-more code used on `metar.obs.<icao>`        |
| `qnh_hpa`          | string | QNH pressure in hPa, as a decimal string (the `metar.obs.<icao>` equivalent, `altim_hpa`, is an integer)                                  |
| `cloud_base_ft`    | int    | Height of the reported cloud layer base, in feet                                                                                          |
| `cloud_cover_okta` | int    | Cloud cover on the 0-8 okta scale, where 0 is clear sky and 8 is fully overcast                                                           |

Any field can be omitted when the underlying report doesn't include it, so read all of them defensively.

French reports (`source: "meteofrance"`) can take a few minutes to appear: the upstream feed doesn't publish a 6-minute slot the instant it closes, so `metar.obs10.<icao>` may still return an empty result for the most recent slot for a short window after `report_time`. If the source later corrects a value for a slot already published, the correction arrives as a new event with `revision` incremented; an unchanged republish of the same slot is suppressed rather than re-sent.

<Card title="Next: D-ATIS Fast Lane" icon="tower-broadcast" href="/channels/atis-fast-lane">
  See how the Pro-only ATIS channel gets you weather minutes earlier.
</Card>
