DNS Analytics API
Query DNS analytics data
This endpoint is currently in Public Preview. During the Preview, period changes may occur at any time.
Consider using our official clients to reduce the likelihood of breaking changes. If you are using or planning to use this endpoint we'd like to hear your feedback.
Queries and returns DNS Analytics data available for the provided query parameters:
GET /:account/dns_analytics
Parameters
Name | Type | Description |
---|---|---|
:account |
integer |
The account ID |
Groupings
Name | Description |
---|---|
:zone_name |
Group rows by zone name |
:date |
Group rows by date |
No groupings will be applied by default unless specified. Multiple groupings can be provided, separated by a comma.
Applying groupings to the query will add columns to the response payload.
Filters
Name | Default value | Description |
---|---|---|
:start_date |
31 days before the current date | Only include results starting from the provided date |
:end_date |
The day before the current date | Only include results up to the provided date |
Both dates are inclusive, and must be provided in ISO 8601 format (e.g. 2024-08-01
).
The maximum allowed date range is 31 days.
Sorting
For general information about sorting, please refer to the main guide.
Name | Description |
---|---|
zone_name |
Sort rows by zone name |
date |
Sort rows by date |
volume |
Sort rows by query volume |
The default sorting policy is by ascending date
, then ascending zone_name
.
Pagination
Pagination is supported in this endpoint:
- The default page size (
per_page
query parameter) is 1,000. - The maximum supported page size (
per_page
query parameter) is 10,000. - Please refer to the main guide.
Example: get total query volume data for the entire account
curl -H 'Authorization: Bearer <token>' \
-H 'Accept: application/json' \
https://api.dnsimple.com/v2/1385/dns_analytics
Example: get the top ten zones by volume in December, 2023
curl -H 'Authorization: Bearer <token>' \
-H 'Accept: application/json' \
https://api.dnsimple.com/v2/1385/dns_analytics?groupings=zone_name&sort=volume:desc&per_page=10&start_date=2023-12-01&end_date=2023-12-31
Example: get daily query volume for all zones in the account for the last 31 days, with custom sorting
curl -H 'Authorization: Bearer <token>' \
-H 'Accept: application/json' \
https://api.dnsimple.com/v2/1385/dns_analytics?groupings=date,zone_name&sort=date:desc,zone_name:asc
Response
Responds with HTTP 200.
Example
{
"data": {
"headers": [
"zone_name",
"date",
"volume"
],
"rows": [
[
"bar.com",
"2023-12-08",
1200
],
[
"bar.com",
"2023-12-09",
1200
],
[
"bar.com",
"2024-01-07",
1200
],
[
"bar.com",
"2024-01-08",
1200
],
[
"example.com",
"2023-12-08",
1200
],
[
"example.com",
"2023-12-09",
1200
],
[
"example.com",
"2024-01-07",
1200
],
[
"example.com",
"2024-01-08",
1200
],
[
"foo.com",
"2023-12-08",
1200
],
[
"foo.com",
"2023-12-09",
1200
],
[
"foo.com",
"2024-01-07",
1200
],
[
"foo.com",
"2024-01-08",
1200
]
]
},
"query": {
"account_id": 1,
"start_date": "2023-12-08",
"end_date": "2024-01-08",
"sort": "zone_name:asc,date:asc",
"page": 0,
"per_page": 100,
"groupings": "zone_name,date"
},
"pagination": {
"current_page": 0,
"per_page": 100,
"total_entries": 93,
"total_pages": 1
}
}
Errors
Responds with HTTP 401 if there are authentication issues.