Use case: line shoppers

Build a line-shopping tool that always finds the best price

Show every book's price per outcome with the best line flagged, and quantify how far the best price sits from the market average.

Who this is for

Bettors and developers building a price checker that answers one question fast: which book has the best price on this outcome right now, and by how much.

Recommended workflow
  1. Pull /compare for the market you care about
  2. Flag best and worst price per outcome
  3. Use /consensus to show distance from the market average
  4. Refresh close to game time when prices move most

The three endpoints this build uses

GET /v1/sports/{sport_key}/compareEvery book's price for each outcome side by side, with the best line flagged and the hold at each book.
GET /v1/sports/{sport_key}/consensusThe market average in probability space, plus best and worst odds, so you can show how far the best price sits from the pack.
GET /v1/sports/{sport_key}/oddsThe raw board when you want to render every book's full market list yourself.

Working code

import requests

rows = requests.get(
    "https://parlay-api.com/v1/sports/baseball_mlb/consensus",
    headers={"X-API-Key": "YOUR_KEY"},
).json()
for row in rows:
    print(row["away_team"], "@", row["home_team"],
          "best:", row["best_odds"]["bookmaker"], row["best_odds"]["price"],
          "consensus:", row["consensus_odds"])

Which tier fits

The free tier's 1,000 monthly credits are enough to prove the workflow, and most line-shopping tools then settle on Starter. Current limits are on the pricing page.

Example repo

Start from parlayapi-line-shopper, an open-source starting point for this exact build.

Build links

/answers/line-shop-programmatically/answers/sportsbook-odds-api/use-cases/from-the-odds-api-migration