Prediction Markets API endpoints
Polymarket and Kalshi sentiment plus a universal prediction-market catalogue and resolutions feed.
3 of 3 endpoints · all categories · get a free API key
GET/api/v1/prediction-markets/sentimentFree tier
Directional sentiment (bullish/bearish/neutral) derived from Polymarket + Kalshi consensus pricing, plus a heuristic market-disagreement flag.
Tier detail: free — 'prediction_markets' IS in the free-tier feature set
Cache: 120s flat (no per-tier split). Only status='open' rows queried. direction: bullish if consensus>0.6, bearish if <0.4, else neutral. disagreement: bid-ask spread>0.15 OR (2+ outcome prices, top two within 0.1 of each other) — reads as inverted/odd logic, worth flagging in docs. Uses the standard auth guard/v1Success helper, not the standard v1 route factory.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| sport_key | string | No | – | ILIKE substring match against the market question text (not a structured sport field), e.g. 'NFL', 'AFL', 'EPL'. |
| category | string | No | – | Exact match on platform_category. |
| source | string | No | both | 'polymarket' or 'kalshi'. 400 on any other value. |
| limit | integer | No | 50 | Clamped 1-200 (MAX_LIMIT=200). |
| offset | integer | No | 0 | Pagination offset. |
curl \
-H "X-API-Key: YOUR_KEY" \
"https://krokodds.com.au/api/v1/prediction-markets/sentiment?sport_key=aussierules_afl"{
"success": true,
"data": [
{
"id": "pm_will-chiefs-win-super-bowl-lx",
"source": "polymarket",
"question": "Will the Kansas City Chiefs win Super Bowl LX?",
"category": "sports",
"consensus_probability": 0.183,
"volume": 842000,
"liquidity": 61500,
"price_direction": "bearish",
"market_disagreement": false,
"status": "open",
"end_date": "2027-02-14",
"fetched_at": "2026-09-03T03:45:00.000Z"
}
],
"meta": {
"count": 1,
"license": "krokodds-derived",
"filter": {
"sport_key": "NFL",
"category": null,
"source": null
},
"sentiment_summary": {
"bearish": 1
},
"note": "Prediction market sentiment derived from Polymarket + Kalshi pricing. Direction is heuristic from consensus probability.",
"limit": 50
}
}GET/api/v1/prediction-markets/universalFree tier
Full-catalog Polymarket + Kalshi markets across EVERY category (weather, politics, crypto, economics, sports) — not just sports-matched markets. Synced every 30 min by the market sync scheduled sync.
Cache: 120s flat. Distinct from /api/v1/odds-feed/prediction-markets, which serves the sports-matched subset (the prediction-market store table) — this route is the raw full catalog (the prediction-market catalogue table), not sport-filtered server-side (only via question-text search).
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| source | string | No | – | 'polymarket' or 'kalshi'. 400 on invalid value. |
| category | string | No | – | Exact match on platform_category. |
| status | string | No | open | One of open|closed|settled|halted. 400 on invalid value. |
| limit | integer | No | 50 | Clamped 1-200. |
| offset | integer | No | 0 | Pagination offset. |
| search | string | No | – | Case-insensitive ILIKE match on question text. |
curl \
-H "X-API-Key: YOUR_KEY" \
"https://krokodds.com.au/api/v1/prediction-markets/universal?source=value"{
"success": true,
"data": [
{
"id": "pm_us-fed-rate-cut-september-2026",
"source": "kalshi",
"platform_category": "economics",
"market_id": "FED-RATE-SEP26",
"question": "Will the Fed cut rates at the September 2026 FOMC meeting?",
"description": "Resolves YES if the FOMC announces a rate cut at its September 2026 meeting.",
"outcomes": [
"Yes",
"No"
],
"outcome_prices": [
0.71,
0.29
],
"status": "open",
"result": null,
"volume": 1250000,
"liquidity": 98000,
"best_bid": 0.7,
"best_ask": 0.72,
"end_date": "2026-09-18",
"created_at": "2026-07-01T00:00:00.000Z",
"fetched_at": "2026-09-03T03:30:00.000Z",
"resolved_at": null
}
],
"meta": {
"count": 1,
"license": "krokodds-proprietary",
"filter": {
"source": null,
"category": "economics",
"status": "open",
"search": null
},
"pagination": {
"limit": 50,
"offset": 0
},
"note": "Full-catalog Polymarket + Kalshi markets across every category. Synced every 30 minutes.",
"limit": 50
}
}GET/api/v1/prediction-markets/universal/resolutionsFree tier
Append-only archive of RESOLVED Polymarket + Kalshi markets (final outcome + prices at resolution), with a day-based lookback window.
Cache: 120s flat. Separate the market-resolutions store table (distinct from the prediction-market catalogue) — append-only, never mutated after resolution. No explicit historical-days tier clamp applied to `days` param (unlike historical/* routes' since/from clamp) — same 30/365-day window available to free and api tiers alike.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| source | string | No | – | 'polymarket' or 'kalshi'. 400 on invalid value. |
| category | string | No | – | Exact match on platform_category. |
| days | integer | No | 30 | Lookback window in days for resolved_at, clamped 1-365. |
| limit | integer | No | 50 | Clamped 1-200. |
| offset | integer | No | 0 | Pagination offset. |
curl \
-H "X-API-Key: YOUR_KEY" \
"https://krokodds.com.au/api/v1/prediction-markets/universal/resolutions?source=value"{
"success": true,
"data": [
{
"id": "pm_us-fed-rate-cut-july-2026",
"source": "kalshi",
"market_id": "FED-RATE-JUL26",
"question": "Will the Fed cut rates at the July 2026 FOMC meeting?",
"platform_category": "economics",
"outcomes": [
"Yes",
"No"
],
"result": "No",
"final_prices": [
0.05,
0.95
],
"volume_at_resolution": 980000,
"resolved_at": "2026-07-30T18:00:00.000Z",
"captured_at": "2026-07-30T18:05:00.000Z"
}
],
"meta": {
"count": 1,
"license": "krokodds-proprietary",
"filter": {
"source": "kalshi",
"category": "economics",
"days": 30
},
"pagination": {
"limit": 50,
"offset": 0
},
"note": "Resolved Polymarket + Kalshi markets, append-only resolution archive.",
"limit": 50
}
}Other categories
Per-event head-to-head odds, alternate lines, best prices across books, player props, live state and AI-generated summaries.
Krok's built-in scanners — arbitrage, positive EV, middles, low-holds, player props and same-game multi (SGM) picks, already devigged against a blended sharp baseline.
The full Australian racing stack — thoroughbred, harness and greyhound. Meetings and runner fields, form, sectionals, ratings, market movers, exchange arbs, tote pools and results.
Raw per-bookmaker prices as scraped, before any analysis layer. `/scraped-odds/*` paths are aliases of the equivalent `/odds-feed/*` route.
Sport reference data, team form guides, league standings, injury reports and weather-impact analysis.
AI-generated betting tips with confidence scores and historical accuracy tracking.
Ranked leaderboards built on top of the stat feeds — per-sport player leaders for a chosen stat, season and view.
ATP/WTA rankings, upcoming fixtures, match results, Elo ratings and surface-specific stats.
Deep archives — player and team game logs, shot charts, AFL/NRL historical data. Paid API plan only.
Static lookup data for building your own UI — players, venues, headshots, team logos and sport/league metadata.
Cricket, cycling, esports, Formula 1, golf, MMA, boxing, NFL and soccer coverage beyond the AU staples.
Account and billing endpoints, bulk export, SSE streaming, webhook management and API health.
Odds history, steam-move detection, player prop stats/results, injuries, weather and other supporting feeds.