Overtime V2 markets (protected)
Get a list of all markets or a single market details.
REST API
GET https://api.overtime.io/overtime-v2/markets
GET https://api.overtime.io/overtime-v2/markets/{{gameId}}
See the markets API endpoint with request/response examples under Postman documentation.
All requests to this route must include a valid API key for authentication. The API key should be provided in the request header as x-api-key.
You can request new API key via Overtime Discord.
To prevent excessive use, API keys may be blacklisted, resulting in disabled access. The limits are as follows:
Prematch: One request per league every 5 seconds.
Live: One request for all leagues every 2 seconds.
Example Request
Single game request
Request Parameters (as query string)
Use responseHash and includeHashInResponse when polling markets to avoid downloading the same data repeatedly. The API will return "no change" if the computed hash matches your responseHash, which significantly reduces payload size, bandwidth, and client/server processing.
Enable includeHashInResponse=true to get the server-computed responseHash in each response, so you can store it and send it back on the next request.
Use onlyBasicProperties=true to return a reduced market object with non-essential fields removed, which is recommended for UI “view mode” and frequent polling to minimize payload size and speed up responses.
responseHash
string
Client-provided hash of the previous response. Server computes a SHA-1 hash of the would-be response and:
returns
"no change"if hashes matchotherwise returns the full payload
Notes: Used for lightweight polling / change detection.
includeHashInResponse
boolean
If "true", response becomes:
and markets will be "no change" if it matches responseHash.
onlyBasicProperties
boolean
Strips markets down to a minimal set of fields to reduce payload size.
includeProofs
boolean
When used with onlyBasicProperties=true, includes proof-related fields (used for the validation of market data on the contract side) instead of stripping them.
Notes: Proofs are used for the validation of market data on the contract side when placing a bet. Not required for read-only (view) mode.
onlyMainMarkets
boolean
For each parent market, returns only the “main” SPREAD and/or TOTAL child markets.
ungroup
boolean
Controls response shape:
"false"(default): markets response is grouped per sport"true": response is an ungrouped flat array of markets
minMaturity
number (timestamp-like numeric value)
Filters to markets with market.maturity >= minMaturity.
maxMaturity
number (timestamp-like numeric value)
Filters to markets with market.maturity <= maxmaturity.
status
string
Selects which market-status bucket to return.
Default:
"open"Allowed:
open | resolved | cancelled | paused | ongoing
sport
string
Filters markets by sport name.
leagueId
number
Filters markets to a single league ID.
typeId
number
Filters results to a single market type
leagueIds
string (comma-separated league IDs)
Filters markets to any of the specified leagues.
gameIds
string (comma-separated game IDs)
Filters markets to any of the specified game IDs.
typeIds
string (comma-separated type IDs)
Filters markets to any of the specified market type IDs.
playerIds
string (comma-separated player IDs)
Filters player prop markets to any of the specified player IDs.
lines
string (comma-separated market lines)
Filters markets by market.line.
includeFuturesInSport
any (treated as “enabled if present”)
When sport is provided, also includes futures markets whose “initial sport” matches the requested sport.
Example Response
Response Parameters
responseHash
string
The hash of the markets response. It can be used in subsequent requests to check if markets have changed.
Returns
"no change"if the markets haven’t changed.Returns full market data if there are changes.
gameId
string
Game ID
subLeagueId
number
Game subleague ID. It is used for some sports (tennis and UFC) to separate different levels and rounds of tournaments. (needed on the contract side, not used on UI).
typeId
number
Type ID of the market. 0 for parent market (moneyline/winner). For other types see Overtime V2 market types.
line
number
Market line (if available).
maturity
number
Game start timestamp
maturityDate
date
Game start date and time
homeTeam
string
The name of the home team
awayTeam
string
The name of the away team
isOpen
boolean
Is market open: true or false.
isResolved
boolean
Is market resolved: true or false.
isCancelled
boolean
Is market cancelled: true or false.
isPaused
boolean
Is market paused: true or false.
isOneSideMarket
boolean
Is one-side market (motosport, golf winner...): true or false.
isPlayerPropsMarket
boolean
Is player props market: true or false.
isOneSidePlayerPropsMarket
boolean
Is one-side player props market (who will score first/last touchdown...): true or false.
isYesNoPlayerPropsMarket
boolean
Is YES/NO player props market (double-double, triple-double...): true or false.
combinedPositions
CombinedPosition[][]
An array of combined positions if the market is that type (half-time/full-time, winner+total...)
proof
string[]
The Merkle proof used for the validation of market data on the contract side
StatusEnum
OPEN
0
PAUSED
1
RESOLVED
10
CANCELLED
255
StatusCodeEnum
OPEN
open
PAUSED
paused
RESOLVED
resolved
CANCELLED
cancelled
ONGOING
ongoing
PlayerProps
playerId
number
Player ID
playerName
string
The name of the player
CombinedPosition
typeId
number
The type ID of single market
position
number
The position on the single market
line
number
Single market line
Odds
american
number
American format of the odds
decimal
number
Decimal format of the odds
normalizedImplied
number
Normalized Implied format of the odds
Last updated