WebSocket METAR data for prediction market bots

Stream airport weather reports the moment they update, monitor temperature buckets, and trigger trading logic from the same data source Polymarket and Kalshi use for weather market resolution.

< 800ms push latency 2,000+ ICAO stations 99.9% uptime SLA

METAR = official airport weather observations used for weather market resolution

wss://stream.metar.ws receiving
"

WebSocket METAR updates changed how we trade weather markets. Instead of waiting on polling cycles, our bot reacts the moment a station update lands. Entries got noticeably sharper within the first week — we stopped missing SPECI reports entirely.

Alex R.
Weather market trader
Independent trading desk
Zero missed SPECI reports since switching
"

The realtime stream helped us catch temperature moves we were missing with 3-minute polling. Faster METAR alerts opened up new profit windows around bucket shifts and late-day updates.

Marek T.
Prediction bot developer
Quant weather strategies
Moved from 3-min polling to sub-second push
"

Moving from scrapers to a live WebSocket feed made the whole bot more stable. Fewer missed updates, fewer broken jobs, and a cleaner pipeline from signal to execution.

Nikita S.
Automated strategy developer
Multi-market bot builder
Eliminated scraper failures completely

Realtime METAR alerts for weather prediction markets

Polymarket and Kalshi weather markets often resolve on tiny changes. METAR.ws is designed to make those updates usable by automated strategies.

Polymarket · Kalshi

React the moment a temperature bucket shifts

Polymarket temperature markets and Kalshi weather contracts resolve on whether a station reads within a specific degree range. METAR.ws pushes an alert the instant a new observation crosses a bucket boundary — before dashboards refresh and before prices move.

  • Per-station bucket boundary alerts in every push event
  • Sub-800ms delivery from official METAR issuance
  • Active bucket state included — no calculation needed
"market_alerts": ["temp_bucket_28c"]
All prediction markets

Catch SPECI reports the moment they're issued

SPECI reports are filed outside the standard hourly cycle when weather changes suddenly — a temperature spike, fog bank, or wind shift. These are the updates that move market resolution probabilities in minutes. METAR.ws streams SPECI on the same WebSocket path as routine METARs.

  • SPECI delivered on the same stream — no extra subscription
  • Triggers on significant temp, wind, and visibility changes
  • Available across all 2,000+ covered ICAO stations
"type": "SPECI", "station": "LTAC", "temp_c": 31
Historical replay API

Replay METAR history against your strategy logic

Before going live, validate your bot's entry and exit decisions against real historical METAR sequences. The replay API returns the same JSON event format as the live stream — strategy code runs unchanged, no adapter needed.

  • Replay any date range and station combination
  • Identical JSON format to the live WebSocket stream
  • Timestamped at source — no gaps, no reconstruction
GET /v1/replay?station=RKSI&from=2026-01-01&to=2026-03-01
Audit & compliance

Audit every trade against the official METAR record

Each push event carries the raw METAR string alongside parsed fields — the exact observation airports file and prediction markets cite for resolution. Build audit trails, verify edge cases, and never dispute a settlement without evidence.

  • Raw METAR string and parsed fields in every payload
  • ISO 8601 timestamps to the second
  • Immutable source data — no post-processing applied
"raw": "METAR RKSI 270800Z 26008KT 9999 FEW030 28/17 Q1012"

Data sourced from NOAA Aviation Weather Center and ICAO global stations.

WebSocket & REST METAR API — connect in 3 lines

Authenticate with an API key, subscribe to ICAO stations, and start receiving push events. No polling, no parsing — structured JSON ready for your strategy logic.

01

Connect

Open a WebSocket to wss://stream.metar.ws/v1 and authenticate with your API key.

02

Subscribe

Send a JSON message with ICAO codes and the alert types your strategy needs.

03

React

Receive push events with temp_c, wind, bucket_shift — parsed and ready to trade.

websocket-example.js
const ws = new WebSocket('wss://stream.metar.ws/v1');

ws.send(JSON.stringify({
  type: 'subscribe',
  stations: ['RKSI', 'CYYZ', 'LTAC'],
  alerts: ['new_metar', 'temp_change', 'bucket_shift']
}));

ws.onmessage = ({ data }) => {
  const event = JSON.parse(data);
  strategy.handleMetarUpdate(event);
};
Push event payload
{
  "type": "station.update",
  "station": "RKSI",
  "observed_at": "2026-05-27T08:00:00Z",
  "temp_c": 28,
  "dewpoint_c": 17,
  "wind": { "dir": 260, "speed_kt": 8 },
  "raw": "METAR RKSI ...",
  "market_alerts": ["temp_bucket_28c"]
}
temp_c
Resolution temperature
market_alerts
Bucket shift flags
raw
Original METAR string
observed_at
ISO 8601 timestamp

Simple pricing for METAR streaming

A straightforward model for individual bot builders, active traders, and teams running multi-city weather market strategies. Beta subscribers lock in current pricing at general availability.

Starter

$29/mo

For testing one strategy

10 station subscriptions
Realtime METAR stream
Basic parsed JSON
API key authentication
Join waitlist

Pro

$99/mo

For active market bots

100 station subscriptions
SPECI and bucket alerts
Historical replay API
Priority support
Join waitlist

Desk

Custom

For teams and funds

Custom station coverage
Dedicated stream limits
SLA guarantee
Priority support
Contact us

No long-term contracts. Cancel anytime. Questions? Email us.

Common questions about METAR streaming

Everything prediction market bot builders ask before connecting to the stream.

More questions? hello@metar.ws

Build weather-market bots that react before dashboards refresh.

Join the METAR.ws beta and get realtime station updates, parsed fields, and alert hooks for your Polymarket and Kalshi prediction market workflow.