GET /v1/assets
Lists the assets that currently have stored rates, so you can discover what is quotable without guessing at symbols.
Need this over MCP instead? See list_fiat_currencies → or list_crypto_assets →.
Auth
Authorization: ApiKey <key> — required.
Billing
Not billable. Catalog reads do not consume request units, because discovering what you can ask for should not cost the same as asking. They are still subject to the per-second rate limit.
Endpoints
| Path | Returns |
|---|---|
GET /v1/assets | Every asset, fiat and crypto |
GET /v1/assets/fiat | Fiat currencies only |
GET /v1/assets/crypto | Crypto assets only |
Success — 200
curl https://your-getratesapi-host/v1/assets/crypto \
-H "Authorization: ApiKey gra_live_0000000000000000000000000000000000000000000000000000000000000000"const res = await fetch("https://your-getratesapi-host/v1/assets/crypto", {
headers: {
Authorization: "ApiKey gra_live_0000000000000000000000000000000000000000000000000000000000000000",
},
});
const { assets } = await res.json();{
"asset_class": "crypto",
"assets": ["ADA", "BTC", "ETH", "SOL", "XRP"]
}assets is sorted and de-duplicated. asset_class is fiat, crypto, or
all.
Classification
An asset is classified by the kind of source that quotes it: anything
appearing in a fiat feed is fiat, everything else quoted by a crypto feed
is crypto. A currency such as EUR therefore appears only in the fiat
list, even though crypto feeds also quote against it.
Listing is derived from stored rates, so it reflects what is actually servable right now, not an aspirational catalog. An asset can appear and disappear as upstream coverage changes.
Coverage
- Fiat — about 170 codes: every ISO 4217 currency our fiat provider
publishes, gold (
XAU) and silver (XAG) per troy ounce, the IMF Special Drawing Right (XDR), and a few legacy codes such asHRKorLTLkept for older systems. - Crypto — thousands of coins and stablecoins: every crypto asset our
crypto provider prices in USD. Codes are the provider’s tickers
(
BTC,ETH,USDT, …).
The crypto feed is refreshed every 10 seconds, the fiat feed every 60 (see freshness). Each asset comes from exactly one source: the fiat feed never supplies a crypto code and the crypto feed never supplies a fiat one, so a rate never flips between two providers.
Public catalog with names
GET /v1/catalog/assets returns the same lists with English display names
and needs no API key — handy for building a currency picker in a
browser without exposing your key:
curl https://your-getratesapi-host/v1/catalog/assets{
"fiat": [{ "code": "CZK", "name": "Czech Koruna" }, { "code": "EUR", "name": "Euro" }],
"crypto": [{ "code": "BTC", "name": "Bitcoin" }]
}It is cached for up to 60 seconds (Cache-Control: public, max-age=60), so
a newly added asset can take a minute to appear. Names come from a curated
table for currencies and well-known coins, then from the crypto provider’s
asset directory; an asset without any known name uses its code.
Error outcomes
| Status | Code |
|---|---|
401 | unauthorized |
429 | rate_limited |
503 | temporarily_unavailable |