API key obtained from your account settings
/portfolio/live-weightsPortfolio / Weights Live
Retrieves the most recent weights for a specific portfolio. Updated hourly with fresh data available 5 minutes past the hour.
portfolioreqstringPortfolio Template Identifier (eg. momentum, spectra)
smoothingstringPortfolio smoothing window for the data. Valid values are 0 (no smoothing), 5, 10, 15, 20, or 30 days. If not specified, uses the portfolio's default smoothing. Invalid values will return a 400 error. Please see Catalog for default smoothing windows and available smoothing options for each portfolio.
0510152030exchangestringExchange constraint for portfolio data. Valid options are: unconstrained (default), binance, okx. If not specified, defaults to unconstrained.
unconstrainedbinanceokxhyperliquidunconstrainedSuccessful response
datanumber[]Latest portfolio weights data
indexstringDate of the latest weights
columnsstring[]Asset names corresponding to the weights
createdAtstring<date-time>ISO 8601 timestamp of when the data was created
{
"data": [
0.25,
0.35,
0.15,
0.25
],
"index": "2023-06-30",
"columns": [
"BTC",
"ETH",
"SOL",
"AVAX"
],
"createdAt": "2023-06-30T15:30:00Z"
}
curl -H "X-API-KEY: YOUR_KEY" \
"/api/v1/portfolio/live-weights?portfolio=<portfolio>&smoothing=0&exchange=unconstrained"/portfolio/historical-weightsPortfolio / Weights Historical
Retrieves historical weights for a specific portfolio over a date range. Returns end-of-day (EOD) values.
portfolioreqstringPortfolio Template Identifier (eg. momentum, spectra)
smoothingstringPortfolio smoothing window for the data. Valid values are 0 (no smoothing), 5, 10, 15, 20, or 30 days. If not specified, uses the portfolio's default smoothing. Invalid values will return a 400 error. Please see Catalog for default smoothing windows and available smoothing options for each portfolio.
0510152030exchangestringExchange constraint for portfolio data. Valid options are: unconstrained (default), binance, okx. If not specified, defaults to unconstrained.
unconstrainedbinanceokxhyperliquidunconstrainedstart_datestring<date>Filter data to only include dates on or after this date (ISO format: YYYY-MM-DD)
end_datestring<date>Filter data to only include dates on or before this date (ISO format: YYYY-MM-DD)
Successful response
dataarray[]Historical portfolio weights data
indexstring[]Date indices for the weights data
columnsstring[]Asset names corresponding to the weights
curl -H "X-API-KEY: YOUR_KEY" \
"/api/v1/portfolio/historical-weights?portfolio=<portfolio>&smoothing=0&exchange=unconstrained&start_date=<start_date>&end_date=<end_date>"/portfolio/factorsPortfolio / Raw Factor
Retrieves factor data for specific tickers within a single factor portfolio over a date range. Returns end-of-day (EOD) values.
idreqstringPortfolio Factor Identifier without the universe specifier (eg. momentum instead of momentum.20)
tickersreqstringComma-separated list of ticker symbols (e.g., BTC,ETH,SOL).
smoothingstringPortfolio smoothing window for the data. Valid values are 0 (no smoothing), 5, 10, 15, 20, or 30 days. If not specified, uses the portfolio's default smoothing. Invalid values will return a 400 error. Please see Catalog for default smoothing windows and available smoothing options for each portfolio.
0510152030start_datestring<date>Filter data to only include dates on or after this date (ISO format: YYYY-MM-DD)
end_datestring<date>Filter data to only include dates on or before this date (ISO format: YYYY-MM-DD)
Successful response
dataarray[]Factor data for the specified tickers
indexstring[]Date indices for the factor data
columnsstring[]Ticker symbols corresponding to the factor data
{
"data": [
[
0.45,
0.67,
0.89
],
[
0.23,
0.2,
0.8
],
[
0.87,
0.34,
0.56
]
],
"index": [
"2023-01-01",
"2023-01-02",
"2023-01-03"
],
"columns": [
"BTC",
"ETH",
"SOL"
]
}
curl -H "X-API-KEY: YOUR_KEY" \
"/api/v1/portfolio/factors?id=<id>&tickers=<tickers>&smoothing=0&start_date=<start_date>&end_date=<end_date>"/portfolio/factors-livePortfolio / Raw Factor Live
Retrieves the latest factor data for specific tickers within a single factor portfolio. Updated hourly with fresh data available 5 minutes past the hour.
idreqstringPortfolio Factor Identifier without the universe specifier (eg. momentum instead of momentum.20)
tickersreqstringComma-separated list of ticker symbols (e.g., BTC,ETH,SOL).
smoothingstringPortfolio smoothing window for the data. Valid values are 0 (no smoothing), 5, 10, 15, 20, or 30 days. If not specified, uses the portfolio's default smoothing. Invalid values will return a 400 error. Please see Catalog for default smoothing windows and available smoothing options for each portfolio.
0510152030Successful response
datanumber[]Latest factor data for the specified tickers
indexstringDate of the latest factor data
columnsstring[]Ticker symbols corresponding to the factor data
createdAtstring<date-time>ISO 8601 timestamp of when the data was created
{
"data": [
0.45,
0.67,
0.89
],
"index": "2023-01-03",
"columns": [
"BTC",
"ETH",
"SOL"
]
}
curl -H "X-API-KEY: YOUR_KEY" \
"/api/v1/portfolio/factors-live?id=<id>&tickers=<tickers>&smoothing=0"/portfolio/tickersPortfolio / Tickers
Retrieves the list of ticker symbols available in a specific portfolio. Multi-Factor portfolios cannot be used with 'full' universe size.
idreqstringPortfolio Factor Identifier without the universe specifier (eg. momentum instead of momentum.20)
universe_sizereqstringUniverse size for the portfolio (e.g., 20, 30, 40) or 'full' to get all tickers. Note: Multi-Factor portfolios cannot use 'full' universe size.
exchangestringExchange constraint for portfolio data. Valid options are: unconstrained (default), binance, okx. If not specified, defaults to unconstrained.
unconstrainedbinanceokxhyperliquidunconstrainedSuccessful response
tickersstring[]List of ticker symbols available in the portfolio
{
"tickers": [
"BTC",
"ETH",
"SOL",
"AVAX",
"MATIC"
]
}
curl -H "X-API-KEY: YOUR_KEY" \
"/api/v1/portfolio/tickers?id=<id>&universe_size=<universe_size>&exchange=unconstrained"/portfolio/universePortfolio / Universe
Retrieves the universe data for a portfolio, showing which assets are included in the portfolio over time. The data is returned as binary values (1 for included, null for no data). Use the size parameter to specify the portfolio size (e.g., 20, 30, 40).
start_datestring<date>Filter data to only include dates on or after this date (ISO format: YYYY-MM-DD)
end_datestring<date>Filter data to only include dates on or before this date (ISO format: YYYY-MM-DD)
sizereqstringPortfolio size - number of assets to include. Must be one of: 20, 30, or 40
203040exchangestringExchange constraint for portfolio data. Valid options are: unconstrained (default), binance, okx. If not specified, defaults to unconstrained.
unconstrainedbinanceokxhyperliquidunconstrainedSuccessful response
dataarray[]Universe data showing which assets are included (1) in the portfolio over time. Null values indicate no data available.
indexstring[]Date indices for the universe data
columnsstring[]Asset names corresponding to the universe data
{
"data": [
[
1,
1,
0,
1
],
[
1,
1,
1,
1
],
[
0,
1,
1,
1
]
],
"index": [
"2024-01-01",
"2024-01-02",
"2024-01-03"
],
"columns": [
"BTC",
"ETH",
"SOL",
"AVAX"
]
}
curl -H "X-API-KEY: YOUR_KEY" \
"/api/v1/portfolio/universe?start_date=<start_date>&end_date=<end_date>&size=20&exchange=unconstrained"/portfolio/returnsPortfolio / Returns
Retrieves returns data for a specific portfolio over a date range. Returns end-of-day (EOD) values.
portfolioreqstringPortfolio Template Identifier (eg. momentum, spectra)
smoothingstringPortfolio smoothing window for the data. Valid values are 0 (no smoothing), 5, 10, 15, 20, or 30 days. If not specified, uses the portfolio's default smoothing. Invalid values will return a 400 error. Please see Catalog for default smoothing windows and available smoothing options for each portfolio.
0510152030exchangestringExchange constraint for portfolio data. Valid options are: unconstrained (default), binance, okx. If not specified, defaults to unconstrained.
unconstrainedbinanceokxhyperliquidunconstrainedstart_datestring<date>Filter data to only include dates on or after this date (ISO format: YYYY-MM-DD)
end_datestring<date>Filter data to only include dates on or before this date (ISO format: YYYY-MM-DD)
Successful response
{
"data": [
0,
0.0234,
-0.0156,
0.0456,
0.0123,
-0.0089,
0.0345
],
"index": [
"2023-01-01",
"2023-01-02",
"2023-01-03",
"2023-01-04",
"2023-01-05",
"2023-01-06",
"2025-10-07"
],
"columns": [
"returns"
]
}
curl -H "X-API-KEY: YOUR_KEY" \
"/api/v1/portfolio/returns?portfolio=<portfolio>&smoothing=0&exchange=unconstrained&start_date=<start_date>&end_date=<end_date>"/portfolio/risk-overlayPortfolio / Risk Overlay Hist.
Retrieves risk overlay time series data for a specific portfolio. Risk overlays are portfolio-specific factor risk overlays. Returns end-of-day (EOD) values.
portfolioreqstringPortfolio Template Identifier (eg. momentum, spectra)
overlayreqstringRisk overlay identifier - a portfolio-specific factor risk overlay
start_datestring<date>Filter data to only include dates on or after this date (ISO format: YYYY-MM-DD)
end_datestring<date>Filter data to only include dates on or before this date (ISO format: YYYY-MM-DD)
Successful response
datanumber[]Transformed factor data points
indexstring[]Date indices for the data points
{
"data": [
0.05,
0.12,
0.08,
0.15,
0.1,
0.18,
0.14
],
"index": [
"2023-01-01",
"2023-01-02",
"2023-01-03",
"2023-01-04",
"2023-01-05",
"2023-01-06",
"2025-10-07"
]
}
curl -H "X-API-KEY: YOUR_KEY" \
"/api/v1/portfolio/risk-overlay?portfolio=<portfolio>&overlay=<overlay>&start_date=<start_date>&end_date=<end_date>"/portfolio/risk-overlay-livePortfolio / Risk Overlay Live
Retrieves the latest risk overlay data point for a specific portfolio and overlay. Risk overlays are portfolio-specific factor risk overlays. Updated hourly with fresh data available 5 minutes past the hour.
portfolioreqstringPortfolio Template Identifier (eg. momentum, spectra)
overlayreqstringRisk overlay identifier - a portfolio-specific factor risk overlay
Successful response
datanumber | nullLatest risk overlay data point
indexstringDate of the latest risk overlay data
createdAtstring<date-time>ISO 8601 timestamp of when the data was created
{
"data": 0.15,
"index": "2025-10-07"
}
curl -H "X-API-KEY: YOUR_KEY" \
"/api/v1/portfolio/risk-overlay-live?portfolio=<portfolio>&overlay=<overlay>"/risk-regimeRisk Regime Historical
Retrieves risk regime time series data. Risk regimes are factor risk overlays applicable to all portfolios, including custom ones. Returns end-of-day (EOD) values.
overlayreqstringRisk overlay identifier - a portfolio-specific factor risk overlay
start_datestring<date>Filter data to only include dates on or after this date (ISO format: YYYY-MM-DD)
end_datestring<date>Filter data to only include dates on or before this date (ISO format: YYYY-MM-DD)
Successful response
datanumber[]Transformed factor data points
indexstring[]Date indices for the data points
{
"data": [
0.05,
0.12,
0.08,
0.15,
0.1,
0.18,
0.14
],
"index": [
"2023-01-01",
"2023-01-02",
"2023-01-03",
"2023-01-04",
"2023-01-05",
"2023-01-06",
"2025-10-07"
]
}
curl -H "X-API-KEY: YOUR_KEY" \
"/api/v1/risk-regime?overlay=<overlay>&start_date=<start_date>&end_date=<end_date>"/risk-regime-liveRisk Regime Live
Retrieves the latest risk regime data point. Risk regimes are factor risk overlays applicable to all portfolios, including custom ones. Updated hourly with fresh data available 5 minutes past the hour.
overlayreqstringRisk overlay identifier - a portfolio-specific factor risk overlay
Successful response
datanumber | nullLatest risk overlay data point
indexstringDate of the latest risk overlay data
createdAtstring<date-time>ISO 8601 timestamp of when the data was created
{
"data": 0.15,
"index": "2025-10-07"
}
curl -H "X-API-KEY: YOUR_KEY" \
"/api/v1/risk-regime-live?overlay=<overlay>"/pricePrice / Closing
Retrieve closing price data for one or more cryptocurrency tickers. Supports single ticker requests (returns legacy format for backward compatibility) or comma-separated multiple ticker requests (returns dataframe format similar to historical-weights endpoint). Single ticker (legacy): Null values are filtered out along with their corresponding dates. Multiple tickers (dataframe): Null values are preserved in the matrix, ensuring consistent date ranges across all tickers.
tickerreqstringTicker symbol(s). Can be a single ticker (e.g., BTC) or comma-separated list (e.g., BTC,ETH,SOL). Whitespace around commas is automatically trimmed.
start_datestring<date>Filter data to only include dates on or after this date (ISO format: YYYY-MM-DD)
end_datestring<date>Filter data to only include dates on or before this date (ISO format: YYYY-MM-DD)
Successful response
Single ticker response (legacy format)
{
"data": [
45000.25,
46700.5,
47200.75,
46800.25,
48200,
49100.5,
48700.25
],
"index": [
"2023-01-01",
"2023-01-02",
"2023-01-03",
"2023-01-04",
"2023-01-05",
"2023-01-06",
"2025-10-07"
]
}
curl -H "X-API-KEY: YOUR_KEY" \
"/api/v1/price?ticker=<ticker>&start_date=<start_date>&end_date=<end_date>"