Prices are only useful if you know what they belong to. A quote for "AAPL" means little without the reference data that says AAPL is Apple Inc., an equity listed on NASDAQ. Elgon's /instruments endpoint gives you exactly that: a verified mapping from a search term to the symbols and basic reference data behind it.
This is a deliberately modest, honest feature. Elgon's reference data is the essentials — symbol, name, type, exchange, and asset class — returned as real (delayed) data over plain REST, with a signed receipt on every response so you can verify what was served. It is not a deep issuer registry: there are no company logos, founding dates, sector taxonomies, ownership tables, or historical charts. Knowing that boundary up front is what makes the data trustworthy to build on.
The endpoint
Like everything in Elgon, /instruments is a single HTTP GET — no SDK, no GraphQL, no WebSocket. Pass a search term as q and the public sandbox key:
curl "https://elgonrpc.xyz/api/v1/instruments?q=apple&key=elgon_sandbox_pub"
The response returns matching instruments, tagged "source":"live" (real data, delayed), each with a compact reference record:
{
"data": [
{ "symbol": "AAPL", "name": "Apple Inc.", "type": "equity", "exchange": "NASDAQ", "assetClass": "stock" },
{ "symbol": "APLE", "name": "Apple Hospitality REIT, Inc.", "type": "equity", "exchange": "NYSE", "assetClass": "stock" }
],
"source": "live",
"plan": "free",
"receipt": { "alg": "sha256", "hash": "560c86c5…4df7b", "endpoint": "/api/v1/instruments" }
}
Fetching reference data in code
In JavaScript with fetch:
const res = await fetch(
"https://elgonrpc.xyz/api/v1/instruments?q=apple&key=elgon_sandbox_pub"
);
const { data } = await res.json();
for (const inst of data) {
console.log(`${inst.symbol} — ${inst.name} (${inst.exchange}, ${inst.assetClass})`);
}
In Python with requests:
import requests
r = requests.get(
"https://elgonrpc.xyz/api/v1/instruments",
params={"q": "apple", "key": "elgon_sandbox_pub"},
)
for inst in r.json()["data"]:
print(inst["symbol"], inst["name"], inst["exchange"])
Why the signed receipt matters here
Reference data is something you often need to prove later — "this is the record we resolved, at this time." Every Elgon response includes a receipt with a sha256 hash and timestamp, and you can confirm it against the /verify endpoint. That gives reference lookups a verifiable audit trail without any extra infrastructure on your side.
What this is not
To keep expectations honest: /instruments returns the basics (symbol, name, type, exchange, asset class). It does not return issuer descriptions, sector/industry classifications, logos, founding dates, social links, ownership, or OHLCV history. There is no GraphQL schema and no instrument query object — just a REST search that returns a flat list. For richer issuer profiles, pair Elgon's symbol resolution with a dedicated fundamentals source.
FAQ
Is the reference data real?
Yes. Instruments are real data, tagged "source":"live" — delayed, not real-time, but genuine. Only Elgon's options and predictions endpoints are simulated.
Does Elgon return logos, sectors, or issuer bios?
No. The record is symbol, name, type, exchange, and asset class. Use a dedicated fundamentals provider for deep issuer data.
Is there a GraphQL API for this?
No. Elgon is REST-only. /instruments is a plain HTTP GET with a q parameter.
Want to try it? Get an API key and read the API docs.

