{"openapi":"3.0.0","info":{"title":"VoxOdds Prediction Market API","description":"Polymarket odds, community sentiment and history. Kalshi data and derived comparisons are unavailable via API; see https://voxodds.com/polymarket-vs-kalshi.","version":"1.0.0","contact":{"email":"apps@brainystack.co","url":"https://voxodds.com"}},"servers":[{"url":"https://voxodds.com","description":"Production"}],"paths":{"/api/v1/markets":{"get":{"summary":"List prediction markets with live odds","parameters":[{"name":"category","in":"query","schema":{"type":"string","enum":["Politics","Crypto","Sports","Geopolitics","Economics"]}},{"name":"q","in":"query","schema":{"type":"string"},"description":"Search query"},{"name":"execution","in":"query","schema":{"type":"string","default":"live","enum":["live","clean","watch","fragile","closed","all"]},"description":"Execution-quality filter"},{"name":"limit","in":"query","schema":{"type":"integer","default":50,"maximum":200}}]}},"/api/v1/market/{market_id}":{"get":{"summary":"Get single market with price history and community sentiment"}},"/api/v1/answer":{"get":{"summary":"Ask a natural language question about prediction markets","description":"Returns structured answer with current odds and trade links. Perfect for AI assistants.","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"description":"Natural language question, e.g. 'will france win the world cup'"}]}},"/api/v1/executable-quote":{"get":{"summary":"Get a Polymarket all-in quote; Kalshi requests return a web-only notice","description":"Polymarket depth and estimated fees only. Kalshi data is not available via API; see https://voxodds.com/polymarket-vs-kalshi.","parameters":[{"name":"platform","in":"query","required":true,"schema":{"type":"string","enum":["polymarket","kalshi"]}},{"name":"market_id","in":"query","required":true,"schema":{"type":"string"}},{"name":"side","in":"query","schema":{"type":"string","default":"Yes"}},{"name":"amount_usd","in":"query","description":"All-in cash budget including estimated taker fees","schema":{"type":"number","default":100,"maximum":100000}}]}},"/api/v1/compare-executable":{"get":{"summary":"Polymarket quote and Kalshi web comparison link","description":"Returns only the independent Polymarket quote, Kalshi ticker and web-only data notice. No venue ranking or savings.","parameters":[{"name":"polymarket_id","in":"query","required":true,"schema":{"type":"string"}},{"name":"kalshi_ticker","in":"query","required":true,"schema":{"type":"string"}},{"name":"side","in":"query","schema":{"type":"string","default":"Yes"}},{"name":"amount_usd","in":"query","schema":{"type":"number","default":100,"maximum":100000}}]}},"/api/v1/executable-opportunities":{"get":{"summary":"Independent Polymarket quotes from the static pair directory","description":"Polymarket quotes in market-id order. Kalshi comparisons are web-only: https://voxodds.com/polymarket-vs-kalshi.","parameters":[{"name":"amount_usd","in":"query","description":"All-in cash budget per side","schema":{"type":"number","default":100,"maximum":100000}},{"name":"family","in":"query","description":"Optional family key returned by this endpoint","schema":{"type":"string"}},{"name":"side","in":"query","description":"Optional outcome side","schema":{"type":"string","enum":["Yes","No"]}}]}},"/api/v1/arbitrage-candidates":{"get":{"summary":"Polymarket quotes and human comparison link; no cross-venue candidates","description":"Independent Polymarket quotes only. Kalshi and cross-venue calculations are unavailable via API; see https://voxodds.com/polymarket-vs-kalshi.","parameters":[{"name":"max_capital_usd","in":"query","description":"Maximum combined all-in cost for both legs","schema":{"type":"number","default":100,"maximum":100000}},{"name":"family","in":"query","description":"Optional reviewed family key","schema":{"type":"string"}},{"name":"polymarket_id","in":"query","description":"Optional exact reviewed pair; requires kalshi_ticker","schema":{"type":"string"}},{"name":"kalshi_ticker","in":"query","description":"Optional exact reviewed pair; requires polymarket_id","schema":{"type":"string"}}]}},"/api/v1/sportsbook-arbitrage":{"get":{"summary":"Find live 2-way/3-way sportsbook surebet candidates","description":"Selects the best decimal h2h price for every exhaustive outcome, requires inverse-odds sum below one, and returns cent-rounded equal-payout stakes. Results remain unfilled and can be limited, rejected, voided or repriced.","parameters":[{"name":"sport_key","in":"query","schema":{"type":"string","default":"upcoming"}},{"name":"capital_usd","in":"query","schema":{"type":"number","default":100,"maximum":100000}}]}},"/api/v1/world-cup/brief":{"get":{"summary":"Get the AI-ready World Cup 2026 market brief","description":"Returns winner odds, next match prices, tight groups, research theses, creator links, and ready-to-cite markdown."}},"/api/v1/world-cup/matchday":{"get":{"summary":"Get the daily World Cup matchday market brief","description":"Returns the closest match, strongest favorite, draw risk, winner-board context, share-card SVG URL, and ready-to-cite markdown.","parameters":[{"name":"date","in":"query","schema":{"type":"string"},"description":"Optional YYYY-MM-DD match date; omit for today or next available slate"}]}},"/api/v1/odds/{slug}":{"get":{"summary":"Get odds by market slug with affiliate links"}},"/api/v1/markdown/{market_id}":{"get":{"summary":"Get ready-to-paste markdown summary with affiliate links"}},"/api/v1/trending":{"get":{"summary":"Top 20 markets by 24h volume"}},"/api/v1/edges":{"get":{"summary":"Ranked market edge and integrity-risk signals","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":30,"maximum":100}},{"name":"min_edge","in":"query","schema":{"type":"number","default":1.0}},{"name":"include_risky","in":"query","schema":{"type":"boolean","default":false}}]}},"/api/v1/strategies":{"get":{"summary":"Current strategy playbook built from backtests and live Edge signals","parameters":[{"name":"lookback","in":"query","schema":{"type":"integer","default":1}},{"name":"horizon","in":"query","schema":{"type":"integer","default":1}},{"name":"min_move","in":"query","schema":{"type":"number","default":2.0}},{"name":"min_vol","in":"query","schema":{"type":"number","default":1000}}]}},"/api/v1/research-desk":{"get":{"summary":"Live Research Desk with active theses, demand queue, watched setups, and recent thesis changes","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":6,"minimum":1,"maximum":20}}]}},"/api/v1/backtest":{"get":{"summary":"Backtest price-action strategies on stored hourly snapshots","parameters":[{"name":"lookback","in":"query","schema":{"type":"integer","default":6}},{"name":"horizon","in":"query","schema":{"type":"integer","default":12}},{"name":"min_move","in":"query","schema":{"type":"number","default":5.0}},{"name":"min_vol","in":"query","schema":{"type":"number","default":1000}}]}},"/embed/{market_id}":{"get":{"summary":"Embeddable odds widget (HTML iframe)"}}}}