Skip to content

Create MetaTrader 5 demo account


Creates MetaTrader 5 demo account

Note: Not all brokers allow creating demo accounts this way. You can create a demo account for the broker which allows creating demo accounts via MT terminal. When creating a demo account please supply correct email and account type values. You can find available account type values in MT terminal. Please make sure the rate at which you create demo accounts is reasonably low, since your broker can rate limit the requests which will cause the API to return error. Your broker can also limit the number of demo accounts per email.

POST /users/current/provisioning-profiles/:profileId/mt5-demo-accounts

For more information see swagger documentation


Name Type Required Description
auth-token string Yes Authorization token. See Authentication and authorization
transaction-id string Yes Transaction id is used to identify a unique transaction. For the new request please generate a random 32-character transaction id. If your request has returned 202 status code, please reuse the same transaction id value to poll the result of the request you've sent earlier.

Path parameters

Name Type Required Description
profileId string Yes Id of the provisioning profile that will be used as the basis for creating this account. Please use a value of default in order to create an account based on provided MT server name only


Name Type Required Description
accountType string Yes Account type. Available account type values can be found in mobile MT application or in MT terminal downloaded from our broker
balance number Yes Account balance
email string Yes Account holder's email
leverage number Yes Account leverage
name string Yes Account holder's name
phone string Yes Account holder's phone, in international format
serverName string Yes Server name
keywords Array Keywords to be used for broker server search. We recommend to include exact broker company name in this list


  • 201 - Demo account created successfully. Response schema: TradingAccountCredentials
  • 202 - Request accepted. Reponse schema: AcceptedError
  • 400 - Validation failed. Response schema: Error
  • 401 - Authorization failed. Response schema: Error
  • 403 - Method or resource access permissions are missing. Response schema: Error
  • 404 - Provisioning profile with specified id not found. Response schema: Error


Example request:

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'auth-token: token' --header 'transaction-id: transactionId' -d '{
  "balance": 1000,
  "email": "",
  "leverage": 10,
  "serverName": "ICMarketsSC-Demo",
  "name": "Test User",
  "accountType": "type",
  "phone": "+12345678901",
  "keywords": ["Raw Trading Ltd"]
}' ''

Example response:

  "login": "86053193",
  "password": "2y8kpft",
  "investorPassword": "dc56esco",
  "serverName": "ICMarketsSC-Demo"