Introduction
Therminal provides programmatic access to Kalshi temperature prediction market data and NWS weather observations through a unified REST API.
Base URL
Section titled “Base URL”https://api.mostlyright.xyzAll endpoints return JSON by default. Add ?format=csv or ?format=parquet for bulk downloads. All timestamps are UTC unless a tz parameter is specified.
Key concepts
Section titled “Key concepts”| Concept | Description |
|---|---|
| Series | A temperature metric for a location (e.g., KXHIGHNY = NYC daily high) |
| Event | A specific date’s prediction (e.g., KXHIGHNY-26MAR20 = NYC high on March 20) |
| Market | A strike within an event (e.g., KXHIGHNY-26MAR20-T50 = “Will NYC high exceed 50°F?”) |
| Candle | OHLCV price data at 1-minute intervals. Prices are in cents (0–100). |
| Station | A 3–4 letter NWS weather station code (e.g., NYC, LAX, ORD) |
Data freshness
Section titled “Data freshness”| Dataset | Latency | Source |
|---|---|---|
| Candles (recent 14 days) | ~5 minutes | Kalshi API → Supabase |
| Candles (historical) | ~1 hour | R2 parquets via DuckDB |
| Observations (recent 14 days) | ~5 seconds | AWC → Supabase |
| Observations (historical) | ~1 hour | R2 parquets via DuckDB |
| Climate reports | ~24 hours | IEM → Supabase |
Full documentation
Section titled “Full documentation”- API Reference — All endpoints with interactive playground
- Python SDK —
pip install therminal-py - Data Sources — Where the data comes from
- Rate Limits & Errors — Error codes and rate limiting