Polymarket & Kalshi Odds vs Pinnacle Fair Probability (MCP) avatar

Polymarket & Kalshi Odds vs Pinnacle Fair Probability (MCP)

Pricing

from $10.00 / 1,000 fair probabilities

Go to Apify Store
Polymarket & Kalshi Odds vs Pinnacle Fair Probability (MCP)

Polymarket & Kalshi Odds vs Pinnacle Fair Probability (MCP)

Sports odds API and MCP server for AI agents. Get the Pinnacle no-vig fair probability for any game, live Polymarket and Kalshi prices, and the true edge after fees at your size. NFL, NBA, NHL, MLB, college football, EPL, Champions League, La Liga, ATP/WTA tennis and more. Pay per call.

Pricing

from $10.00 / 1,000 fair probabilities

Rating

5.0

(1)

Developer

SharpLine Labs

SharpLine Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Polymarket & Kalshi Odds vs Pinnacle Fair Probability (MCP + API)

Sports odds API and MCP server for AI agents. Name a game and get the Pinnacle no-vig fair probability, the live Polymarket and Kalshi prices for the same game, and the true edge after fees at your trade size. One call, no API keys to manage, pay per result.

Use it as a prediction-market odds API, a sharp-line reference for trading bots, or a "is this price fair?" tool inside Claude, ChatGPT, Cursor or any MCP client.

What it answers

  • "What's the real chance Arsenal beat Forest?" or "…Sinner beats Alcaraz?" → fair_probability
  • "Is the Polymarket price for the Heat fair, and what would $250 cost me after fees?" → compare_venues
  • "Where are Polymarket or Kalshi cheaper than the sharp line in the NBA tonight?" → scan_mispricings
  • "Does this market settle on 90 minutes or include extra time?" → resolution_check

Coverage

  • Soccer (3-way home/draw/away, 90 minutes + stoppage): Premier League (epl), Champions League (ucl), Europa League (uel), La Liga (laliga), Serie A (seriea), Bundesliga (bundesliga), Ligue 1 (ligue1), EFL Championship (championship), MLS (mls), Liga MX (ligamx), Brasileirão Série A (brasileirao), Saudi Pro League (saudipl).
  • US sports (winner incl. OT): NBA (nba), NFL (nfl), College Football (ncaaf), NHL (nhl), MLB (mlb).
  • Tennis (match winner, main-tour singles): ATP (atp), WTA (wta).
  • Fights (winner): UFC (ufc), Boxing (boxing).

Markets

Pass market (default winner). Lines are compared only when Polymarket/Kalshi list the exact same line as Pinnacle (half lines like 2.5; quarter lines are skipped).

marketSportsExample
winnerallArsenal to win
first_half_winnersoccerArsenal leading at half-time
total, first_half_totalsoccer, US sportsOver/Under 2.5 goals, 47.5 points
spread, first_half_spreadsoccer, US sportsArsenal -1.5; pass line from the queried team's view
team_totalsoccer, US sportsthe queried team's goals/points O/U
bttssoccerboth teams to score
set_winner (+ set_number)tennisSinner wins set 1
total_games, spread_gamestennisOver 21.5 games, -3.5 games

line is optional: without it you get Pinnacle's main line plus lines_available (every line also listed on a venue). scan_mispricings also takes market="all", a date (one day, UTC) and sort_by (edge or kickoff). It lists every matched price vs fair in lines, flags the ones above min_edge as opportunities, and in a normal Actor run writes one dataset row per price (see the League scan tab).

De-vig methods

devig_method chooses how Pinnacle's margin is removed:

  • shin (default): puts more of the margin on longshots and draws, which is how books actually price. Most accurate in published studies.
  • multiplicative: removes the margin in proportion to each price. Tends to leave longshots and draws a little too high.
  • power: the harshest on longshots; the most conservative fair price for underdogs.
  • none: raw Pinnacle prices with the margin left in. This inflates the fair price, so it is the most lenient setting; use it only for comparison.

Every opportunity carries robust: true only when the edge holds under all four methods.

Pre-match; in-play answers are flagged as indicative. Live check on 2026-10-17: 98% of Pinnacle games in these leagues matched on Polymarket and 99% on Kalshi (287 games).

How it works

  1. Pinnacle (the sharpest book) prices are fetched live, and the bookmaker margin is removed (multiplicative).
  2. The same game is found on Polymarket and Kalshi (names and kickoff time are matched automatically).
  3. compare_venues walks each order book for your size and adds taker fees (Polymarket sports 0.05·p·(1−p) per share; Kalshi 0.07·C·p·(1−p) rounded up per order). It then reports all-in cost, expected value per share, ROI and a verdict.

Most of the time the honest answer is no edge. That's the point: a calibrated reference price, not hype.

Tools and pricing (pay per successful result; errors are free)

ToolPrice
fair_probability(league, team, date?, market?, line?, set_number?, devig_method?)$0.01
compare_venues(league, team, date?, size_usd=100, min_edge=0.01, market?, line?, set_number?, devig_method?)$0.03
scan_mispricings(league, min_edge=0.02, market?, date?, sort_by?, devig_method?)$0.10
resolution_check(league, team, date?, market?, set_number?)$0.02

Connect (MCP)

{ "mcpServers": { "polymarket-kalshi-odds": {
"url": "https://sharplinelabs--polymarket-kalshi-odds-mcp.apify.actor/mcp",
"headers": { "Authorization": "Bearer <APIFY_API_TOKEN>" } } } }

Or run it as a normal Actor with input {"tool": "fair_probability", "league": "epl", "team": "Arsenal"}.

Example output (fair_probability, live run 2026-10-16)

{"ok": true, "league": "epl",
"game": {"home": "Nottingham Forest", "away": "Arsenal", "start_utc": "2026-10-18T15:30:00Z"},
"fair_probability": {"home": 0.1639, "away": 0.5783, "draw": 0.2577},
"pinnacle": {"margin": 0.0374, "max_stake_usd": 4500, "source": "direct"},
"venues": {"polymarket": {"matched": true, "prices": {"away": {"bid": 0.59, "ask": 0.60, "mid": 0.595, "gap_vs_fair": 0.0167}}},
"kalshi": {"matched": true, "prices": {"away": {"bid": 0.59, "ask": 0.60, "mid": 0.595, "gap_vs_fair": 0.0167}}}},
"warnings": [], "disclaimer": "Informational only. Not betting or investment advice."}

FAQ

Is there a Polymarket or Kalshi odds API with fair value built in? Yes, that's this Actor. It returns venue prices next to the Pinnacle no-vig probability, so you see the gap directly.

What is a no-vig (fair) probability? The bookmaker's implied probabilities minus its margin. Pinnacle is the sharpest, highest-limit book, so its de-vigged line is the standard reference for "true" odds.

Does it include fees? Yes. compare_venues walks the real order book for your size and adds Polymarket and Kalshi taker fees before computing edge and ROI.

Can my AI agent use it? Yes. Connect the MCP URL above (Claude Desktop, Claude Code, Cursor, ChatGPT connectors, n8n, LangChain). Tool descriptions list every league code, and errors return suggestions instead of failing silently.

Is it real-time? Every call fetches live data (cached up to 30 seconds). Pre-match is the main use; in-play answers are flagged as indicative.

Which sports? NFL, NBA, NHL, MLB, college football, 12 soccer leagues (EPL, Champions League, Europa League, La Liga, Serie A, Bundesliga, Ligue 1, Championship, MLS, Liga MX, Brasileirão, Saudi Pro League) and ATP/WTA tennis.

Which markets are covered? Match winner everywhere, plus totals, spreads, team totals and first-half markets (soccer and US sports), both teams to score (soccer), set winner / total games / games spread (tennis), and UFC and boxing fight winners.

Which de-vig method should I use? Keep the default shin. Use power for a stricter test, and look at robust to see whether an edge depends on the method (it must hold under all four).

Notes

Data comes from public endpoints of Pinnacle, Polymarket and Kalshi. If Pinnacle is unreachable, the Actor falls back to the lergassy/pinnacle-odds-api Actor, billed to you at its own price. Informational only. Not betting or investment advice. Check your local laws.