Beta

The Partner Trading API v1 is in beta — endpoints and response shapes may still change.

Developers
Cru World Wine
API v1 · Read access
Market data

List market bids

Explore the live bid book on Cru World Wine. Find wines buyers are looking for, the price you would receive, and the conditions for fulfilling each bid.

GET/market/bidsLIVE
Required scopemarket:readAuthentication requiredTry it
A bid is an opportunity to sell

Bid prices are net of Cru’s commission. Read the requirements on each bid to understand which stock can fulfil it.

How this call works

4 STEPS
  1. Your server

    Ask for one page of the book

    GET/market/bids

    Filter with lwin, min_price and max_price to keep the page small. depth=best gives the top bid per wine; depth=all gives every resting level.

  2. Cru

    Cru returns wines, each with its bids

    Ordered by best bid on Cru’s internal GBP valuation, descending. Prices are in the market’s currency and net of commission — what a seller receives.

    KEEPdata.markets[].bids[].code

  3. Your server

    Page until has_more is false

    page_info counts wines, not bid levels. Advance offset by limit; do not assume the page you read is still current when you reach the end.

    KEEPpage_info.has_more

  4. Your server

    Re-read any bid before acting on it

    GET/market/bids/{code}

    The book moves between calls. Take the code and retrieve that one bid to confirm its price and requirements as they are now.

Query parameters

ALL OPTIONAL
PARAMETERDESCRIPTION
limitinteger · 1–250 Number of markets to return. Values above 250 are rejected. Default: 100
offsetinteger · ≥ 0 Number of markets to skip. Default: 0
depthstring Use best for the highest bid per wine, or all for every resting price level. Default: best
lwinstring · CSV Filter by up to 20 comma-separated LWIN18 identifiers.
min_priceinteger · ≥ 0 Minimum bid price in minor units, inclusive.
max_priceinteger · ≥ 0 Maximum bid price in minor units, inclusive.
include_market_priceboolean Include market_price with price and as_of. Null when requested but unavailable. Default: false
include_last_tradeboolean Include last_trade with price and traded_at in the selected market’s currency. Default: false
Pagination counts wines, not bids

limit, offset, and total refer to markets. Use depth=all to include every bid level within each market.

Response fields

200 OK

Each item in data.markets contains the wine identity and its nested bid levels.

lwin18string

Full wine, vintage and pack identifier. Match against LWIN18, not LWIN11.

wine_namestring

Cru’s preferred wine name.

vintageinteger | null

The vintage year, or null when unavailable.

pack_sizestring | null

Pack format, for example 6x75cl.

product_urlstring | null

Product URL on the selected market storefront.

condition_statusstring | null

Condition of the stock traded in this market.

currencystring

ISO 4217 currency for every price within this market.

market_priceobject | null · optional

Only returned when requested: price (minor units), as_of.

last_tradeobject | null · optional

Only returned when requested: price (minor units), traded_at.

Each item in bids[]

codestring

Opaque bid identifier. Do not parse it or assume a fixed length; allocate at least 128 characters when storing it.

priceinteger

Price in minor units, net of Cru’s commission: the amount a seller receives.

quantityinteger

Displayed quantity available to fill.

is_own_bidboolean

Whether this is your own liquidity. You cannot fill your own bid.

expires_atdate | null

YYYY-MM-DD. Null means the expiry is unknown.

updated_atdatetime

Last update in RFC 3339 UTC.

requirementsobject

local_website_only (same website), landed_stock_only (not in transit), warehouse_id (delivery warehouse, when set).

Errors

Missing credentials return A001 / 401. Insufficient scope returns A003 / 403. View all error codes →

UP NEXT Retrieve a single bid

API credentials

Enter the client key and secret issued by Cru. They are kept in memory until you reload or clear them.

Credentials are never included in copied examples, and are redacted from anything the console prints back.

Request API access

Tell us who you are and what you want to build. Cru issues a client key and secret for your organisation, scoped to what you need.

Markets you trade in (choose one or more)

We use what you send here to reply about API access, and for nothing else.