openapi: 3.1.0
info:
title: MLB MLB v3 Headshots Soccer v4 Odds API
version: '1.0'
description: MLB API - OpenAPI 3.1 Specification
servers:
- url: https://api.sportsdata.io
description: Production server
security:
- apiKeyHeader: []
- apiKeyQuery: []
tags:
- name: Soccer v4 Odds
paths:
/v4/soccer/odds/{format}/GameOddsLineMovement/{competition}/{gameid}:
get:
description: Returns the non-full-game odds (spread, moneyline, total) for games on a given date. Non-full-game means 1st-half or 1st-quarter, for example, rather than full game. Returns the full line movement for the given game within a competition. This endpoint has a longer cache as it is meant for historical data/line movement rather than the most up to the second line.
operationId: soccer_v4_odds_pre_game_odds_line_movement
summary: Pre-Game Odds Line Movement
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: gameid
in: path
description: The GameID of a Soccer game. GameIDs can be found in the Games API. Valid entries are <code>14060</code>, <code>14061</code>, etc.
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GameInfo'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/LiveGameOddsLineMovement/{competition}/{gameid}:
get:
description: Returns in-play game odds (spread, moneyline, total) for a given game in a given competition. Returns the full line movement for the given game. This endpoint has a longer cache as it is meant for historical data/line movement rather than the most up to the second line.
operationId: soccer_v4_odds_in_game_odds_line_movement
summary: In-Game Odds Line Movement
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: gameid
in: path
description: The GameID of a Soccer game. GameIDs can be found in the Games API. Valid entries are <code>14060</code>, <code>14061</code>, etc.
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GameInfo'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/GameOddsByDate/{competition}/{date}:
get:
description: Returns full game odds (spread, moneyline, total) for games from a given competition on a given date. Only returns the most recently seen odds, not inclusive of line movement.
operationId: soccer_v4_odds_pre_game_odds___by_date
summary: Pre-Game Odds - by Date
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: date
in: path
description: "The date of the game(s). \n<br>Examples: <code>2017-02-27</code>, <code>2017-09-01</code>."
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GameInfo'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/ActiveSportsbooks:
get:
description: A list of all available sportsbooks with their associated unique IDs.
operationId: soccer_v4_odds_sportsbooks___by_active
summary: Sportsbooks - by Active
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Sportsbook'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/BettingEventsBySeason/{competition}/{season}:
get:
description: The list of current BettingEvents for the given season within a given competition, from which Betting Market data can be gathered via the Betting Markets by Event endpoint, for all available Betting Market types (e.g. Player Props, Team Props.)
operationId: soccer_v4_odds_betting_events___by_season
summary: Betting Events - by Season
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: season
in: path
description: 'Year of the season<br>Examples: <code>2020</code>, <code>2021</code>, etc.'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BettingEvent'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/BettingFuturesBySeason/{competition}/{season}:
get:
description: Returns available Futures markets for the given season and a given competition. Does not include line movement.
operationId: soccer_v4_odds_betting_futures___by_season
summary: Betting Futures - by Season
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: season
in: path
description: 'Year of the season<br>Examples: <code>2020</code>, <code>2021</code>, etc.'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BettingEvent'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/BettingMarket/{competition}/{marketId}:
get:
description: Returns full line movement for a given BettingMarket. Due to the sheer size of the output and the level of detail, it is intended for historical data purposes and not for the most up-to-the-second lines.
operationId: soccer_v4_odds_betting_market
summary: Betting Market
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: marketId
in: path
description: The MarketId of the desired market for which to pull all outcomes/bets.
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/BettingMarket'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/BettingMarkets/{competition}/{eventId}:
get:
description: Returns the markets of all available types (e.g. Player Props, Team Props) and available outcomes for a given BettingEventID within a given competition.
operationId: soccer_v4_odds_betting_markets___by_event
summary: Betting Markets - by Event
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: eventId
in: path
description: 'The EventId of the desired event/game for which to pull all betting markets (includes outcomes/bets).
'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BettingMarket'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/BettingMarketsByGameID/{competition}/{gameid}:
get:
description: Returns the markets of all available types (e.g. Player Props, Team Props) and available outcomes for a given GameID within a given competition.
operationId: soccer_v4_odds_betting_markets___by_game
summary: Betting Markets - by Game
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: gameid
in: path
description: The GameID of the desired game for which to pull all betting markets (includes outcomes/bets).
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BettingMarket'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/BettingMarketsByMarketType/{competition}/{eventId}/{marketTypeID}:
get:
description: Returns Markets and available outcomes for a given event (within a competition) and market type requested. A lighter call than by BettingEventID as it only includes markets tagged with the specific MarketType, a full list of which is available for each sport in its Betting Metadata endpoint.
operationId: soccer_v4_odds_betting_markets___by_market_type
summary: Betting Markets - by Market Type
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: eventId
in: path
description: The EventId of the desired event/game for which to pull all betting markets (includes outcomes/bets).
required: true
schema:
type: string
- name: marketTypeID
in: path
description: 'The Market Type ID of the desired MarketTypes to pull. Some common types include: <code>1</code> for Game Lines, <code>2</code> for Player Props, <code>3</code> for Team Props, <code>6</code> for Game Props'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BettingMarket'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/BettingMetadata:
get:
description: Returns the list of MarketTypes, BetTypes, PeriodTypes, OutcomeTypes, and ResultTypes to map the IDs to descriptive names. Also includes a list of the MarketType, BetType & PeriodType combinations which we will have resulting for.
operationId: soccer_v4_odds_betting_metadata
summary: Betting Metadata
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/BettingEntityMetadataCollection'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/BettingEventsByDate/{competition}/{date}:
get:
description: The list of current BettingEvents for the given date and competition, from which Betting Market data can be gathered via the Betting Markets by Event endpoint, for all available Betting Market types (e.g. Player Props, Team Props.)
operationId: soccer_v4_odds_betting_events___by_date
summary: Betting Events - by Date
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: date
in: path
description: 'The date of the game(s). <br>Examples: <code>2018-11-20</code>, <code>2018-11-23</code>.'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BettingEvent'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/BettingPlayerPropsByGameID/{competition}/{gameId}:
get:
description: This works in the same way as Betting Markets by Market Type but is prefiltered to the Player Props type only. Ideal if your application will only ever require Player Props, but if you also want Team Props etc. it is recommended to use the by Market Type endpoint.
operationId: soccer_v4_odds_betting_player_props___by_game
summary: Betting Player Props - by Game
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: gameId
in: path
description: The unique GameID of the game in question.
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BettingMarket'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/AlternateMarketGameOddsLineMovement/{competition}/{gameid}:
get:
description: Returns the non-full-game odds (spread, moneyline, total) for games on a given date. Non-full-game means 1st-half or 1st-quarter, for example, rather than full game. Returns the full line movement for the given game within a competition. This endpoint has a longer cache as it is meant for historical data/line movement rather than the most up to the second line.
operationId: soccer_v4_odds_period_game_odds_line_movement
summary: Period Game Odds Line Movement
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: gameid
in: path
description: The GameID of a Soccer game. GameIDs can be found in the Games API. Valid entries are <code>41323</code>
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GameInfo'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/LiveGameOddsByDate/{competition}/{date}:
get:
description: Returns in-play game odds (spread, moneyline, total) for games on a given date in a given competition. Only returns the most recently seen odds, not inclusive of line movement. As this is in-game, it will only return results while the game is in progress.
operationId: soccer_v4_odds_in_game_odds___by_date
summary: In-Game Odds - by Date
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: date
in: path
description: 'The date of the game(s). <br>Examples: <code>2018-06-20</code>, <code>2018-06-23</code>.'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GameInfo'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/AlternateMarketGameOddsByDate/{competition}/{date}:
get:
description: Returns the non-full-game odds (spread, moneyline, total) for games on a given date in a given competition. Non-full-game means 1st-half or 1st-quarter, for example, rather than full game. Only returns the most recently seen odds, not inclusive of line movement.
operationId: soccer_v4_odds_period_game_odds___by_date
summary: Period Game Odds - by Date
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: date
in: path
description: "The date of the game(s). \n<br>Examples: <code>2017-02-27</code>, <code>2017-09-01</code>."
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GameInfo'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/PreGameOddsByDate/{competition}/{date}/{sportsbookgroup}:
get:
description: Returns the full-game and non-full-game odds (spread, moneyline, total) for games on a given date for a given competition. Only returns the most recently seen odds, not inclusive of line movement. A Sportsbook Group must be specified as a URL parameter.
operationId: soccer_v4_odds_pre_game_and_period_game_odds___by_date__sportsbook_group
summary: Pre-Game and Period Game Odds - by Date [Sportsbook Group]
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: date
in: path
description: "The date of the game(s). \n<br>Examples: <code>2017-02-27</code>, <code>2017-09-01</code>."
required: true
schema:
type: string
- name: sportsbookgroup
in: path
description: 'The name of the Sportsbook grouping.
<br>Examples: <code>G1100</code>'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GameInfo'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/InGameOddsByDate/{competition}/{date}/{sportsbookgroup}:
get:
description: Returns in-play game odds (spread, moneyline, total) for games on a given date and competition. Only returns the most recently seen odds, not inclusive of line movement. As this is in-game, it will only return results while the game is in progress. A Sportsbook Group must be specified as a URL parameter.
operationId: soccer_v4_odds_in_game_odds___by_date__sportsbook_group
summary: In-Game Odds - by Date [Sportsbook Group]
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: date
in: path
description: 'The date of the game(s). <br>Examples: <code>2018-06-20</code>, <code>2018-06-23</code>.'
required: true
schema:
type: string
- name: sportsbookgroup
in: path
description: 'The name of the Sportsbook grouping.
<br>Examples: <code>G1100</code>'
required: true
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GameInfo'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Unauthorized'
tags:
- Soccer v4 Odds
/v4/soccer/odds/{format}/PreGameOddsLineMovement/{competition}/{gameid}/{sportsbookgroup}:
get:
description: Returns the game odds for a given game in a given competition. In this endpoint both full-game and partial-game odds are included. Returns the full line movement for the given game. This endpoint has a longer cache as it is meant for historical data/line movement rather than the most up to the second line. A Sportsbook Group must be specified as a URL parameter.
operationId: soccer_v4_odds_pre_game_and_period_game_odds_line_movement__sportsbook_group
summary: Pre-Game and Period Game Odds Line Movement [Sportsbook Group]
parameters:
- name: format
in: path
description: Desired response format. Valid entries are <code>JSON</code> or <code>XML</code>.
required: true
schema:
type: string
enum:
- JSON
- XML
default: JSON
- name: competition
in: path
description: 'An indication of a soccer competition/league. This value can be the CompetitionId or the Competition Key. Possible values include: <code>EPL</code>, <code>1</code>, <code>MLS</code>, <code>8</code>, etc.'
required: true
schema:
type: string
- name: gameid
in: path
description: The GameID of a Soccer game. GameIDs can be found in the Games API. Valid entries are <code>14060</code>, <code>14061</code>, etc.
required: true
schema:
type: string
- name: sportsbookgroup
in: path
# --- truncated at 32 KB (85 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/sportsdataio/refs/heads/main/openapi/sportsdataio-soccer-v4-odds-api-openapi.yml