Guest

Read public market data over REST without an access token — anonymous counterparts of the trading, settings, and market data endpoints

Guest endpoints serve public market data to callers with no access token. Each one is the anonymous counterpart of an authenticated endpoint: same request shape, same response schema, no authorization. They exist so an unauthenticated Trading terminal session can render markets, charts, and order books, and you can use them the same way for read-only integrations.

Every guest endpoint sits under a /guest path segment inserted after the API version, and shares these rules:

  • No authentication. Do not send an Authorization header. There are no required operations.
  • No accountId. The accountId header used by the authenticated endpoints does not apply and is not read.
  • Public data only. Balances, positions, orders, trade history, margin, and user profile are not reachable through any guest endpoint.
  • Guest-visible markets only. A market that is not active and well-configured is rejected with 400, even if it exists.
  • No account context. A guest has no trading account, so nothing account-specific enters the calculation. Commissions come from the tenant's default commission profile rule, with volume-based tiers evaluated at a traded volume of 0, so a guest always sees the entry tier. Prices and calculated figures can therefore differ from the same call made with an access token.
  • Rate limited per caller. Guest traffic is subject to its own request-rate limit, separate from the authenticated limits.
  • Read-only. There is no guest counterpart of order placement, position closing, trigger submission, or favorites.

Assets

GET /frontoffice/api/v3/guest/assets

Anonymous counterpart of Get assets. Returns the same schema, restricted to CRM-source assets — assets that exist only on a liquidity provider stay hidden.

Info

GET /frontoffice/api/v3/guest/info

Anonymous counterpart of Get server info. Same platform time, same schema.


GET /frontoffice/api/v3/guest/info/time-zones

Anonymous counterpart of Get server time zones. Same schema.

Markets

GET /frontoffice/api/v5/guest/markets

Anonymous counterpart of Get markets. Lists active, well-configured markets ordered by display name. Accepts the optional categoryId query parameter. Each item carries marketId, displayName, fullName, type, and subtype — the authenticated isFavorite field is absent, because guests have no per-account favorites.


GET /frontoffice/api/v5/guest/markets/{marketId}

Anonymous counterpart of Get market. Returns the instrument's trading parameters — price and amount scales, tick size, lot size and step, amount limits, trading calendar, slippage rate, price deviation, and the funding schedule for perpetual markets. The per-account, commission, and leverage fields of the authenticated response are absent.

An unknown, disabled, or misconfigured marketId returns 400.


GET /frontoffice/api/v4/guest/markets-categories

Returns the broker's market category tree, pruned to branches that contain at least one guest-visible market. Each category carries id, name, and a nested categories array.

Order data

These endpoints price a hypothetical order without placing it. They are the calculation behind the order form's preview figures.

POST /frontoffice/api/v3/guest/order-data

Anonymous counterpart of Get SPOT order data. Same request body. The response carries the same order object with baseAmount, quoteAmount, commissionAmount, and total, calculated without any account-specific settings and with the tenant-default commission rule.


POST /frontoffice/api/cfd/v4/guest/order-data

Anonymous counterpart of Get CFD order data. Same request body. The response carries the same order object — lotAmount, requiredMarginInRAT, quoteAmount, commissionAmountInRAT, takeProfit, and stopLoss — calculated without any account-specific settings, and with marginLevel always null, since it needs a balance and open positions.


POST /frontoffice/api/perpetual/v4/guest/order-data

Anonymous counterpart of Get PF order data. Behaves exactly as the CFD guest variant above, including marginLevel always being null.

Charting

GET /marketdata/api/v4/guest/instruments/{marketSymbol}/history

Returns historical candles for a market. Candle prices are not account-specific and can differ from the authenticated endpoint's response for the same market and window. Response schema matches the authenticated charting history endpoint at /marketdata/api/v4/instruments/{marketSymbol}/history.

type, startDate, and endDate are required here, and the requested window is capped per timeframe:

TimeframeMaximum window
1, 5, 15, 30 minutes30 days
1, 4, 12 hours365 days
1 day, 1 week, 1 month5 years

A missing, malformed, or oversized window returns 400. endDate may not be in the future beyond a one-minute allowance for client clock drift. A market that is hidden from traders returns an empty candle set rather than an error.


GET /marketdata/api/v4/guest/instruments/{marketSymbol}/funding

Returns the funding event history of a perpetual market. Funding events do not depend on an account, so the response matches the authenticated endpoint at /marketdata/api/v4/instruments/{marketSymbol}/funding exactly. Accepts the same limit, offset, appliedAtFrom, and appliedAtTo query parameters.

An unknown market symbol, or a market that is not a perpetual, returns 400.

AI recommendation

GET /marketdata/api/v1/guest/ai-recommendation/{marketId}

Returns the AI-generated recommendation for a market — price forecast, sentiment ratios, suggested actions, market metrics, and triggers. Response schema matches the authenticated endpoint at /marketdata/api/v1/ai-recommendation/{marketId}. Accepts the same optional language query parameter, defaulting to en.

An unknown marketId returns 400.

Streaming market data as a guest

The endpoints above cover snapshots and history. For live prices, order books, and candles without a token, use the guest market data stream — see Guest market data.

Last updated on

On this page