IQ Option positions, margin and KYC data
IQ Option – Trading Platform is IQ Option Ltd's Android trading app for CFDs, FX, digital options and OTC instruments. Traders open live charts of tradeable assets, switch between real, training and tournament balances, place and track working orders, complete identity verification through a Jumio document flow, fund their accounts from a cashbox that offers local rails such as boleto, Google Pay and crypto-to-fiat conversion, and watch a margin view with a stop-out level. The client ships as com.iqoption (build 8.67.4) and is used by retail traders in Brazil, Indonesia, India and Mexico, where it sits alongside Olymptrade, Pocket Option and MetaTrader-style FX terminals.
Marginal books stamp equity, marginLevel and available beside cash, bonus and pnlNet. Wallet rows split amount from authAmount and bonusAmount. Sign-in returns ssid (with ttl) used as a session cookie. Profile keeps first_name, email, tin, country_id, kyc and is_islamic. Verification documents carry reference, status, verificationType and isExpired. The deposit options list methods, presets and nested billing firstName/country. Instrument fundamentals add marketCap, latestEPS, peRatioHigh and dividendYield.
Reconcilers line wallet amount up with position pages, payout desks wait on KYC status, and margin monitors watch marginLevel against stopOutLevel. openData Studio turns that session, book, cashbox and KYC surface into callable open data.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Password login
POST
/v1/sessionsosintSigns the trader in with identifier and password. The returned ssid is stored as a session cookie (alongside platform and lang cookies) and is the session for later profile, balance and portfolio calls.
Auth: Unauthenticated. JSON body carries identifier, password, token and a Cloudflare Turnstile challenge token (turnstile_token). The response returns a session id (ssid, with ttl) plus a token; later calls send it as Cookie ssid=.
- identifier
- password
- token
- turnstile_token
- code
- method
- ssid
- ttl
- message
POST /v1/sessions HTTP/1.1 Content-Type: application/json { "identifier": "[email protected]", "password": "<password>", "token": "", "turnstile_token": "<turnstile-token>" }{ "code": "success", "method": null, "token": "<session-token>", "ssid": "<session-id>", "ttl": 86400, "message": null }Trader profile
GET
/v1/traders/meosintLoads the signed-in trader profile, including tin, country_id, company_id, kyc and the is_islamic account flag.
Auth: Session cookie (Cookie: ssid=<session-id>) issued by the sign-in call.
- id
- group_id
- first_name
- last_name
- nickname
- phone
- address
- city
- tin
- locale
- country_id
- company_id
- postal_index
- nationality
- client_category_id
- is_activated
- auth_two_factor
- deposit_count
- is_vip_group
- kyc
- is_islamic
- middle_name
GET /v1/traders/me HTTP/1.1 Cookie: ssid=<session-id>{ "id": 12004567, "group_id": 1, "first_name": "Ana", "last_name": "Silva", "nickname": "ana.s", "email": "[email protected]", "phone": "+5511999887766", "address": "Rua A 100", "city": "Sao Paulo", "tin": "12345678900", "locale": "pt_BR", "country_id": 30, "company_id": 1, "postal_index": "01310-000", "nationality": 30, "client_category_id": 1, "is_activated": true, "auth_two_factor": false, "deposit_count": 4, "is_vip_group": false, "kyc": "verified", "is_islamic": false, "middle_name": "" }Available balances
GET
/v1/traders/me/balancesopenbankingLists real, training and tournament wallets. amount is the headline figure; authAmount is spendable cash and bonusAmount is the bonus sleeve.
Auth: Session cookie (Cookie: ssid=<session-id>) issued by the sign-in call. Query filters: types_ids (1, 4, 2) and tournaments_statuses_ids (2, 3).
- types_ids
- tournaments_statuses_ids
- id
- userId
- type
- amount
- authAmount
- bonusAmount
- currency
- tournamentName
- tournamentId
- isFiat
- index
GET /v1/traders/me/balances?types_ids=1,4,2&tournaments_statuses_ids=2,3 HTTP/1.1 Cookie: ssid=<session-id>[ { "id": 881122, "userId": 12004567, "type": 1, "amount": 1540.25, "authAmount": 1460.25, "bonusAmount": 80.0, "currency": "USD", "tournamentName": null, "tournamentId": 0, "isFiat": true, "index": 0 } ]Open positions
GET
/v1/portfolio/positions/openopenfinancePages open position rows for a wallet. The response carries positions, total, limit and offset, with a fixed page size of 100.
Auth: Session cookie (Cookie: ssid=<session-id>) issued by the sign-in call. Query: instrument_types, user_balance_id, limit (up to 100), offset.
- instrument_types
- user_balance_id
- limit
- offset
- positions
- total
GET /v1/portfolio/positions/open?instrument_types=forex,cfd&user_balance_id=881122&limit=100&offset=0 HTTP/1.1 Cookie: ssid=<session-id>{ "positions": [ { "id": "pos_1001", "instrumentType": "forex", "userBalanceId": 881122 } ], "total": 1, "limit": 100, "offset": 0 }Position history
GET
/v1/portfolio/positions/closedopenfinancePages closed position history for a wallet (offset, limit, positions). Optional external_id filters a single ticket.
Auth: Session cookie (Cookie: ssid=<session-id>) issued by the sign-in call. Query: instrument_types, limit, offset, user_balance_id, optional external_id.
- instrument_types
- user_balance_id
- external_id
- limit
- offset
- positions
GET /v1/portfolio/positions/closed?instrument_types=forex,cfd&user_balance_id=881122&limit=50&offset=0 HTTP/1.1 Cookie: ssid=<session-id>{ "offset": 0, "limit": 50, "positions": [ { "id": "pos_9001", "instrumentType": "cfd" } ] }Working orders
GET
/v1/portfolio/ordersopenfinanceLists working order rows (id, status, version, source, kind, instrumentType, userBalanceId, userId) for the portfolio.
Auth: Session cookie (Cookie: ssid=<session-id>) issued by the sign-in call. Query: instrument_types, user_balance_id, kind.
- instrument_types
- user_balance_id
- kind
- id
- status
- version
- source
- instrumentType
- userBalanceId
- userId
GET /v1/portfolio/orders?instrument_types=forex&user_balance_id=881122&kind=pending HTTP/1.1 Cookie: ssid=<session-id>{ "orders": [ { "id": "ord_4401", "status": "new", "version": 3, "source": "mobile", "kind": "pending", "instrumentType": "forex", "userBalanceId": 881122, "userId": 12004567 } ] }Cashbox counting
GET
/v1/payments/deposit-optionsopenbankingReturns deposit rails: the payment-method list, currency presets, default bonuses, one-click rows and the saved billing details (firstName, lastName, address, zip, country, city). A later invoice record tracks invoiceId, amount and status.
Auth: Session cookie (Cookie: ssid=<session-id>) issued by the sign-in call. Query switches: temp_disabled, boleto_switch, crypto_to_fiat, support_google_pay, soft_restrictions, crypto_balances, form_version (6).
- temp_disabled
- boleto_switch
- crypto_to_fiat
- support_google_pay
- crypto_balances
- form_version
- methods
- availableCurrencies
- presets
- defaultBonuses
- oneClicks
- userBillingInfoResponse
- exists
- firstName
- lastName
- address
- zip
- country
- city
GET /v1/payments/deposit-options?temp_disabled=true&boleto_switch=true&crypto_to_fiat=true&support_google_pay=true&soft_restrictions=true&crypto_balances=true&form_version=6 HTTP/1.1 Cookie: ssid=<session-id>{ "methods": [ { "id": "boleto", "currency": "BRL" } ], "availableCurrencies": [ { "code": "USD" } ], "presets": { "USD": [ { "amount": 50 } ] }, "defaultBonuses": {}, "oneClicks": [], "userBillingInfoResponse": { "exists": true, "userId": 12004567, "firstName": "Ana", "lastName": "Silva", "address": "Rua A 100", "zip": "01310-000", "country": "BR", "city": "Sao Paulo" } }Marginal balance
GET
/v1/margin/snapshotopenfinanceSnapshot of a margin wallet: cash versus bonus, equity/equityUSD, pnlNet, used margin, free available and marginLevel against stopOutLevel, plus per-ticket positionPnls.
Auth: Session cookie (Cookie: ssid=<session-id>) issued by the sign-in call. Query: user_balance_id.
- user_balance_id
- id
- generatedAt
- userId
- type
- currency
- cash
- bonus
- pnl
- isolatedPnl
- equity
- equityUSD
- swap
- dividends
- pnlNet
- margin
- isolatedMargin
- available
- marginLevel
- stopOutLevel
- positionPnls
GET /v1/margin/snapshot?user_balance_id=881122 HTTP/1.1 Cookie: ssid=<session-id>{ "id": 881122, "generatedAt": 1710234000000, "userId": 12004567, "type": 1, "currency": "USD", "cash": 1460.25, "bonus": 80.0, "pnl": 12.4, "isolatedPnl": 0, "equity": 1552.65, "equityUSD": 1552.65, "swap": -0.12, "dividends": 0, "pnlNet": 12.28, "margin": 200.0, "isolatedMargin": 0, "available": 1352.65, "marginLevel": 776.3, "stopOutLevel": 50.0, "positionPnls": [] }KYC documents
GET
/v1/compliance/documentsosintReturns the trader's verification documents: reference, status, comment, verificationType, isExpired, expiryDate. Capture itself is handed to Jumio.
Auth: Session cookie (Cookie: ssid=<session-id>) issued by the sign-in call. A sibling history call takes a verification_type filter.
- documents
- reference
- status
- comment
- verificationType
- isExpired
- expiryDate
GET /v1/compliance/documents HTTP/1.1 Cookie: ssid=<session-id>{ "documents": [ { "reference": "doc_7788", "status": "approved", "comment": null, "verificationType": "identity", "isExpired": false, "expiryDate": "2028-04-01" } ] }Actives catalog
GET
/v1/instrumentsopendataReturns the tradeable instrument catalog: numeric id, ticker name, isOtc flag and assetType.
Auth: Session cookie (Cookie: ssid=<session-id>) issued by the sign-in call. Sibling lookups cover a single instrument by id, the currency list and the country list by company.
- id
- name
- isOtc
- assetType
GET /v1/instruments HTTP/1.1 Cookie: ssid=<session-id>{ "actives": [ { "id": 1, "name": "EURUSD", "isOtc": false, "assetType": "forex" } ] }Instrument KeyStat
GET
/v1/instruments/{instrument_id}/fundamentalsopendataKey statistics for an instrument id: marketCap, latestEPS, dividendYield, peRatioHigh, sharesOutstanding, beta, returnOnEquity, revenue, earnDate, volume and pegRatio on stock instruments.
Auth: Session cookie (Cookie: ssid=<session-id>) issued by the sign-in call. Fundamentals are served only for stock-type instruments.
- active
- ticker
- name
- marketCap
- latestEPS
- dividendYield
- peRatioHigh
- sharesOutstanding
- beta
- returnOnEquity
- revenue
- earnDAT
- volume
- pegRatio
GET /v1/instruments/1/fundamentals HTTP/1.1 Cookie: ssid=<session-id>{ "data": { "active": { "ticker": "AAPL", "name": "Apple Inc.", "fininfo": { "keyStat": { "beta": 1.21, "dividendYield": 0.005, "latestEPS": 6.42, "marketCap": 2800000000000, "peRatioHigh": 32.1, "returnOnEquity": 1.47, "revenue": 383000000000, "sharesOutstanding": 15500000000, "volume": 54000000, "pegRatio": 2.1, "earnDAT": "2026-01-30" } } } } }Place temporary order
POST
/v1/orders/stagedopenfinancePlaces a working order and returns the placement result (id, orderId). The same call is used for every order type the ticket supports.
Auth: Session cookie (Cookie: ssid=<session-id>) issued by the sign-in call.
- user_balance_id
- instrument_type
- id
- orderId
POST /v1/orders/staged HTTP/1.1 Cookie: ssid=<session-id> Content-Type: application/json { "user_balance_id": 881122, "instrument_type": "forex" }{ "id": 9001001, "orderId": 4401 }
Data categories
- balances
- positions
- kyc
- cashbox
- instruments
Where teams use this data
Wallet vs position P&L reconciliation
A bookkeeping bot pulls Balance.amount / authAmount / bonusAmount then matches MarginalBalance.pnlNet, equity and available so training refill and live ticket settlement stay in one ledger.
KYC gate before cashbox payout
A withdrawals desk reads profile kyc plus KycDocument.status, isExpired and verificationType, then only releases cashbox methods when documents are approved and not expired.
Margin-level stop-out monitor
Risk ops charts MarginalBalance.marginLevel against stopOutLevel and isolatedMargin so a CFD book can page when free available collapses.
Active catalog plus KeyStat overlay
A research board joins Active.id / name / isOtc with GraphQL KeyStat.marketCap, peRatioHigh, latestEPS and dividendYield for the same instrument.
Frequently asked questions
How does IQ Option keep a trading session?
Signing in with an identifier and password (plus a Cloudflare Turnstile token) returns a session id called ssid with a ttl, alongside a token. The client keeps ssid as a session cookie, also writes platform and lang cookies, and sends it with later wallet, portfolio and profile calls.
How is a trading wallet split?
The wallet record exposes amount, authAmount, bonusAmount, currency, type, isFiat and optional tournamentName/tournamentId. The margin snapshot then adds cash, bonus, equity, equityUSD, pnlNet, margin, available, marginLevel and stopOutLevel.
Which KYC fields does the client keep?
The trader profile holds kyc, tin, country_id and is_islamic. Each verification document adds reference, status, comment, verificationType, isExpired and expiryDate. Document capture is delegated to Jumio.
What instrument fundamentals are on KeyStat?
The key-statistics record returns marketCap, latestEPS, dividendYield, peRatioHigh, sharesOutstanding, beta, returnOnEquity, revenue, earnDate, volume and pegRatio for stock instruments, keyed by the instrument id.
Apps similar to IQ Option – Trading Platform
- Olymptrade – Trading online — Olymptrade is a licensed online trading app for fixed-time, forex, stocks and OTC instruments, with Flex and InZone modes across 100-plus assets and a $10 minimum deposit.
- Pocket Option — Pocket Option is a web and Android desk for digital-option and forex-style tickets on currencies, commodities, stocks, crypto and indices, with a demo account, copy trading, and express or pending orders.
- MetaTrader 4 Forex Trading — MetaTrader 4 is MetaQuotes' retail forex and CFD terminal, licensed to brokers so traders can stream quotes, chart, and send market or pending orders.
- MetaTrader 5 — Forex, Stocks — MetaTrader 5 is MetaQuotes' multi-asset successor to MT4, covering forex, stocks and futures on desktop, web and Android terminals connected to a broker.
- eToro — eToro is a multi-asset brokerage for stocks, ETFs, CFDs and cryptoassets, built around CopyTrader social replication rather than IQ Option-style digital-option tickets.
- Plus500 — Plus500 is an Israel-headquartered multi-asset fintech that offers CFDs, share dealing, futures, prediction markets and options on futures to retail traders.
- TradingView: Track All Markets — TradingView is a Supercharts charting and social-markets app for stocks, crypto, forex and futures, with optional order entry through connected third-party brokers rather than its own desk.
- Deriv — Deriv is an online broker (operating since 1999) for CFDs, options, forex, stocks, commodities, crypto and 24/7 synthetic indices, with its own trader, MT5, cTrader and bot clients.
Topics
- IQ Option API
- IQ Option margin level stop-out
- Balance authAmount bonusAmount
- IQ Option KYC reference
- KeyStat marketCap peRatioHigh
- IQ Option cashbox methods
- openData Studio
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use