Don Best Sports

In Play Data Service


The Don Best API consists of two parts: one REST API and a Streaming Message API. The REST API allows access to the current schedule, scores and odds. Data is cached to some extent depending on account settings. The REST API does not allow access to historical data.

The Streaming API provides real-time high-volume access to line changes and other data. Messages convey granular updates. It is based on Java Messaging System implemented by Apache AcitveMQ. For more information on Apache activeMQ see

Important Concepts

Rotation Numbers

Rotation numbers are issued by Don Best. They comprise a numbering scheme used by most Sports Books in the North American Market. They define the participants of a contest such that bettors and purveyors can easily refer to the same contest. Typically the away team’s rotation number is an odd value. Away rotation number can be used to reference its parent event for matchup events.

Rotation Numbers are not unique over the course of a season. They are however unique to the current schedule view. Note - you must acquire explicit permission from Don Best Sports to use the Rotation numbers in your client facing products.

Event ID

A unique identifier for each event. This ID will not be repeated for future events.

Dates and Times

All date strings are in UTC time. In order to calculate the time from your local time zone apply base calculations agains UTC. "UTC" is Universal Time (formerly called "Greenwich Mean Time"); "Z" is Universal Time. "A" indicates one hour earlier, and "M" indicates 12 hours ear- lier; "N" is one hour later, and "Y" is 12 hours later. The letter "J" is not used. The other remaining two forms are taken from ANSI standard X3.51-1975. One allows explicit indication of the amount of offset from UTC; the other uses common 3-character strings for indicating time zones in North America.

Dates can appear as either : 2012-09-14T16:50:40+0 or 2012-09-14T16:50:40+0000

Odds Format

Odds can be viewed as Decimal or American. The default view is american with a standard vig applied. You may request 100% odds, Probaility % or specifc pricing based on your needs.

Sportsbook ID’s

Odds data is classified by sports book ID. This can either reference a third party Sportsbook who's data we are rebroadcasting or to our own internal applications. The primary Sportsbook ID for DBS In Play odds is 408.

Schedule of Events

An Event describes something which will occur and have a definable outcome. This may be an individual sporting Match or a Proposition which may span several Matches. Events are categorized as either Matchup or Other. Matchup events have two participants other Events can have any number of participants.


A participant is a team, player or proposition side. ‘New York Giants', 'Roger Federer’, ‘Grand Salami : Over’. Each participant is assigned a Rotation Number. The rotation number is unique for the current days schedule. Most events are classified as Matchup's, events which have two competing sides, but events can have multiple Participants. Participants are associated with a league and sport ( Sport > League > Group > Event > Participant ). Team participants will include a team_id which can be used to find further details about the team.

Event Life Cycle

  • Created
    An event is created when its added to the schedule. The status is initially pending.
  • Update
    Event status, team change, time change and other attributes can be changed depending on circumstances. When the game starts the status is changed to in-progress. As the event progresses scores are sent.
  • Finalized
    The event has concluded its set to final.


Markets are betting opportunities related to Events. Markets are defined by period and type (Event > Period > Market type > Runners). A market consists of a rotation id, event id, period id, market type, live/pre-match flag. There are four types of market groups game, prop (proposition), futures, & series_prices. Game markets can either be pre-match or in-play. An example of a common market for a matchup event is “Which team will win outright?’. The possibilities for that market are 'Participant A to win’, 'Participant B to win’ or ‘Draw / Neither’. Since the market is based on the final outcome the period descriptor is FG (full game) the type is 2 Way Outcome.

Markets life cycle

  • Markets are created
    Markets are created when an Event becomes available in the schedule based on the market list for the appropriate league and game type. A list of markets for each event is available using the market_list resource within the REST API. The market will not be “Open” until the first odds appear. Line messages with the description “Open” are used to update the market status and keep track of the first odds.
  • Markets are updated or hidden
    Line messages with the description “Current” are used to update the market value. Markets can be hidden for a variety of reasons prior to the end of the betting period. Take Down messages are used to signal that a line should be hidden.
  • Markets are resulted
    A pre-match market should be considered closed when the period it is associated with has begun. The market result can be found once the period has ended. By using the period score messages winning participants can be identified.