You cannot tell whether a bet is good without knowing its fair price, and no posted price is fair: every line carries margin. Devigging a sharp market gives you a fair-probability benchmark. Compare that benchmark to the price a softer book is offering and you can measure your edge. Devigging is the step that turns raw odds into a decision.
A market is posted at -110 / -110 (a standard two-way line). Convert each side to implied probability, then renormalize so the two sum to 100%.
# Step 1: implied probability of each -110 side -110 -> 110 / (110 + 100) = 0.5238 # Step 2: the two sides sum to more than 1 (that gap is the vig) 0.5238 + 0.5238 = 1.0476 # ~4.76% hold # Step 3: renormalize each side by the sum 0.5238 / 1.0476 = 0.500 # fair prob = 50% -> fair price +100
After devigging, the fair price of each side is +100 (a true coin flip). So if another book is offering +120 on one of those sides, you are getting a price above fair value. That is the whole point of devigging: it converts a marked-up line into the number you actually compare against. (Lopsided markets like -140 / +120 use the same normalize-by-the-sum method; the two sides simply divide unevenly.)
ParlayAPI devigs for you. The /v1/sports/{sport_key}/consensus endpoint aggregates prices across books and returns a no-vig fair probability per outcome, so you do not have to hand-roll the math. Under the hood the consensus is drawn from 45+ sources writing live odds (as of 2026-08), which widens the sample the fair price is built on. The Python SDK also exposes a one-call helper, ParlayAPI.devig(over_price=-110, under_price=-110), for the two-way case shown above.