Get DNS Query Statistics
curl --request GET \
--url https://api.bunny.net/dnszone/{id}/statistics \
--header 'AccessKey: <api-key>'import requests
url = "https://api.bunny.net/dnszone/{id}/statistics"
headers = {"AccessKey": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {AccessKey: '<api-key>'}};
fetch('https://api.bunny.net/dnszone/{id}/statistics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bunny.net/dnszone/{id}/statistics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"AccessKey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bunny.net/dnszone/{id}/statistics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("AccessKey", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.bunny.net/dnszone/{id}/statistics")
.header("AccessKey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bunny.net/dnszone/{id}/statistics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["AccessKey"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"TotalQueriesServed": 123,
"QueriesServedChart": {},
"NormalQueriesServedChart": {},
"SmartQueriesServedChart": {},
"QueriesByTypeChart": {}
}DNS Zone
Get DNS Query Statistics
GET
/
dnszone
/
{id}
/
statistics
Get DNS Query Statistics
curl --request GET \
--url https://api.bunny.net/dnszone/{id}/statistics \
--header 'AccessKey: <api-key>'import requests
url = "https://api.bunny.net/dnszone/{id}/statistics"
headers = {"AccessKey": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {AccessKey: '<api-key>'}};
fetch('https://api.bunny.net/dnszone/{id}/statistics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.bunny.net/dnszone/{id}/statistics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"AccessKey: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bunny.net/dnszone/{id}/statistics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("AccessKey", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.bunny.net/dnszone/{id}/statistics")
.header("AccessKey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bunny.net/dnszone/{id}/statistics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["AccessKey"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"TotalQueriesServed": 123,
"QueriesServedChart": {},
"NormalQueriesServedChart": {},
"SmartQueriesServedChart": {},
"QueriesByTypeChart": {}
}Authorizations
AccessKeybearer
API Access Key authorization header
Path Parameters
The ID of the DNS Zone for which the statistics will be returned
Query Parameters
(Optional) The start date of the statistics. If no value is passed, the last 30 days will be returned
(Optional) The end date of the statistics. If no value is passed, the last 30 days will be returned
Response
Returns the statistics for the DNS Zone with the given ID
Last modified on September 1, 2026
Was this page helpful?