Search and discover tradable products
curl --request GET \
--url https://gateway.amana.io/trading/symbols/search \
--header 'Authorization: Bearer <token>'import requests
url = "https://gateway.amana.io/trading/symbols/search"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://gateway.amana.io/trading/symbols/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://gateway.amana.io/trading/symbols/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://gateway.amana.io/trading/symbols/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://gateway.amana.io/trading/symbols/search")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://gateway.amana.io/trading/symbols/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"symbol": "<string>",
"name": "<string>",
"description": "<string>",
"type": "<string>",
"specs": [
"<string>"
],
"exchange": "<string>",
"session": "<string>",
"leverage": 123,
"sharia": true,
"pdt": true,
"minVolume": 123,
"maxVolume": 123,
"volumeStep": 123,
"marginCurrency": "<string>",
"profitCurrency": "<string>"
}
]
}{
"error": "<string>",
"message": "<string>",
"details": {}
}trading
Search and discover tradable products
Searches the authenticated user’s available trading products by symbol, company/product name, description, ISIN, RIC, market, or product type. Use this before charting, pricing, or placing orders when the user has not provided an exact symbol. For full metadata and commission tiers, call getInstrumentDetails with the returned symbol.
GET
/
trading
/
symbols
/
search
Search and discover tradable products
curl --request GET \
--url https://gateway.amana.io/trading/symbols/search \
--header 'Authorization: Bearer <token>'import requests
url = "https://gateway.amana.io/trading/symbols/search"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://gateway.amana.io/trading/symbols/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://gateway.amana.io/trading/symbols/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://gateway.amana.io/trading/symbols/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://gateway.amana.io/trading/symbols/search")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://gateway.amana.io/trading/symbols/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"items": [
{
"symbol": "<string>",
"name": "<string>",
"description": "<string>",
"type": "<string>",
"specs": [
"<string>"
],
"exchange": "<string>",
"session": "<string>",
"leverage": 123,
"sharia": true,
"pdt": true,
"minVolume": 123,
"maxVolume": 123,
"volumeStep": 123,
"marginCurrency": "<string>",
"profitCurrency": "<string>"
}
]
}{
"error": "<string>",
"message": "<string>",
"details": {}
}Authorizations
JWT token obtained from authentication endpoints
Query Parameters
Search text such as Apple, gold, BTC, EURUSD, Nasdaq, forex, or an ISIN/RIC. Omit to browse products by type.
Optional product type filter.
Available options:
stock, forex, commodity, index, futures, fund, spot Return only products marked as Sharia-compliant.
Maximum number of products to return.
Required range:
1 <= x <= 50Response
Default Response
Show child attributes
Show child attributes
Last modified on October 7, 2026
