Docs menu
API reference

Remove the vig

Fair probabilities for a whole market, with the bookmaker’s margin taken out. No daily limit.
POST/v1/devig

Uses the proportional method: each outcome’s implied probability divided by their sum. It is the same step optimize takes before sizing.

Request

FieldTypeRequiredMeaning
marketsarrayyes1 to 100 markets.
markets[].oddsinteger[]yesEvery outcome's American odds: 2 for a two-way market, 3 for win, draw, loss.
markets[].idstringnoYour own label, echoed back.

Example

A baseball moneyline and a soccer three-way market:

curl https://api.kellyiq.com/v1/devig \
  -H "Authorization: Bearer $KELLYIQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "markets": [
    {
      "id": "g1",
      "odds": [-145, 125]
    },
    {
      "id": "epl",
      "odds": [150, 230, 180]
    }
  ]
}'
{
  "results": [
    {
      "id": "g1",
      "odds": [
        -145,
        125
      ],
      "impliedProbabilities": [
        0.591837,
        0.444444
      ],
      "fairProbabilities": [
        0.571116,
        0.428884
      ],
      "overround": 0.036281
    },
    {
      "id": "epl",
      "odds": [
        150,
        230,
        180
      ],
      "impliedProbabilities": [
        0.4,
        0.30303,
        0.357143
      ],
      "fairProbabilities": [
        0.377297,
        0.285831,
        0.336872
      ],
      "overround": 0.060173
    }
  ]
}

Response

results has one entry per market, in the order you sent them. Every list is in the order of that market’s odds:

FieldTypeRequiredMeaning
idstring | nullnoYour label, echoed; null if you sent none.
oddsinteger[]noThe prices you sent.
impliedProbabilitiesnumber[]noEach price's implied probability, margin included. They add up to more than 1.
fairProbabilitiesnumber[]noThe same with the margin removed: each implied probability divided by their sum. They add up to 1 (to rounding).
overroundnumbernoThe margin: the implied probabilities’ sum minus 1. 0.0435 is a 4.35% margin.

Errors

400 VALIDATION_ERROR for invalid odds or a market without 2 or 3 of them, and 429 BURST_LIMIT_EXCEEDED above 60 calculator calls a minute. See Errors.