curl --request GET \
--url https://api.wirespeed.co/v1/billing/stats \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.wirespeed.co/v1/billing/stats"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.wirespeed.co/v1/billing/stats', 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.wirespeed.co/v1/billing/stats",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.wirespeed.co/v1/billing/stats"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.wirespeed.co/v1/billing/stats")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wirespeed.co/v1/billing/stats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"billableEndpoints": 123,
"billableUsers": 123,
"premiumIngestedBytes": "<string>",
"ingestedBytes": "<string>",
"premiumIntegrations": 123
}{
"message": "<string>",
"statusCode": 123,
"code": "<string>",
"params": {},
"validationErrors": [
{
"property": "<string>",
"constraint": "<string>",
"params": {},
"code": "<string>"
}
]
}Get billing statistics
Returns usage for the current team from nightly usage snapshots. Billable endpoint, billable user, and premium integration counts come from the latest snapshot in the range. Ingested byte totals sum the ingestion days in the range; snapshots only include ingestion volume starting October 1, 2026. startDate and endDate are inclusive UTC ISO 8601 date-time strings, the range can be at most one year, and omitting both dates covers all snapshots. Byte totals are int64 values encoded as strings.
curl --request GET \
--url https://api.wirespeed.co/v1/billing/stats \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.wirespeed.co/v1/billing/stats"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.wirespeed.co/v1/billing/stats', 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.wirespeed.co/v1/billing/stats",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.wirespeed.co/v1/billing/stats"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.wirespeed.co/v1/billing/stats")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wirespeed.co/v1/billing/stats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"billableEndpoints": 123,
"billableUsers": 123,
"premiumIngestedBytes": "<string>",
"ingestedBytes": "<string>",
"premiumIntegrations": 123
}{
"message": "<string>",
"statusCode": 123,
"code": "<string>",
"params": {},
"validationErrors": [
{
"property": "<string>",
"constraint": "<string>",
"params": {},
"code": "<string>"
}
]
}Authorizations
Team API key sent as a Bearer token. Create a key in Wirespeed under Settings → Team. See https://docs.wirespeed.co/api-reference/authentication.
Query Parameters
Start date (inclusive, ISO8601 string)
End date (inclusive, ISO8601 string)
Response
Sum of premium ingested bytes across snapshots in the date range
Sum of ingested bytes across snapshots in the date range

