/api/public/* are public read surfaces by default. Most do not require an API key for basic use. Auth may unlock higher rate limits, higher model tiers, or user-specific overlays on supported routes.
Markets
| Endpoint | Purpose |
|---|---|
GET /api/public/markets | Market universe (paginated) |
GET /api/public/newmarkets | Recently listed markets |
GET /api/public/scan | Multi-mode scan: keyword, series, market |
GET /api/public/screen | Indicator-based screener |
GET /api/public/screen-by-tickers | Screen explicit ticker list |
GET /api/public/search | Server-side search across markets + content |
GET /api/public/market/{ticker} | Full market detail (set ?depth=true for orderbook levels) |
GET /api/public/market/{ticker}/history | Price history |
GET /api/public/market-microstructure-history | Spread/depth/flow over time |
GET /api/public/live-tickers | Live-priced ticker list |
GET /api/public/market/{ticker}/candles | OHLCV/K-line candles for SDK and Agent SDK screening |
Market candles
| Param | Values | Notes |
|---|---|---|
venue | kalshi | polymarket | Optional. Use it when the ticker/id is ambiguous. |
timeframe / tf | 1m | 5m | 15m | 1h | 1d | Default 1m. |
limit | number | Default 500, max 2000. |
market.candles SDK/Agent contract. The Vercel API route proxies to the terminal/Fly candle service and normalizes the response for SDK consumers.
Cross-venue
| Endpoint | Purpose |
|---|---|
GET /api/public/cross-venue/pairs | Kalshi ↔ Polymarket pairs |
GET /api/public/cross-venue/stats | Pair counts + confidence distribution |
Regime + index
| Endpoint | Purpose |
|---|---|
GET /api/public/regime/scan | Regime label per market |
GET /api/public/index | Current SimpleFunctions Index v2 (four gauges) |
GET /api/public/index/history | SimpleFunctions Index time series |
GET /api/public/regime/history is deprecated and returns 410 Gone. Use GET /api/public/regime/scan for current regime labels and GET /api/public/market-microstructure-history for spread/depth history.
See Index methodology and Regime.
Probability index (/odds)
The SimpleFunctions Probability Index aggregates one liquidity-weighted YES probability per question across Kalshi + Polymarket, refreshed every 15 minutes. Same data the /odds page renders.
| Endpoint | Purpose |
|---|---|
GET /api/public/odds | Full snapshot — categories, contested questions, cross-venue gaps. |
GET /api/public/odds.md | Markdown variant for agents — capped at 500 slugs. |
| Param | Values | Notes |
|---|---|---|
category | string | Filter by category (politics, economy, crypto, etc.). |
band | mid | moving | mid = probabilities near 50%; moving = recently shifted. |
limit | number | Cap question count. |
Calendar + milestones
| Endpoint | Purpose |
|---|---|
GET /api/public/calendar | Upcoming resolutions |
GET /api/public/yield-curves | Yield curve list |
GET /api/public/yield-curves/{event} | One yield curve |
Liquidity + contagion
| Endpoint | Purpose |
|---|---|
GET /api/public/liquidity-by-theme | Liquidity grouped by theme |
GET /api/public/contagion | Lagging related markets |
Government data
| Endpoint | Purpose |
|---|---|
GET /api/public/query-gov | Search bills, members, treaties (congress mirror backed) |
GET /api/public/legislation | Legislation list |
GET /api/public/legislation/{billId} | One bill |
GET /api/public/congress/members | Congress member list |
GET /api/public/congress/member/{id} | One member |
Economic data
| Endpoint | Purpose |
|---|---|
GET /api/public/query-econ | Search FRED series (fred mirror backed) |
GET /api/public/fred | FRED series detail |
GET /api/public/databento | Databento traditional markets |
GET /api/public/trad-markets | Traditional market anchors |
Content
| Endpoint | Purpose |
|---|---|
GET /api/public/query | Headline cross-venue search |
GET /api/public/topic/{slug} | Topic page data |
GET /api/public/answer/{slug} | Wayback-stable answer page |
GET /api/public/glossary | Glossary |
GET /api/public/glossary/{slug} | Glossary entry |
GET /api/public/guide | Agent guide |
GET /api/public/highlights | Editorial highlights |
GET /api/public/briefing | Daily briefing |
GET /api/public/diff | Daily diff |
POST /api/public/discuss | Discussion topics |
Skills
| Endpoint | Purpose |
|---|---|
GET /api/public/skills | Public skill catalog |
GET /api/public/skill/{slug} | One skill |
Theses + opinions
| Endpoint | Purpose |
|---|---|
GET /api/public/theses | Public theses |
GET /api/public/thesis/{slug} | One published thesis |
GET /api/public/opinions | Editorial opinions |
GET /api/public/opinions/{slug} | One opinion |
Technicals
| Endpoint | Purpose |
|---|---|
GET /api/public/technicals | Technical guides |
GET /api/public/technicals/{slug} | One guide |
Ideas
| Endpoint | Purpose |
|---|---|
GET /api/public/ideas | Trade ideas |
GET /api/public/ideas/{id} | One idea |
Context
| Endpoint | Purpose |
|---|---|
GET /api/public/context | Global market context (no thesis) |
Caching
Most public endpoints setCache-Control: public, s-maxage=N and CDN-cache aggressively. Per-route TTLs vary:
- markets, scan, screen — 60s
- query, query-gov, query-econ — 5–10min in-memory + 5min CDN swr
- index, regime — 30s
- legislation, congress members — 1h ISR
See also
Agent API
LLM-shaped variants under
/api/agent/*.World model guide
Recommended agent loop using these endpoints.