Skip to main content
Version: 0.9.1

Time-Series API

Use the Time-series API for charting data over time and to generate reports. Time-series use the same underlying data as the Table API, but rows are automatically aggregated and counted over time.

Generic Time-Series Query​

GET /series/{table_code}.{format}?{args}

The time-series API is an abstraction over tables which allows for server-side aggregation of multiple result rows over time. Time-series are meant to be displayed as graphs with time on the x-axis and some aggregate value on the y-axis. Since the underlying data is still in tabular form all table filters work on time-series as well.

Note that this time-series API does not fill gaps. That means when the underlying table contains no data for a particular time interval, the corresponding time-series row will be missing. Clients should be prepared for this case and fill gaps if required.

Intervals between timestamps are equally spaced and can be controlled by the collapse query parameter, i.e. 1d means each interval contains 24 hours of aggregated data. Time-series data can contain fields of all supported numeric data types (e.g. no strings or binary data). The aggregation function is fixed by the semantics of the data type. This may either be a sum, a count, first, last, min, max or mean value.

List of Time-series​

EndpointTime-Series Content
GET /series/balancehistoric end-of-block balances for all accounts
GET /series/blockaggregated block data
GET /series/flowaggregated balances, freezer and delegation flows
GET /series/opaggregated operations data
GET /series/chainrunning total counters for on-chain operations, accounts and rolls
GET /series/supplyrunning supply totals

Query Arguments​

Time-series datasets support the following query parameters.

ArgumentDescription
columns optionalComma separated list of columns you like to fetch. Bulk array results will be ordered accordingly. Default is all defined columns for a series.
collapse optionalAggregate numeric data over different sampling intervals. Supported values are 1m (default), 5m, 15m, 30m, 1h, 2h, 3h, 4h, 6h, 12h, 1d, 1w, 1M, 3Mand 1y.
order optionalReturn data in asc (ascending) or desc (descending) order. Default is asc.
limit optionalMaximum number of aggregated results returned. Limited to 50,000, default 500.
start_date optionalStart of the time range to query. See timestamps for syntax.
end_date optionalEnd of the time range to query. See timestamps for syntax.

When only start or end date are provided, the other end of the range is deducted from collapse and limit. I.e. with collapse of 1d and limit of 30 you'll get 30 days of data after start_date or before end_date. Called without any optional parameters a query defaults to the most recent 500 minutes (end_date=now, limit=500 and collapse=1m).

Query Filters​

Time-series support the same filters used on tables with the same filter expressions of form <column>.<operator>=<arg>. Filters can be used on all table fields, including fields that are not part of the aggregated result such as addresses and type enums.