Live odds, order book, METAR observations & ensemble forecasts for 36+ cities. Pick a city to start trading.
The only public HTTP API is GET /api/weather/snapshots (free, JSON). Other /api/* URLs are for the PolyNimbus web app in the browser only; direct programmatic access to them returns 404.
GET https://www.polynimbus.club/api/weather/snapshots?city=<city-key>&day=today|tomorrow GET https://www.polynimbus.club/api/weather/snapshots?city=<city-key>&date=YYYY-MM-DD GET https://www.polynimbus.club/api/weather/snapshots (omit city → all cities; heavier response) Query params: city optional — e.g. london, nyc, tokyo (see dashboard city keys) day optional — today | tomorrow (local to that city) date optional — YYYY-MM-DD (overrides day when set) Returns JSON: schemaVersion, generatedAt, locations[] with hourly model temps, running max, ensemble, METAR, atmospheric fields (cloud, wind, radiation), diagnostics. See /llms.txt for field details.
Rate limiting applies only to GET /api/weather/snapshots. Each IP has a rolling maximum number of requests per minute. When exceeded, the server returns 429 Too Many Requests with a JSON body and a Retry-After header (seconds). Successful responses include X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset.
# Response headers on success (snapshots only)
X-RateLimit-Limit: <max per window>
X-RateLimit-Remaining: <requests left>
X-RateLimit-Reset: <unix seconds>
# 429 body example
{
"error": "Too many requests",
"message": "Rate limit exceeded. Try again shortly.",
"retryAfter": 42
}Full field reference: /llms.txt
Full response from GET /api/weather/snapshots for one city — model hourly temps, running max, ensemble path, METAR, cloud layers & cover, wind, shortwave radiation, and heating-window diagnostics.