Get SafeHop Statistics
curl --request GET \
--url https://api.bunny.net/pullzone/{pullZoneId}/safehop/statistics \
--header 'AccessKey: <api-key>'import requests
url = "https://api.bunny.net/pullzone/{pullZoneId}/safehop/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/pullzone/{pullZoneId}/safehop/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/pullzone/{pullZoneId}/safehop/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/pullzone/{pullZoneId}/safehop/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/pullzone/{pullZoneId}/safehop/statistics")
.header("AccessKey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bunny.net/pullzone/{pullZoneId}/safehop/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{
"RequestsRetriedChart": {},
"RequestsSavedChart": {},
"TotalRequestsRetried": 123,
"TotalRequestsSaved": 123
}Statistics
Get SafeHop Statistics
GET
/
pullzone
/
{pullZoneId}
/
safehop
/
statistics
Get SafeHop Statistics
curl --request GET \
--url https://api.bunny.net/pullzone/{pullZoneId}/safehop/statistics \
--header 'AccessKey: <api-key>'import requests
url = "https://api.bunny.net/pullzone/{pullZoneId}/safehop/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/pullzone/{pullZoneId}/safehop/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/pullzone/{pullZoneId}/safehop/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/pullzone/{pullZoneId}/safehop/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/pullzone/{pullZoneId}/safehop/statistics")
.header("AccessKey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bunny.net/pullzone/{pullZoneId}/safehop/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{
"RequestsRetriedChart": {},
"RequestsSavedChart": {},
"TotalRequestsRetried": 123,
"TotalRequestsSaved": 123
}Authorizations
AccessKeybearer
API Access Key authorization header
Path Parameters
Id of a Pull Zone
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.
(Optional) If true, the statistics data will be returned in hourly groupping.
Response
The statistics data for the passed parameters.
The constructed chart of requests retried
Show child attributes
Show child attributes
The constructed chart of requests saved
Show child attributes
Show child attributes
The total number of retried requests
The total number of saved requests
Last modified on September 9, 2026