PriceMyBet

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).