Project Metrics Snapshot
Point-in-time snapshot of project market metrics (price, volume, 24h change, derived fields like price-change-7d/14d/30d and ATH change percentage).
Without at, returns the live metrics subdocument from the project record
(sourced from CoinGecko by the metrics sync).
With at, reads from Timescale metric_log (latest row ≤ at within a 2-hour
lookback) and recomputes derived fields from at - 7d / 14d / 30d lookups.
Authorization
ApiKeyAuth API key to authorize requests
In: header
Path Parameters
MongoDB ObjectId of the project
Query Parameters
Historical timestamp (ISO 8601). Returns project metrics as they existed at this point in time. Must be in the past.
date-timeResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v2/projects/string/metrics?at=2026-03-25T12%3A00%3A00Z"{
"status": 200,
"meta": {
"upgrade": {
"description": "string",
"url": "https://aixbt.tech/subscribe"
}
},
"data": {
"projectId": "507f1f77bcf86cd799439011",
"projectName": "ethereum",
"metrics": {
"usd": 0,
"usdMarketCap": 0,
"usd24hVol": 0,
"usd24hChange": 0,
"lastUpdatedAt": 0,
"high24h": 0,
"low24h": 0,
"athUsd": 0,
"athDate": "2019-08-24T14:15:22Z",
"athChangePct": 0,
"priceChange7d": 0,
"priceChange14d": 0,
"priceChange30d": 0
}
}
}{
"error": "string",
"message": "string",
"code": "string",
"status": 0,
"data": null,
"meta": {},
"details": {},
"pagination": {
"page": 1,
"limit": 1,
"totalCount": 0,
"hasMore": true
},
"limitType": "minute",
"retryAfterMs": 0,
"limits": {
"minute": {
"limit": 0,
"remaining": 0,
"resetAt": "2019-08-24T14:15:22Z"
},
"day": {
"limit": 0,
"remaining": 0,
"resetAt": "2019-08-24T14:15:22Z"
}
},
"issues": [
{
"path": "string",
"message": "string"
}
]
}{
"error": "string",
"message": "string",
"code": "string",
"status": 0,
"data": null,
"meta": {},
"details": {},
"pagination": {
"page": 1,
"limit": 1,
"totalCount": 0,
"hasMore": true
},
"limitType": "minute",
"retryAfterMs": 0,
"limits": {
"minute": {
"limit": 0,
"remaining": 0,
"resetAt": "2019-08-24T14:15:22Z"
},
"day": {
"limit": 0,
"remaining": 0,
"resetAt": "2019-08-24T14:15:22Z"
}
},
"issues": [
{
"path": "string",
"message": "string"
}
]
}{
"error": "string",
"message": "string",
"code": "string",
"status": 0,
"data": null,
"meta": {},
"details": {},
"pagination": {
"page": 1,
"limit": 1,
"totalCount": 0,
"hasMore": true
},
"limitType": "minute",
"retryAfterMs": 0,
"limits": {
"minute": {
"limit": 0,
"remaining": 0,
"resetAt": "2019-08-24T14:15:22Z"
},
"day": {
"limit": 0,
"remaining": 0,
"resetAt": "2019-08-24T14:15:22Z"
}
},
"issues": [
{
"path": "string",
"message": "string"
}
]
}{
"error": "string",
"message": "string",
"code": "string",
"status": 0,
"data": null,
"meta": {},
"details": {},
"pagination": {
"page": 1,
"limit": 1,
"totalCount": 0,
"hasMore": true
},
"limitType": "minute",
"retryAfterMs": 0,
"limits": {
"minute": {
"limit": 0,
"remaining": 0,
"resetAt": "2019-08-24T14:15:22Z"
},
"day": {
"limit": 0,
"remaining": 0,
"resetAt": "2019-08-24T14:15:22Z"
}
},
"issues": [
{
"path": "string",
"message": "string"
}
]
}{
"error": "string",
"message": "string",
"code": "string",
"status": 0,
"data": null,
"meta": {},
"details": {},
"pagination": {
"page": 1,
"limit": 1,
"totalCount": 0,
"hasMore": true
},
"limitType": "minute",
"retryAfterMs": 0,
"limits": {
"minute": {
"limit": 0,
"remaining": 0,
"resetAt": "2019-08-24T14:15:22Z"
},
"day": {
"limit": 0,
"remaining": 0,
"resetAt": "2019-08-24T14:15:22Z"
}
},
"issues": [
{
"path": "string",
"message": "string"
}
]
}Price Candles (OHLCV) GET
Returns OHLCV candlestick data from TimescaleDB metric history. Each candle is an array: `[timestamp_ms, open, high, low, close, volume24h]`. `volume24h` is the rolling 24-hour volume at candle close, not per-interval volume. **Interval defaults and caps:** | Interval | Default range | Max range | |----------|--------------|-----------| | `5m` | 24 hours | 48 hours | | `1h` | 7 days | 14 days | | `1d` | 30 days | 90 days | If the requested range exceeds the max, `start` is clamped forward (most recent candles are returned).
List Clusters GET
Returns crypto community clusters by default. Pass `universe=tradfi` to list TradFi account labels. Use crypto cluster IDs with the `clusterIds` parameter on the /v2/intel endpoint to filter signals by source.