Most line moves are slow and local: one book nudges a number to balance its own action. A steam move is different. It hits book after book almost simultaneously, which means the money behind it is large, confident, and spread across the market. That footprint is hard to fake, so steam is treated as one of the clearest tells that sharp opinion has shifted. The catch is speed: the value lives in the seconds before the slower books catch up, and once every book has moved, the edge is gone.
An NBA total sits quietly at 224.5 across the market. Then, inside about a minute, it moves in lockstep:
# t = 0s total = 224.5 across 12 books # t = 20s three sharp books drop to 223.5 (Under -110) # t = 55s nine more books follow to 223.5, some to 223.0 Market-wide move: 224.5 -> 223.0 in under a minute. Books that moved: 12 of 12.
A bettor watching a single book would see one late move and shrug. A bettor watching all twelve sees the pattern: uniform direction, near-simultaneous timing, no injury or lineup news to explain it. That is steam. Whoever grabbed the Under at 224.5 before the drop beat the entire market to the new number.
Detecting steam requires watching many books at once, fast. ParlayAPI's /v1/meta/movers endpoint ranks the markets moving the most right now across all sources, so a coordinated shift stands out instead of hiding in one book's feed. It reads from 45+ sources with top major books refreshing at 2 to 4 second freshness (as of 2026-08), and the WebSocket stream at /v1/ws/odds/{sport_key} pushes each change as it lands so you see the move forming rather than reading about it after.