GET /api/assets List Assets
Returns all tracked assets with optional filtering. Each asset record includes the latest market cap in USD plus the Weekly CAPR ByteTrend score and trend regime, denormalised from the latest computed metrics.
Request
curl https://api.bytetree.io/api/assets
# Filter by type
curl "https://api.bytetree.io/api/assets?type=stock"
# FX pairs (synthesised from rate data — see Polymorphic FX rows below)
curl "https://api.bytetree.io/api/assets?type=fx"
# Filter by universe dimension (e.g. Global Trends region = Americas)
curl "https://api.bytetree.io/api/assets?universe=global-trends-200&dimension=region&group=Americas"
# Text search
curl "https://api.bytetree.io/api/assets?q=apple"
# Paginate (advance offset until offset + count >= total)
curl "https://api.bytetree.io/api/assets?limit=100&offset=200"
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
type | string | No | Asset type: stock, crypto, etf, index, commodity, or fx (synthesised — see Polymorphic FX rows) |
status | string | No | Asset status: active, pending, or inactive |
sector | string | No | Sector name (e.g. Technology, Financial Services) |
universe | string | No | Universe slug (e.g. macro, global-trends-200) — see Universes. Use with dimension and group. Out-of-scope slugs return 403. |
dimension | string | No | Dimension: region, sector, industry, type, or country. Use with universe and group. |
group | string | No | Group label to filter by, exact match (e.g. Europe, Americas) |
q | string | No | Case-insensitive text search on symbol and name |
limit | number | No | Maximum number of assets to return per page. Default 500, capped at 1000. |
offset | number | No | Number of records to skip before returning results. Default 0. Pair with limit to paginate. |
Universe Filter
Filter assets by universe dimension using universe + dimension + group. For direct configs, this filters by the source field value. For mapped configs, the mapping is reverse-resolved.
Available universes can be discovered via GET /api/universes.
Polymorphic FX rows
?type=fx returns FX pairs synthesised from rate data alongside the registered asset universe. FX rows expose the same shape as standard assets so polymorphic consumers can iterate without branching, but several asset-only fields (isin, sector, industry, country, region, mktCap, mktCapUsd) are null because FX pairs aren’t issuer-domiciled instruments. The name field is rendered in slash form (e.g. "EUR/USD") to disambiguate from concatenated symbols like EURUSD.
/api/fx is the canonical zero-ambiguity surface for FX score and metric data — consumers building FX-only views should prefer it. ?type=fx here is the polymorphic veneer for callers iterating across mixed asset types.
Response
This endpoint uses the paginated list envelope:
| Field | Type | Description |
|---|---|---|
count | number | Length of the returned data array (records on this page) |
total | number | Full match count for the same filter, ignoring limit and offset |
limit | number | Echoed input limit |
offset | number | Echoed input offset |
data | array | Array of asset objects |
Each asset object:
| Field | Type | Description |
|---|---|---|
_id | string | MongoDB document ID |
symbol | string | Ticker symbol (e.g. AAPL, BTCUSD) |
name | string | Display name |
isin | string | null | ISIN code (e.g. US0378331005) |
type | string | Asset type: stock, crypto, etf, index, or commodity |
status | string | active, pending, or inactive |
sector | string | null | Sector name (e.g. Technology) |
industry | string | null | Industry name (e.g. Consumer Electronics) |
country | string | null | ISO 3166-1 alpha-2 country code (e.g. US, GB) |
region | string | null | Geographic region derived from country (e.g. North America, Europe) |
currency | string | Trading currency (e.g. USD, GBP) |
mktCap | number | null | Market cap in local currency (provider-reported) |
mktCapUsd | number | null | Market cap in USD (from computed metrics) |
byteTrendCapr200w | number | null | Latest Weekly CAPR ByteTrend score (0–5), denormalised from latest metrics |
trendRegimeCapr200w | string | null | Latest Weekly CAPR trend regime: Leading Trend, Emerging Trend, Weakening Trend, Bear Trend, or Neutral |
changeCapr200w | number | null | Day-over-day change in the Weekly CAPR score (−5 to +5) |
{
"count": 3,
"total": 4287,
"limit": 500,
"offset": 0,
"data": [
{
"_id": "66f1a2b3c4d5e6f7a8b9c0d1",
"symbol": "AAPL",
"name": "Apple Inc.",
"isin": "US0378331005",
"type": "stock",
"status": "active",
"sector": "Technology",
"industry": "Consumer Electronics",
"country": "US",
"region": "North America",
"currency": "USD",
"mktCap": 3900000000000,
"mktCapUsd": 3900000000000,
"byteTrendCapr200w": 4,
"trendRegimeCapr200w": "Emerging Trend",
"changeCapr200w": 1
},
{
"_id": "66f1a2b3c4d5e6f7a8b9c0d2",
"symbol": "BTCUSD",
"name": "Bitcoin USD",
"isin": null,
"type": "crypto",
"status": "active",
"sector": "Cryptocurrency",
"industry": null,
"country": null,
"region": null,
"currency": "USD",
"mktCap": null,
"mktCapUsd": 1300000000000,
"byteTrendCapr200w": 2,
"trendRegimeCapr200w": "Weakening Trend",
"changeCapr200w": -1
},
{
"_id": "66f1a2b3c4d5e6f7a8b9c0d3",
"symbol": "GCUSD",
"name": "Gold",
"isin": null,
"type": "commodity",
"status": "active",
"sector": null,
"industry": null,
"country": null,
"region": null,
"currency": "USD",
"mktCap": null,
"mktCapUsd": null,
"byteTrendCapr200w": 5,
"trendRegimeCapr200w": "Leading Trend",
"changeCapr200w": 0
}
]
}
Notes
- Results are sorted alphabetically by symbol
mktCapUsd,byteTrendCapr200w,trendRegimeCapr200w, andchangeCapr200ware derived from computed price metrics and may benullif computations have not yet run for an assetmktCapis provider-reported in the asset’s local trading currency; for USD-denominated assets this equalsmktCapUsd- The
total,limit, andoffsetenvelope fields are additive — pre-2026-05-01 callers that only readcountanddataare unaffected. See the Changelog for the cutover note.