Skip to main content

GET /api/events

Returns distinct events (matches) that currently have bookmaker odds. Each event has a slug you pass to GET /api/events/{id} to retrieve all market odds.

Query Parameters

Response

Response Fields

The same fixture can appear multiple times with different match_name values if different bookmakers use different team name formats. Use bookmaker_count to identify the canonical listing (highest count = most coverage = most canonical name).

GET /api/events/

Returns all bookmaker odds and Pinnacle reference lines for a single event, grouped by (bookmaker × market_type × period). This is the most granular endpoint — every odds line for every market from every bookmaker for one match.

Path Parameter

Query Parameters

Response

markets Array Fields

Each object in markets represents all the odds a single bookmaker has for one market at one period:

pinnacle Array Fields

Same structure as markets but without bookmaker or url. Pinnacle is the sharp reference line — it represents the sharpest market consensus. Compare any bookmaker’s odds against Pinnacle to estimate edge.

summary Fields

Finding value: Compare markets[n].selections[k].odds against the corresponding selection in pinnacle. When a bookmaker’s odds are higher than Pinnacle’s fair price for the same outcome, that’s a potential +EV opportunity. See GET /api/value-bets for pre-calculated EV detections.

Drilldown Examples

Full Python Example

JavaScript Example