How can I get possible symbols

How can I get all possible buy and sell symbols pr. order type?

For me it’s strange that I can buy BTCEUR but not make a TAKE_PROFIT order in BTCEUR - it does not make sense.

Also i can buy 0.0002 BTCEUR but I cannot do a sell LIMIT 0.0002 BTCEUR I then get a PRICE_FILETER error

You need to use the GET /api/v3/exchangeInfo endpoint.

GET /api/v3/exchangeInfo lists all currently available symbols and their trading rules by default. You can also query specific symbols.

For example:

curl https://api.binance.com/api/v3/exchangeInfo?symbol=BTCEUR

(It is also available on testnet at testnet.binance.vision instead of api.binance.com.)

Response
{
  "timezone": "UTC",
  "serverTime": 1726291843453,
  "rateLimits": [
    {
      "rateLimitType": "REQUEST_WEIGHT",
      "interval": "MINUTE",
      "intervalNum": 1,
      "limit": 6000
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "SECOND",
      "intervalNum": 10,
      "limit": 100
    },
    {
      "rateLimitType": "ORDERS",
      "interval": "DAY",
      "intervalNum": 1,
      "limit": 200000
    },
    {
      "rateLimitType": "RAW_REQUESTS",
      "interval": "MINUTE",
      "intervalNum": 5,
      "limit": 61000
    }
  ],
  "exchangeFilters": [],
  "symbols": [
    {
      "symbol": "BTCEUR",
      "status": "TRADING",
      "baseAsset": "BTC",
      "baseAssetPrecision": 8,
      "quoteAsset": "EUR",
      "quotePrecision": 8,
      "quoteAssetPrecision": 8,
      "baseCommissionPrecision": 8,
      "quoteCommissionPrecision": 8,
      "orderTypes": [
        "LIMIT",
        "LIMIT_MAKER",
        "MARKET",
        "STOP_LOSS",
        "STOP_LOSS_LIMIT",
        "TAKE_PROFIT",
        "TAKE_PROFIT_LIMIT"
      ],
      "icebergAllowed": true,
      "ocoAllowed": true,
      "otoAllowed": true,
      "quoteOrderQtyMarketAllowed": true,
      "allowTrailingStop": true,
      "cancelReplaceAllowed": true,
      "isSpotTradingAllowed": true,
      "isMarginTradingAllowed": false,
      "filters": [
        {
          "filterType": "PRICE_FILTER",
          "minPrice": "0.01000000",
          "maxPrice": "1000000.00000000",
          "tickSize": "0.01000000"
        },
        {
          "filterType": "LOT_SIZE",
          "minQty": "0.00001000",
          "maxQty": "9000.00000000",
          "stepSize": "0.00001000"
        },
        {
          "filterType": "ICEBERG_PARTS",
          "limit": 10
        },
        {
          "filterType": "MARKET_LOT_SIZE",
          "minQty": "0.00000000",
          "maxQty": "11.05318520",
          "stepSize": "0.00000000"
        },
        {
          "filterType": "TRAILING_DELTA",
          "minTrailingAboveDelta": 10,
          "maxTrailingAboveDelta": 2000,
          "minTrailingBelowDelta": 10,
          "maxTrailingBelowDelta": 2000
        },
        {
          "filterType": "PERCENT_PRICE_BY_SIDE",
          "bidMultiplierUp": "5",
          "bidMultiplierDown": "0.2",
          "askMultiplierUp": "5",
          "askMultiplierDown": "0.2",
          "avgPriceMins": 5
        },
        {
          "filterType": "NOTIONAL",
          "minNotional": "5.00000000",
          "applyMinToMarket": true,
          "maxNotional": "9000000.00000000",
          "applyMaxToMarket": false,
          "avgPriceMins": 5
        },
        {
          "filterType": "MAX_NUM_ORDERS",
          "maxNumOrders": 200
        },
        {
          "filterType": "MAX_NUM_ALGO_ORDERS",
          "maxNumAlgoOrders": 5
        }
      ],
      "permissions": [],
      "permissionSets": [
        [
          "SPOT",
          // (a million other permissions omitted)
        ]
      ],
      "defaultSelfTradePreventionMode": "EXPIRE_MAKER",
      "allowedSelfTradePreventionModes": [
        "EXPIRE_TAKER",
        "EXPIRE_MAKER",
        "EXPIRE_BOTH"
      ]
    }
  ]
}

Here you can see that TAKE_PROFIT order type is available for BTCEUR:

      "orderTypes": [
        "LIMIT",
        "LIMIT_MAKER",
        "MARKET",
        "STOP_LOSS",
        "STOP_LOSS_LIMIT",
        "TAKE_PROFIT",
        "TAKE_PROFIT_LIMIT"
      ],

If you can’t place a TAKE_PROFIT order, it must be because of some other reason.

Can you please paste the specific error that you get?

Hi
Here is what I send and the result:

POST https://testnet.binance.vision/api/v3/order?quantity=0.0002&stopPrice=57334.11&symbol=BTCEUR&side=SELL&type=TAKE_PROFIT&timestamp=1726327567786&signature=XXX
resulted in a 400 Bad Request response:
{“code”:-1013,“msg”:“Take profit orders are not supported for this symbol.”}

If I query the exchange info I get this for BTCEUR on the testnet

“orderTypes” => array:5 [▼
0 => “LIMIT”
1 => “LIMIT_MAKER”
2 => “MARKET”
3 => “STOP_LOSS_LIMIT”
4 => “TAKE_PROFIT_LIMIT”
]

1 Like

Hi Rabol,

TAKE_PROFIT is a different orderType from TAKE_PROFIT_LIMIT.

Although Testnet now supports both, so you should be able to make TAKE_PROFIT orders now.