The station network

About 40% of our current-conditions data comes from weather stations owned by hobbyists, schools, farms and one very committed lighthouse keeper. This page is about them — and about joining them.

41,273stations reporting this week
138countries and territories
~6Mobservations ingested per day
72%report at 10-minute cadence or better
1 dot ≈ 250 stations · static snapshot, 2026-02

Snapshot of active stations by approximate location. The live version on the forum is pannable and slightly more flattering to the Pacific.

Joining with your own station

Any station that can push JSON over HTTPS — or be forwarded by software you probably already run — can join. In practice that's Ecowitt, Davis (via WeatherLink export), Netatmo (via their API) and anything that speaks the CWOP/APRS format. A Raspberry Pi with a cheap BME280 counts.

  1. Register a station ID on the forum. You'll get an ingest token and a station page.
  2. Point your forwarder at the ingest endpoint (below). Every 5–10 minutes is plenty; faster is fine but doesn't help — see the quality rules.
  3. Survive probation. For the first 14 days your data is ingested and quality-checked but not published. This catches misconfigured sensors, wrong coordinates and the classic indoor-station-in-a-sunny-window setup.
  4. Keep it alive. Stations that stop reporting for 30 days drop off the network automatically. No hard feelings; you can rejoin any time.
# minimal payload — POST every 5–10 minutes
curl -X POST "https://ingest.freeweatherapi.org/v1/obs" \
  -H "X-Station-Token: stn_5f2e91" \
  -H "Content-Type: application/json" \
  -d '{
    "observed_at": "2026-10-15T14:20:00Z",
    "temperature_2m": 14.3,
    "relative_humidity": 79,
    "pressure_msl": 1014.2,
    "wind_speed_10m": 4.1,
    "wind_direction_10m": 247,
    "precipitation": 0.2
  }'
TIP: Report what you actually measure. Made-up or interpolated fields are the main reason stations fail probation — an absent value is far more useful to us than a guessed one.

Data quality rules

Every observation passes four automated checks before it can influence the /v1/current blend. Rejected observations are stored (flagged) but not served:

CheckWhat it catchesTypical culprit
RangePhysically implausible values (temp outside −80…+55 °C, humidity outside 0–100%)Dead sensor stuck at a rail value
TemporalSpikes and impossible rates of change (>8 °C/min)Sun hitting the radiation shield at low angles
Run consistencyStuck values repeating for hours, or midnight resetsFirmware quirks, low batteries
Spatial (buddy check)Disagreement with nearby stations and model background beyond toleranceWrong coordinates, station indoors, or a genuinely local microclimate (we allow for that — see below)

The buddy check is the contentious one. If your station disagrees with its neighbors, we don't auto-delete it — microclimates are real, and valley fog or a sea breeze can be a legitimate 4 °C disagreement. Stations that consistently disagree get a forum ping and a human look. We'd rather have a slightly odd but honest station than a smoothed one.

Observations older than 30 minutes don't enter /v1/current, however good they were. Current means current.

What we publish about your station

Station pages show the identifier, rough coordinates (jittered to about 1 km — the "lighthouse keeper" asked, and we agreed), elevation, first-seen date and uptime percentage. Nothing personal. If you want your station listed under a name instead of an ID, that's a checkbox in your station settings.

Why people do it

Honestly? Some do it for the badge on the forum. Most do it because their neighborhood's weather is badly served by the nearest airport, and a station in the network makes local forecasts (ours and everyone else's) better — including their own home automation. A few farmers run three or four stations across their land and use /v1/history on their own coordinates for spray-window planning. That's the good stuff.

Recommended hardware

We don't sell anything and have no affiliate deals. From maintainer experience: a €35 BME280 on a Pi out in the garden beats a €300 station inside a conservatory. If you're buying, look for a proper radiation shield and site the thing in open air, 2 m up, away from walls and barbecues. The barbecue rule is real. We have graphs.

Questions about a specific station or sensor? The forum's station-help section is the fastest route: hello@freeweatherapi.org works too, but the forum has more people who've seen your exact firmware bug.