Beta

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

Developers
Cru World Wine
API v1 · REST & MCP
Market data

Offers: what you could buy at

Wines for sale on Cru World Wine and their asking prices. Use this to answer "what would this wine cost to buy". Results are grouped by wine (LWIN18), lowest price first. An offer's warehouse_code is the Cru warehouse the wine is in (see list_warehouses), or for wine held elsewhere the Cru warehouse in the same country. status is in_stock, in_transit or due_in; eta is the date (YYYY-MM-DD) it is expected in that warehouse, which is where buy_wine keeps it. min_quantity is the fewest that can be bought. condition_status is verified, client_reserves or apd ("as per description"): condition_text is that description and photo_urls are photos of the wine, when there are any. Prices are normal amounts in the market currency - 12345.5 is 12,345.50 - and every market states its currency.

READlist_offersLIVE
Needsmarket:readRESTGET /market/offersTry it
Reads, and changes nothing

Marked readOnlyHint, so an assistant may call it without asking the customer first.

Arguments

ALL OPTIONAL
ARGUMENTDESCRIPTION
lwin18array<string> · LWIN18 · ≤ 20 Only these wines, as 18-digit LWIN18 codes (wine, vintage and pack). Get them from search_wines. Omit to page through the whole book.
min_priceinteger · ≥ 0 Lowest price to include, in whole units of the market currency (12345 = £12,345).
max_priceinteger · ≥ 0 Highest price to include, in whole units of the market currency.
depthinteger · ≥ 1 How many price levels to return per wine, best first. Omit for every level.
include_market_priceboolean Add Cru's market price for each wine. Default: false
include_last_tradeboolean Add the last traded price and date for each wine. Default: false
limitinteger · 1–50 Wines per page. Default: 10
offsetinteger · 0–10000 Wines to skip, for the next page. Default: 0

Any other argument is refused with a tool error that lists what the tool accepts. Numbers may also be sent as strings, and booleans as "true" or 1.

Returns

STRUCTUREDCONTENT

markets, each with the wine and its offers (code, gross price, quantity, min_quantity, status, eta, duty_paid, condition_status, condition_text, photo_urls, warehouse_code), and pagination.

The same object also comes as JSON text in content, for hosts that read only that.

Errors

A refusal — a wine that is not on Cru, a price out of range — comes back as a result with isError: true and a message worded for the assistant to act on. A connection without market:read is not offered this tool, and calling it anyway returns 403 with a JSON-RPC error naming the scope. Missing or invalid credentials return 401. Conventions every tool shares →

UP NEXT Market: bids and offers

API credentials

Enter the client key and secret issued by Cru. They are kept for this browser tab’s session — a reload keeps them, closing the tab or clearing them ends 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. Cloudflare Turnstile checks the form for bots (privacy policy).