Search canonical instruments across provider identifier mappings.
/api/v2/data/instrumentsStable FinanceGPT instrument UUIDs avoid provider-specific ticker ambiguity.
data:reference:readThe playground uses deterministic isolated sandbox fixtures. It never queries production workspace data and does not require you to paste an API secret into the browser.
Sign in to run{
"data": [
{
"instrument_uid": "00000000-0000-4000-8000-000000000001",
"symbol": "SBOX",
"asset_class": "equity"
}
]
}curl -X GET \ https://equitygpt.app/api/v2/data/instruments?q=SBOX&limit=25 \ -H "Authorization: Bearer $FINANCEGPT_API_KEY" \ -H "Content-Type: application/json"
import os, requests
url = "https://equitygpt.app/api/v2/data/instruments?q=SBOX&limit=25"
headers = {"Authorization": f"Bearer {os.environ['FINANCEGPT_API_KEY']}"}
response = requests.request("GET", url, headers=headers)
response.raise_for_status()
print(response.json())const response = await fetch('https://equitygpt.app/api/v2/data/instruments?q=SBOX&limit=25', {
method: 'GET',
headers: { Authorization: `Bearer ${process.env.FINANCEGPT_API_KEY}`, 'Content-Type': 'application/json' }
});
if (!response.ok) throw new Error(`FinanceGPT ${response.status}`);
console.log(await response.json());<?php
$ch = curl_init('https://equitygpt.app/api/v2/data/instruments?q=SBOX&limit=25');
curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_HTTPHEADER => ['Authorization: Bearer '.getenv('FINANCEGPT_API_KEY'), 'Content-Type: application/json']]);
$response = curl_exec($ch);
if (curl_getinfo($ch, CURLINFO_HTTP_CODE) >= 400) throw new RuntimeException($response);
echo $response;Explorer gives immediate isolated sandbox access. Production plans require a commercial entitlement.
Create account