Skip to main content

3.6 Price and Stake

caution

This endpoint is optional. We should be able to get latest prices & liquidity in the offers field of your /events response. However, if you update your odds way faster than that, then implement this endpoint which will be called at a certain specified rate we agree with you.

3.6.1 Get quotes for a selection

Method and URL:

GET /price_and_stake?selection_id=<selection_id>

Request Parameters:

selection_id [ string ] (required):

The selection ID identifying the event, market and runner to price(s) and min & max stake(s).

Return Data: an object containing the quotes for the requested selection.

quotes [ array ]:

The quote objects, each giving a price and the liquidity available at it. The quotes must be in descending order with respect to price. May be empty.

message [ string ] (optional):

Why you are returning no prices. Send this field only when quotes is empty — see Returning no prices. It is not a general-purpose comment field: a message sent alongside a non-empty quotes list causes the whole response to be discarded.

Example output data:

{
"quotes": [
{"price": 2.345, "min_stake": ["EUR", 1.01], "max_stake": ["EUR", 500.02]},
{"price": 2.213, "min_stake": ["EUR", 1.02], "max_stake": ["EUR", 411.43]},
{"price": 2.102, "min_stake": ["EUR", 1.29], "max_stake": ["EUR", 28.44]}
]
}

3.6.2 Returning no prices

An empty quotes array is a valid response — it means you are not pricing this selection right now. It is not an error, and should still be returned with a 200. Always populate message when you do this. An empty array on its own tells us only that the prices are gone!

{
"quotes": [],
"message": "Market suspended, awaiting reprice"
}

The text is free-form and read by humans, so anything specific is useful.

caution

message and quotes are mutually exclusive. The presence of a message is what tells us the response carries no prices, so we stop reading there. If you send one alongside a populated quotes list, every quote in that response is thrown away — the selection goes unpriced exactly as if you had returned nothing, and no error is raised to tell you so.

Leave message out entirely on a successful response. Do not use it for warnings, notes or diagnostics about prices you are offering.

Note that the response is a plain object, not the paginated envelope used by the list endpoints.