Skip to content

Assets & markets

QuantConomy models the financial universe in two layers. Assets are the instruments themselves — stocks, currencies, bonds, ETFs, and crypto. Markets are tradable pairs of assets (a base asset quoted in another) on a specific exchange and data platform. Markets carry time-series candle and chart data.

An asset is a single financial instrument. Each parent asset has a unique key (e.g. apple-inc, bitcoin), a symbol, a name, and a class. Parent assets group children — the same instrument as listed on different exchanges or data platforms (e.g. AAPL on Alpaca and on Polygon), each with its own platformKey and platformAssetId.

Supported asset classes:

ClassDescription
stockEquities
cryptocurrencyCryptocurrencies
currencyForeign-exchange currencies
etfExchange-traded funds
mutual_fundMutual funds
bondBonds and fixed income
commodityCommodities (gold, oil, …)
futureFutures contracts
optionOptions contracts

The same key values appear in the entries feed as assetKeys, so you can pivot from a news article straight to the asset it mentions.

Method & pathDescriptionCredits
GET /assetsList parent assets with children (page-based, searchable, sortable)1
GET /assets/:idOrKeySingle asset by UUID or key1

GET /assets returns only parent assets. Search across symbol, name, and key (AAPL, Apple), or filter by class with either the class query param or the class:stock search syntax. The detail endpoint’s :idOrKey accepts a UUID or an asset key (e.g. apple-inc).

Terminal window
# Search crypto assets
curl "https://api.quantconomy.com/api/v1/assets?class=cryptocurrency&limit=5" \
-H "Authorization: Bearer mtk_your_key_here"
# Look one up by key
curl "https://api.quantconomy.com/api/v1/assets/apple-inc" \
-H "Authorization: Bearer mtk_your_key_here"

A market is a trading pair: a base asset quoted in a quoteAsset on a particular exchange (exchangeKey) and data platform (marketDataPlatformKey). For example, AAPL on NASDAQ via Alpaca (quoted in USD), or BTC/USDT on Binance. The market id (a UUID) is what you use to fetch price data.

Data platforms include alpaca (US stocks), binance (crypto), polygon (US stocks), and fmp (Financial Modeling Prep).

Method & pathDescriptionCredits
GET /marketsList markets (filter by assetId, quoteAssetId, platform)1
GET /markets/:id/candlesOHLCV candles for a market2
GET /markets/:id/chartSimplified time + close-price series1
GET /markets/:idSingle market1

GET /markets/:id/candles returns Open/High/Low/Close/Volume bars. The timeframe query param is required and accepts: 1m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 3d, 1w, 1M, 3M, 1y. Narrow the window with from/to (ISO 8601), set limit (max 1000, default 500), and control order (DESC newest-first by default, or ASC). All numeric values are returned as strings to preserve precision.

GET /markets/:id/chart is a lightweight alternative that returns just time and value (close price), ideal for sparklines. Pass days (1–365, default 7) and the endpoint auto-selects a sensible timeframe — 5-minute candles for 1 day, 1-hour up to 7 days, 4-hour up to 30 days, and daily beyond that — unless you override it with timeframe.

Pull the last 7 days of hourly candles for a market:

Terminal window
curl "https://api.quantconomy.com/api/v1/markets/550e8400-e29b-41d4-a716-446655440000/candles?timeframe=1h&limit=168&order=ASC" \
-H "Authorization: Bearer mtk_your_key_here"

A typical flow ties the two datasets together:

  1. Find the assetGET /assets?query=Apple (or by key, GET /assets/apple-inc).
  2. Find its marketsGET /markets?assetId=<asset-uuid> to get the tradable pairs and their ids.
  3. Fetch price dataGET /markets/:id/candles?timeframe=1d or GET /markets/:id/chart?days=30.