API
Sportsbook odds and prediction-market prices for the same bet, side by side, in cents on the dollar. Every price is an implied probability; lower is cheaper. The cheapest price is computed, never chosen, and sources that pay us nothing are included on the same terms as those that do.
The unit
Every price is an implied probability in cents on the dollar, 0 to 100. A price of 38 means the bet costs 38 cents and returns a dollar if it wins, so a lower number is a cheaper bet. Sportsbook prices are converted from American odds; prediction-market prices are already probabilities. Both arrive as cents, with the original in raw_price and raw_format beside it.
Endpoints
GET /api/v1/events/{id}
The same data the matchup page is rendered from: both teams, every source's price per market and side, opening prices, the cheapest and dearest source, and the gap between them.
id — Event id, as returned by the league endpoint.
GET /api/v1/leagues/{league}/events
One line per game: both teams, the cheapest and dearest price per side, and the gap. Follow `event_url` for the full board.
league — League id. `nfl` today.
GET /api/v1/savings
`totals` is money saved by people who took a highlighted price, on an assumed $10 stake. It is a price difference, never a profit and never an outcome. Null means nobody has taken one yet, which is not the same as zero.
Rate limit
60 requests a minute per IP, no key required. Every response carries x-ratelimit-remaining and x-ratelimit-reset; a request over the limit gets 429 and a retry-after in seconds. The data is cached, so polling faster than once a minute gets you the same bytes.
Attribution
Free to use. Every response carries an attribution field reading “Prices from PriceMyBet — https://pricemybet.com” — please keep it with the numbers, or link back to pricemybet.com.
Machine-readable
The full schema is at https://pricemybet.com/api/v1/docs/openapi.json (OpenAPI 3.1.0).