This document describes technologies available for customers wishing to integrate with Multibet API directly. It explains the overall architecture, integration points and requirements.
Environment | Base URL | Notes | Swagger |
---|---|---|---|
Production |
| Production environment | |
UAT |
| User Acceptance Testing. Limited capacity. | https://uat.multibet.api.geniussports.com/api-docs/index.html#/ |
Please refer to the Multibet API Swagger for details regarding authenticating with the API https://multibet.api.geniussports.com/api-docs/index.html
Genius Sports provides the following API endpoints:
Fixture Coverage - Returns sporting fixtures that are available to be used in Multibet
Market-types - Provides a list of markets and selections that are available to bet upon
Prices - The price of a particular multibet
Cashout - The cashout price of a particular multibet
Results - The result of a particular multibet
Markets - The details for the market created in trading platform
For Market Types, Markets, Cashout, Prices and Results, please refer to the Multibet Swagger or the individual links above. For fixtures, see below.
Returns list of fixtures that are available to be used in Multibet. The Fixture Id is required to call the remaining three endpoints: Markets-types, Prices, Results
Environment | Base URL | Notes |
---|---|---|
Production |
| Production environment |
UAT |
| User Acceptance Testing. Limited capacity. |
You should go through all steps in “Getting an access token” section and authenticate using the Coverage API <api-key>
Your <api-key>
for using Coverage API will be provided to you during the onboarding process.
Once you have an <access-token>
and your <api-key>
you can pass these as headers to the API:
curl --request GET \ --url https://coverage.api.geniussports.com/api/MultibetPreMatchCoverage/event/{fixtureId} \ --header 'Authorization: Bearer <access-token> \' --header 'x-api-key: <api-key>' |
Returns data about a particular fixture that will show this fixture is available for use in Multibet Pre-Match.
GET MultibetPreMatchCoverage/range/sport/{sportId}/from/{from}/to/{to}
{sportId}
should be replaced by the relevant Genius Sports ids. Only fixtures starting after this date {from}
and only fixtures starting before this {to}
will be returned. Format: yyyy-MM-dd
E.g. 2023-07-15
Example: https://coverage.api.geniussports.com/api/MultibetPreMatchCoverage/range/sport/10/from/2023-07-13/to/2023-07-15
[ { "betgeniusFixtureId": 123456, "sourceFixtureId": "123456", "source": "GeniusSportsMultibetPreMatch", "sportId": 10, "available": true, "coverageType": 4 }, { "betgeniusFixtureId": 1234567, "sourceFixtureId": "1234567", "source": "GeniusSportsMultibetPreMatch", "sportId": 10, "available": false, "coverageType": 4 }, { "betgeniusFixtureId": 12345678, "sourceFixtureId": "12345678", "source": "GeniusSportsMultibetPreMatch", "sportId": 10, "available": true, "coverageType": 4 } ] |
Returns data about a particular fixture that will show this fixture is available for use in Multibet Pre-Match.
GET MultibetPreMatchCoverage/event/{fixtureId}
{fixtureId}
should be replaced by the relevant Genius Sports ids.
Example: https://coverage.api.geniussports.com/api/MultibetPreMatchCoverage/event/123456
[ { "betgeniusFixtureId": 123456, "sourceFixtureId": "123456", "source": "GeniusSportsMultibetPreMatch", "sportId": 10, "available": true, "coverageType": 4 } ] |
Returns data about a particular fixture that will show this fixture is available for use in Multibet In-Play.
GET MultibetInPlayCoverage/range/sport/{sportId}/from/{from}/to/{to}
{sportId}
should be replaced by the relevant Genius Sports ids. Only fixtures starting after this date {from}
and only fixtures starting before this {to}
will be returned. Format: yyyy-MM-dd
E.g. 2023-07-15
Example: https://coverage.api.geniussports.com/api/MultibetInPlayCoverage/range/sport/10/from/2023-07-13/to/2023-07-15
[ { "betgeniusFixtureId": 123456, "sourceFixtureId": "123456", "source": "GeniusSportsMultibetInPlay", "sportId": 10, "available": true, "coverageType": 4 }, { "betgeniusFixtureId": 1234567, "sourceFixtureId": "1234567", "source": "GeniusSportsMultibetInPlay", "sportId": 10, "available": false, "coverageType": 4 }, { "betgeniusFixtureId": 12345678, "sourceFixtureId": "12345678", "source": "GeniusSportsMultibetInPlay", "sportId": 10, "available": true, "coverageType": 4 } ] |
Returns data about a particular fixture that will show this fixture is available for use in Multibet In-Play.
GET MultibetInPlayCoverage/event/{fixtureId}
{fixtureId}
should be replaced by the relevant Genius Sports ids.
Example: https://coverage.api.geniussports.com/api/MultibetInPlayCoverage/event/123456
[ { "betgeniusFixtureId": 123456, "sourceFixtureId": "123456", "source": "GeniusSportsMultibetInPlay", "sportId": 10, "available": true, "coverageType": 3 } ] |
This example demonstrates the flow of the Multibet API calls for a Football fixture 123456. For simplicity the available markets shown are limited to two (MatchResult
and HomeTeamTotalGoalsOverUnder
).
GET sports/10/fixtures/123456/market-types
[ { "id": "MatchResult", "name": "Match Result", "translatedName": "", "categoryName": "Match Result", "translatedCategoryName": "", "selections": { "MatchResult_Home": { "name": "Manchester United", "translatedName": "Man Utd", "compatible": false }, "MatchResult_Draw": { "name": "Draw", "translatedName": "X", "compatible": true, "probability": 0.123, "decimalPrice": 1.23, "suspended": false }, "MatchResult_Away": { "name": "Arsenal", "translatedName": "FC Arsenal", "compatible": true, "probability": 0.123, "decimalPrice": 1.23, "suspended": false } } }, { "id": "HomeTeamTotalGoalsOverUnder", "name": "Manchester United Total Goals OverUnder", "translatedName": "Man Utd Total Goals Over/Under", "categoryName": "Home Team Total Goals OverUnder", "translatedCategoryName": "Home Team Total Goals Over/Under", "selections": { "HomeTeamTotalGoalsOverUnder_Over_0.5": { "name": "Over 0.5", "translatedName": "Over 0.5", "compatible": false }, "HomeTeamTotalGoalsOverUnder_Over_1.5": { "name": "Over 1.5", "compatible": true, "translatedName": "Over 1.5", "probability": 0.123, "decimalPrice": 1.23, "suspended": false }, "HomeTeamTotalGoalsOverUnder_Over_2.5": { "name": "Over 2.5", "translatedName": "Over 2.5", "compatible": true, "probability": 0.123, "decimalPrice": 1.23, "suspended": false } } } ] |
To get the price for the current bet:
GET sports/10/fixtures/123456/prices?legs=MatchResult_Home
{ "decimalPrice": 1.66, "probability": 0.5656463943226999, "suspended": false } |
The following request gets the list of available markets taking into account the already selected leg.
Note: The Match Result market will not be included in the response because it is already used in one of the legs. The probabilities and prices take into account that the Match Result Home leg is included in the bet.
GET sports/10/fixtures/123456/market-types?legs=MatchResult_Home
[ { "id": "HomeTeamTotalGoalsOverUnder", "name": "Manchester United Total Goals OverUnder", "translatedName": "Man Utd Total Goals Over/Under", "categoryName": "Home Team Total Goals OverUnder", "translatedCategoryName": "Home Team Total Goals Over/Under", "selections": { "HomeTeamTotalGoalsOverUnder_Over_0.5": { "name": "Over 0.5", "translatedName": "Over 0.5", "compatible": false }, "HomeTeamTotalGoalsOverUnder_Over_1.5": { "name": "Over 1.5", "compatible": true, "translatedName": "Over 1.5", "probability": 0.123, "decimalPrice": 1.23, "suspended": false }, "HomeTeamTotalGoalsOverUnder_Over_2.5": { "name": "Over 2.5", "translatedName": "Over 2.5", "compatible": true, "probability": 0.123, "decimalPrice": 1.23, "suspended": false } } } ] |
HomeTeamTotalGoalsOverUnder_Over_2.5
) to the bet The following call gets the price for the current bet:
GET sports/10/fixtures/123456/prices?legs=MatchResult_Home,HomeTeamTotalGoalsOverUnder_Over_2.5
{ "decimalPrice": 1.77, "probability": 0.4656463943226999, "suspended": false } |
GET sports/10/fixtures/123456/results?legs=MatchResult_Home,HomeTeamTotalGoalsOverUnder_Over_2.5
{ "result": "lose", "legResults": [ { "leg": "MatchResult_Home", "legResult": "win" }, { "leg": "HomeTeamTotalGoalsOverUnder_Over_2.5", "legResult": "lose" } ] } |