Skip to main content
POST
/
timeseries
/
list
Python SDK
from cognite.client.data_classes.filters import Equals
is_numeric = Equals("is_string", False)
res = client.time_series.filter(filter=is_numeric, sort="external_id")

from cognite.client.data_classes.filters import Equals
from cognite.client.data_classes.time_series import TimeSeriesProperty, SortableTimeSeriesProperty
is_numeric = Equals(TimeSeriesProperty.is_string, False)
res = client.time_series.filter(filter=is_numeric, sort=SortableTimeSeriesProperty.external_id)
res = client.time_series.list(limit=5)

for ts in client.time_series:
    ts # do something with the time series

for ts_list in client.time_series(chunk_size=2500):
    ts_list # do something with the time series

from cognite.client.data_classes import filters
in_timezone = filters.Prefix(["metadata", "timezone"], "Europe")
res = client.time_series.list(advanced_filter=in_timezone, sort=("external_id", "asc"))

from cognite.client.data_classes import filters
from cognite.client.data_classes.time_series import TimeSeriesProperty, SortableTimeSeriesProperty
in_timezone = filters.Prefix(TimeSeriesProperty.metadata_key("timezone"), "Europe")
res = client.time_series.list(
    advanced_filter=in_timezone,
    sort=(SortableTimeSeriesProperty.external_id, "asc"))

from cognite.client.data_classes import filters
not_instrument_lvl5 = filters.And(
   filters.ContainsAny("labels", ["Level5"]),
   filters.Not(filters.ContainsAny("labels", ["Instrument"]))
)
res = client.time_series.list(asset_subtree_ids=[123456], advanced_filter=not_instrument_lvl5)
{
  "items": [
    {
      "id": 4503599627370496,
      "isString": true,
      "type": "<string>",
      "isStep": true,
      "createdTime": 1730204346000,
      "lastUpdatedTime": 1730204346000,
      "externalId": "<string>",
      "instanceId": {
        "space": "<string>",
        "externalId": "<string>"
      },
      "name": "<string>",
      "metadata": {},
      "unit": "<string>",
      "unitExternalId": "<string>",
      "assetId": 4503599627370496,
      "description": "<string>",
      "securityCategories": [
        123
      ],
      "dataSetId": 4503599627370496
    }
  ],
  "nextCursor": "<string>"
}

Authorizations

Authorization
string
header
required

Access token issued by the CDF project's configured identity provider. Access token must be an OpenID Connect token, and the project must be configured to accept OpenID Connect tokens. Use a header key of 'Authorization' with a value of 'Bearer $accesstoken'. The token can be obtained through any flow supported by the identity provider.

Body

application/json

Filter request for time series. Filters exact field matching or timestamp ranges inclusive min and max.

filter
object
advancedFilter
and · object

A query that matches items matching boolean combinations of other queries. It is built by nesting one or more Boolean clauses, each of which is one of and, or, and not. Each such clause contains one or more child clauses (though not can only have one). Each child clause can be either another Boolean clause or a leaf filter.

Example:
{
"or": [
{
"not": {
"and": [
{
"equals": {
"property": ["metadata", "manufacturer"],
"value": "acme"
}
},
{
"in": {
"property": ["name"],
"values": ["pump-1-temperature", "motor-9-temperature"]
}
},
{
"range": {
"property": ["dataSetId"],
"gte": 1,
"lt": 10
}
}
]
}
},
{
"and": [
{
"equals": { "property": ["assetId"], "value": 1234 }
},
{
"equals": {
"property": ["description"],
"value": "Temperature in Celsius"
}
}
]
}
]
}
limit
integer<int32>
default:100

Return up to this many results.

Required range: 1 <= x <= 1000
cursor
string
Example:

"4zj0Vy2fo0NtNMb229mI9r1V3YG5NBL752kQz1cKtwo"

partition
string

Splits the data set into N partitions. The attribute is specified as a "M/N" string, where M is a natural number in the interval of [1, N]. You need to follow the cursors within each partition in order to receive all the data.

To prevent unexpected problems and maximize read throughput, you should at most use 10 (N <= 10) partitions.

When using more than 10 partitions, CDF may reduce the number of partitions silently. For example, CDF may reduce the number of partitions to K = 10 so if you specify an X/N partition value where X = 8 and N = 20 - i.e. "partition": "8/20"- then CDF will change N to N = K = 10 and process the request. But if you specify the X/N partition value where X = 11 (X > K) and N = 20 - i.e. "partition": "11/20"- then CDF will reply with an empty result list and no cursor in the response.\

In future releases of the resource APIs, Cognite may reject requests if you specify more than 10 partitions. When Cognite enforces this behavior, the requests will result in a 400 Bad Request status.

Example:

"1/10"

sort
object[]

Sort by array of selected properties.

Required array length: 1 - 2 elements

Response

200 - application/json

Response with a list of time series matching the specified criteria.

A list of objects and possible cursors to get the next results page.

items
object[]
required
nextCursor
string

The cursor to get the next page of results (if available).

Last modified on April 23, 2026