cURL
curl --request GET \
--url https://api.brightdata.com/zone/cost \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.brightdata.com/zone/cost"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.brightdata.com/zone/cost', 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.brightdata.com/zone/cost",
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.brightdata.com/zone/cost"
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.brightdata.com/zone/cost")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brightdata.com/zone/cost")
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{
"ID": {
"back_m2": {
"bw": 0,
"cost": 0
},
"back_m1": {
"bw": 36557298,
"cost": 0
},
"back_m0": {
"bw": 1219004,
"cost": 0
},
"back_d2": {
"bw": 82190,
"cost": 0
},
"back_d1": {
"bw": 0,
"cost": 0
},
"back_d0": {
"bw": 0,
"cost": 0
}
}
}统计与用量
区域总费用与带宽
返回某个 Zone 在指定日期范围内的计费费用、带宽和使用统计,与控制面板的“使用情况概览”及发票数据保持一致。
GET
/
zone
/
cost
cURL
curl --request GET \
--url https://api.brightdata.com/zone/cost \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.brightdata.com/zone/cost"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.brightdata.com/zone/cost', 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.brightdata.com/zone/cost",
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.brightdata.com/zone/cost"
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.brightdata.com/zone/cost")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brightdata.com/zone/cost")
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{
"ID": {
"back_m2": {
"bw": 0,
"cost": 0
},
"back_m1": {
"bw": 36557298,
"cost": 0
},
"back_m0": {
"bw": 1219004,
"cost": 0
},
"back_d2": {
"bw": 82190,
"cost": 0
},
"back_d1": {
"bw": 0,
"cost": 0
},
"back_d0": {
"bw": 0,
"cost": 0
}
}
}to 参数不包含结束日期。 指定的日期不会包含在结果中。要匹配控制面板或发票中显示的某个完整自然月,请将 to 设置为下一个月的第一天。例如,from=2026-04-01&to=2026-05-01 将返回 2026 年 4 月的全部数据。此端点的范围仅限单个 zone,无法返回 Web Scraper API 或 Scraper Studio 的费用数据(这些费用以
dataset_id / collector ID 为键,而非以 zone 名称为键)。如需跨产品或 WSA / Scraper Studio 维度的费用明细,请使用 费用明细导出。将您的 API key 粘贴到授权字段中。要获取 API key,请创建账号,并查看如何生成新的 API key?
复现您的月度发票
要获取与控制面板和发票上完全一致的某个自然月计费用量,请将from 设置为该月第一天,将 to 设置为下一个月的第一天:
# 返回 2026 年 4 月的全部计费用量
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.brightdata.com/zone/cost?zone=YOUR_ZONE&from=2026-04-01&to=2026-05-01"
to=2026-04-30,将会漏掉当月最后一天。请始终将 to 设置为您希望包含的最后一天的下一天。
与原始请求日志对账
此端点返回的值是计费的真实数据来源,与控制面板的“使用情况概览”以及您的发票相匹配。如果将这些值与您自行采集的原始请求日志(例如转发到 Logz、CloudWatch 或其他系统的访问日志)进行比较,预计会有几个百分点的差异。原始日志可能记录到一些请求,但这些请求由于异步聚合时延或临时网络问题未被提交到计费数据库。您的发票始终反映此端点返回的值。相关端点
授权
在 Authorization 头中使用您的 Bright Data API Key 作为 Bearer token。
认证方法:
- 从 Bright Data 账户设置获取您的 API Key: https://brightdata.com/cp/setting/users
- 在请求的 Authorization 头中包含 API Key
- 格式:
Authorization: Bearer YOUR_API_KEY
示例:
Authorization: Bearer b5648e1096c6442f60a6c4bbbe73f8d2234d3d8324554bd6a7ec8f3f251f07df
了解如何获取 Bright Data API Key: https://docs.brightdata.com/cn/api-reference/authentication#如何生成新的-api-key?
响应
200 - application/json
成功
The response is of type object.
此页面对您有帮助吗?