Query analytics summary
analytics_query.summary(strdataset, AnalyticsQuerySummaryParams**kwargs) -> AnalyticsQuerySummaryResponse
POST/accounts/{account_id}/analytics/query/{dataset}/summary
Returns aggregate summary stats for a dataset. Includes current-period and previous-period totals for trend comparison.
Security
API Token
The preferred authorization scheme for interacting with the Cloudflare API. Create a token.
Example:
API Email + API Key
The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.
Example:
The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.
Example:
Accepted Permissions (at least one required)
Parameters
from_: Union[str, datetime]
The start of the query time range (inclusive). RFC3339 format with timezone is required (e.g. 2024-11-05T00:00:00Z).
formatdate-time
group_by: Sequence[str]
Specifies the column names to group results by. Requires valid columns for the target dataset.
Query analytics summary
import os
from datetime import datetime
from cloudflare import Cloudflare
client = Cloudflare(
api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted
)
response = client.analytics_query.summary(
dataset="access-logins",
account_id="023e105f4ecef8ad9ca31a8372d0c353",
filters=[],
from_=datetime.fromisoformat("2024-11-01T00:00:00"),
group_by=[],
stats=["attemptsTotal"],
to=datetime.fromisoformat("2024-11-08T00:00:00"),
)
print(response.current_total){
"errors": [],
"messages": [
{
"code": 1000,
"message": "API in beta: expect breaking changes."
}
],
"result": {
"currentTotal": [
{
"attemptsTotal": 48291
}
],
"previousTotal": [
{
"attemptsTotal": 41033
}
]
},
"success": true
}{
"errors": [
{
"code": 11005,
"message": "art.api.parameter.invalid"
}
],
"messages": [
{
"code": 1002,
"message": "Parameter 'from' has invalid value '2024-11-05 00:00:00'. Should be of type: 'RFC3339'"
}
],
"result": null,
"success": false
}{
"errors": [
{
"code": 11005,
"message": "art.api.parameter.invalid"
}
],
"messages": [
{
"code": 1000,
"message": "API in beta: expect breaking changes."
}
],
"result": null,
"success": false
}{
"errors": [
{
"code": 11003,
"message": "art.api.resource.insufficient_permissions"
}
],
"messages": [],
"result": null,
"success": false
}{
"errors": [
{
"code": 11003,
"message": "art.api.resource.insufficient_permissions"
}
],
"messages": [],
"result": null,
"success": false
}{
"errors": [
{
"code": 11003,
"message": "art.api.resource.insufficient_permissions"
}
],
"messages": [],
"result": null,
"success": false
}Returns Examples
{
"errors": [],
"messages": [
{
"code": 1000,
"message": "API in beta: expect breaking changes."
}
],
"result": {
"currentTotal": [
{
"attemptsTotal": 48291
}
],
"previousTotal": [
{
"attemptsTotal": 41033
}
]
},
"success": true
}{
"errors": [
{
"code": 11005,
"message": "art.api.parameter.invalid"
}
],
"messages": [
{
"code": 1002,
"message": "Parameter 'from' has invalid value '2024-11-05 00:00:00'. Should be of type: 'RFC3339'"
}
],
"result": null,
"success": false
}{
"errors": [
{
"code": 11005,
"message": "art.api.parameter.invalid"
}
],
"messages": [
{
"code": 1000,
"message": "API in beta: expect breaking changes."
}
],
"result": null,
"success": false
}{
"errors": [
{
"code": 11003,
"message": "art.api.resource.insufficient_permissions"
}
],
"messages": [],
"result": null,
"success": false
}{
"errors": [
{
"code": 11003,
"message": "art.api.resource.insufficient_permissions"
}
],
"messages": [],
"result": null,
"success": false
}{
"errors": [
{
"code": 11003,
"message": "art.api.resource.insufficient_permissions"
}
],
"messages": [],
"result": null,
"success": false
}