Skip to content
UDX
2026-07-15

Get a Market

Returns one single-leg or multi-leg market and its current status by ticker.

GET/markets/{ticker}
Authorization
Authorization

Optional — this operation also accepts unauthenticated requests.

UDX-Access-KeyAPI key · header

Opaque API key ID.

UDX-Access-TimestampAPI key · header

Unix time in milliseconds, within 30 seconds of server time.

UDX-Access-SignatureAPI key · header

Standard-base64 RSA-PSS/SHA-256 signature with a 32-byte salt.

or
AuthorizationBearer token (JWT) · header

Bearer token for an active signed-in UDX user.

An authenticated request is metered against the member's read bucket and returns RateLimit headers; an unauthenticated request shares the public per-client limit.

Header parameters
Header parameters
UDX-Versionstring

Dated API version (YYYY-MM-DD).

min length 10 · max length 10
Path parameters
tickerTickerrequired

The market's ticker.

min length 1 · max length 128
Responses
200The requested market.
marketMarketrequired

A tradable binary market.

Show properties
legsMarketLeg[]

Present only for multi-leg markets; absent for single-leg markets. Each leg selects a component market outcome.

min items 2
Show properties
Array of MarketLeg
tickerTickerrequired

A human-meaningful natural key naming a single-leg or multi-leg market.

min length 1 · max length 128
outcomestringrequired

The outcome of this component market selected by the multi-leg market.

Allowed:yesno
external_idsMarketExternalIds

Identifiers this market carries in third-party data providers' systems.

Show properties
optic_oddsMarketExternalIdsOpticOdds

Identifiers in OpticOdds.

Show properties
fixture_idstring

The OpticOdds fixture this market is priced from.

min length 1 · max length 128
market_idstring

The OpticOdds market this market is a selection of.

min length 1 · max length 128
team_idstring

The OpticOdds team this market is about, when the market is about a team.

min length 1 · max length 128
player_idstring

The OpticOdds player this market is about, when the market is about a player.

min length 1 · max length 128
tickerTickerrequired

A human-meaningful natural key naming a single-leg or multi-leg market.

min length 1 · max length 128
descriptionstring

Human-readable description of what the market resolves on.

max length 2048
statusMarketStatusrequired

Market trading status.

Allowed:unopenedopenpausedclosedexpired
tick_sizestring

Minimum price increment, in dollars.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
minimum_pricestring

Minimum allowed order price, in dollars.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
maximum_pricestring

Maximum allowed order price, in dollars.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
expires_atstring<date-time>

The configured expiration instant.

max length 40
external_idsMarketExternalIds

Identifiers this market carries in third-party data providers' systems.

Show properties
optic_oddsMarketExternalIdsOpticOdds

Identifiers in OpticOdds.

Show properties
fixture_idstring

The OpticOdds fixture this market is priced from.

min length 1 · max length 128
market_idstring

The OpticOdds market this market is a selection of.

min length 1 · max length 128
team_idstring

The OpticOdds team this market is about, when the market is about a team.

min length 1 · max length 128
player_idstring

The OpticOdds player this market is about, when the market is about a player.

min length 1 · max length 128
series_tickerstring

The series the market is listed under.

max length 128
event_tickerstring

Groups markets on the same game or contest within a series.

max length 128
titlestring

Short display name for the market.

max length 512
rulesstring

The rules that decide how the market resolves.

max length 65536
strikeMarketStrike

The threshold the market's outcome is compared with.

Show properties
typeMarketStrikeType

How the outcome is compared with the strike value.

Allowed:greatergreater_or_equallessless_or_equalequal
valuestringrequired

The strike itself, such as a line or a team name.

max length 255
unitMarketStrikeUnit

How to read the strike value.

Allowed:decimalintegerpointsstringboolunknown
opens_atstring<date-time>

The configured instant the market opens for trading.

max length 40
notional_valuestring

What one YES contract pays if the market resolves YES, in dollars.

max length 24 · matches ^[0-9]+(\.[0-9]{1,6})?$
contract_terms_urlstring<uri>

Link to the contract terms the market is listed under.

max length 2048
404No market with this ticker exists.
typestring<uri-reference>required

A stable URN identifying the kind of problem, for example urn:udx:problem:insufficient-permissions. Branch on it rather than on the localized detail. It is an identifier, not a URL to dereference.

max length 2048
titlestringrequired

A localized, human-readable summary of the error category. Stable for a given status code and resolved language — clients must not use it as a machine-readable discriminator.

max length 40
statusintegerrequired

The HTTP status code, repeated from the response itself.

detailstring

A localized, human-readable explanation specific to this occurrence. Clients must not parse it for machine-readable information.

max length 500
instancestring<uri-reference>

An identifier for this specific occurrence, so it can be correlated with server-side logs if you need to report it.

max length 100
429The request rate was exceeded. An unauthenticated request shares the public per-client limit; an authenticated request is metered against the member's read bucket.
typestring<uri-reference>required

A stable URN identifying the kind of problem, for example urn:udx:problem:insufficient-permissions. Branch on it rather than on the localized detail. It is an identifier, not a URL to dereference.

max length 2048
titlestringrequired

A localized, human-readable summary of the error category. Stable for a given status code and resolved language — clients must not use it as a machine-readable discriminator.

max length 40
statusintegerrequired

The HTTP status code, repeated from the response itself.

detailstring

A localized, human-readable explanation specific to this occurrence. Clients must not parse it for machine-readable information.

max length 500
instancestring<uri-reference>

An identifier for this specific occurrence, so it can be correlated with server-side logs if you need to report it.

max length 100
500Something went wrong on UDX's side.
typestring<uri-reference>required

A stable URN identifying the kind of problem, for example urn:udx:problem:insufficient-permissions. Branch on it rather than on the localized detail. It is an identifier, not a URL to dereference.

max length 2048
titlestringrequired

A localized, human-readable summary of the error category. Stable for a given status code and resolved language — clients must not use it as a machine-readable discriminator.

max length 40
statusintegerrequired

The HTTP status code, repeated from the response itself.

detailstring

A localized, human-readable explanation specific to this occurrence. Clients must not parse it for machine-readable information.

max length 500
instancestring<uri-reference>

An identifier for this specific occurrence, so it can be correlated with server-side logs if you need to report it.

max length 100
503Request admission is unavailable.
typestring<uri-reference>required

A stable URN identifying the kind of problem, for example urn:udx:problem:insufficient-permissions. Branch on it rather than on the localized detail. It is an identifier, not a URL to dereference.

max length 2048
titlestringrequired

A localized, human-readable summary of the error category. Stable for a given status code and resolved language — clients must not use it as a machine-readable discriminator.

max length 40
statusintegerrequired

The HTTP status code, repeated from the response itself.

detailstring

A localized, human-readable explanation specific to this occurrence. Clients must not parse it for machine-readable information.

max length 500
instancestring<uri-reference>

An identifier for this specific occurrence, so it can be correlated with server-side logs if you need to report it.

max length 100
Request
curl -X GET "https://api.underdogexchange.com/markets/UDX-EXAMPLE-MARKET" \
  -H "UDX-Access-Key: API_KEY_ID" \
  -H "UDX-Access-Timestamp: UNIX_MILLISECONDS" \
  -H "UDX-Access-Signature: BASE64_SIGNATURE"
Response
{
  "market": {
    "ticker": "UDX-EXAMPLE-MARKET",
    "description": "Will the example resolve YES?",
    "status": "open",
    "tick_size": "0.001",
    "minimum_price": "0.001",
    "maximum_price": "0.99",
    "expires_at": "2026-06-21T00:00:00.000000Z",
    "external_ids": {
      "optic_odds": {
        "fixture_id": "20260927A1B2C3",
        "market_id": "player_points",
        "player_id": "7G8H9I0J1K2L"
      }
    }
  }
}