A small, focused JSON API for weather data that's useful to automated consumers: route risk for sailors and pilots, multi-model forecast confidence, and weather-station readings for prediction markets. Endpoints are metered per request using the x402 payment standard, so agents pay only for what they query.
These endpoints use HTTP 402 Payment Required. Your first request returns a 402 with a JSON body describing how to pay (network, asset, amount, pay-to address, and a facilitator to settle through). Pay via the facilitator, then retry the same request with an X-PAYMENT header carrying the payment proof. A valid payment returns 200 with the data.
Discovery document: /.well-known/x402.json · Agent index: /llms.txt
Route risk between two points for sailing or flying. Samples the forecast along the great-circle path and returns an overall risk score, a per-leg breakdown, and plain-language advice.
| Param | Required | Example |
|---|---|---|
from | yes | 50.9,-1.4 |
to | yes | 49.5,-0.1 |
mode | no | sailing (default) or flying |
GET /api/v1/routes?from=50.9,-1.4&to=49.5,-0.1&mode=sailing
{
"ok": true,
"mode": "sailing",
"distance_km": 181.1,
"distance_nm": 97.8,
"risk_score": 24,
"risk_band": "low",
"advice": "Conditions look favourable along the route...",
"legs": [ { "point": {...}, "wind_speed_kmh": 18, "wave_height_m": 0.8, "risk": 12 }, ... ],
"disclaimer": "Advisory only. Not a substitute for official forecasts."
}
Forecast-confidence score for a location, from multi-model ensemble spread. Choose which models to include.
| Param | Required | Example |
|---|---|---|
lat | yes | 51.5 |
lon | yes | -0.13 |
models | no | weathernext,ecmwf,gfs,icon,gem |
GET /api/v1/confidence?lat=51.5&lon=-0.13&models=weathernext,ecmwf
{ "ok": true, "score": 82, "level": "high", "spread": 1.4, "band": {...}, "days": [...] }
Live readings for the weather stations that settle temperature prediction markets (e.g. Kalshi / Polymarket daily-high markets), across 15 major cities.
| Param | Required | Example |
|---|---|---|
city | no | london (omit for all cities) |
metric | no | temperature (default) or wind |
GET /api/v1/markets?city=london
{
"ok": true,
"data": [ {
"city": "London",
"stations": ["EGLL Heathrow","EGLC London City"],
"current": { "temperature_c": 18.2, "temperature_f": 64.8, ... },
"today": { "high_c": 21, "low_c": 12, ... }
} ]
}
ok boolean; errors include an error code and often a usage hint.