curl -G "https://api.brightdata.com/unblocker/success_rate/example.com" \
--data-urlencode "from_datetime=2026-10-12" \
--data-urlencode "to_datetime=2026-10-19" \
--data-urlencode "url_pattern=/ip/" \
-H "Authorization: Bearer YOUR_API_KEY"import requests
url = "https://api.brightdata.com/unblocker/success_rate/example.com"
params = {
"from_datetime": "2026-10-12",
"to_datetime": "2026-10-19",
"url_pattern": "/ip/",
}
headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get(url, params=params, headers=headers, timeout=120)
print(response.json())const params = new URLSearchParams({
from_datetime: "2026-10-12",
to_datetime: "2026-10-19",
url_pattern: "/ip/",
});
const response = await fetch(`https://api.brightdata.com/unblocker/success_rate/example.com?${params}`, {
headers: { "Authorization": "Bearer YOUR_API_KEY" },
});
const data = await response.json();
console.log(data);<?php
$params = http_build_query([
"from_datetime" => "2026-10-12",
"to_datetime" => "2026-10-19",
"url_pattern" => "/ip/",
]);
$ch = curl_init("https://api.brightdata.com/unblocker/success_rate/example.com?" . $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer YOUR_API_KEY",
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;package main
import (
"fmt"
"io"
"net/http"
"net/url"
"time"
)
func main() {
params := url.Values{}
params.Set("from_datetime", "2026-10-12")
params.Set("to_datetime", "2026-10-19")
params.Set("url_pattern", "/ip/")
req, _ := http.NewRequest("GET", "https://api.brightdata.com/unblocker/success_rate/example.com?"+params.Encode(), nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{Timeout: 120 * time.Second}
res, err := client.Do(req)
if err != nil { panic(err) }
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
public class UnlockerSuccessRate {
public static void main(String[] args) throws Exception {
String query = "from_datetime=2026-10-12&to_datetime=2026-10-19&url_pattern=%2Fip%2F";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.brightdata.com/unblocker/success_rate/example.com?" + query))
.header("Authorization", "Bearer YOUR_API_KEY")
.timeout(Duration.ofSeconds(120))
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}require 'net/http'
require 'uri'
uri = URI.parse("https://api.brightdata.com/unblocker/success_rate/example.com")
uri.query = URI.encode_www_form(
from_datetime: "2026-10-12",
to_datetime: "2026-10-19",
url_pattern: "/ip/"
)
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer YOUR_API_KEY"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true, read_timeout: 120) { |http| http.request(request) }
puts response.body{
"example.com": 0.9638127990275274,
"time_p90": 19197,
"example.org": 0.9381671439729237,
"example.net": 1,
"example.pl": 0.9859154929577465,
"example.de": 0.9714285714285714
}"需要用户身份验证"Web Unlocker API 成功率
使用 Bright Data Web Unlocker API 成功率端点。GET /unblocker/success_rate/ 按域名返回成功率和 p90 响应时间。
curl -G "https://api.brightdata.com/unblocker/success_rate/example.com" \
--data-urlencode "from_datetime=2026-10-12" \
--data-urlencode "to_datetime=2026-10-19" \
--data-urlencode "url_pattern=/ip/" \
-H "Authorization: Bearer YOUR_API_KEY"import requests
url = "https://api.brightdata.com/unblocker/success_rate/example.com"
params = {
"from_datetime": "2026-10-12",
"to_datetime": "2026-10-19",
"url_pattern": "/ip/",
}
headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get(url, params=params, headers=headers, timeout=120)
print(response.json())const params = new URLSearchParams({
from_datetime: "2026-10-12",
to_datetime: "2026-10-19",
url_pattern: "/ip/",
});
const response = await fetch(`https://api.brightdata.com/unblocker/success_rate/example.com?${params}`, {
headers: { "Authorization": "Bearer YOUR_API_KEY" },
});
const data = await response.json();
console.log(data);<?php
$params = http_build_query([
"from_datetime" => "2026-10-12",
"to_datetime" => "2026-10-19",
"url_pattern" => "/ip/",
]);
$ch = curl_init("https://api.brightdata.com/unblocker/success_rate/example.com?" . $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer YOUR_API_KEY",
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;package main
import (
"fmt"
"io"
"net/http"
"net/url"
"time"
)
func main() {
params := url.Values{}
params.Set("from_datetime", "2026-10-12")
params.Set("to_datetime", "2026-10-19")
params.Set("url_pattern", "/ip/")
req, _ := http.NewRequest("GET", "https://api.brightdata.com/unblocker/success_rate/example.com?"+params.Encode(), nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
client := &http.Client{Timeout: 120 * time.Second}
res, err := client.Do(req)
if err != nil { panic(err) }
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
public class UnlockerSuccessRate {
public static void main(String[] args) throws Exception {
String query = "from_datetime=2026-10-12&to_datetime=2026-10-19&url_pattern=%2Fip%2F";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.brightdata.com/unblocker/success_rate/example.com?" + query))
.header("Authorization", "Bearer YOUR_API_KEY")
.timeout(Duration.ofSeconds(120))
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}require 'net/http'
require 'uri'
uri = URI.parse("https://api.brightdata.com/unblocker/success_rate/example.com")
uri.query = URI.encode_www_form(
from_datetime: "2026-10-12",
to_datetime: "2026-10-19",
url_pattern: "/ip/"
)
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer YOUR_API_KEY"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true, read_timeout: 120) { |http| http.request(request) }
puts response.body{
"example.com": 0.9638127990275274,
"time_p90": 19197,
"example.org": 0.9381671439729237,
"example.net": 1,
"example.pl": 0.9859154929577465,
"example.de": 0.9714285714285714
}"需要用户身份验证"time_p90,即第 90 百分位响应时间(单位为毫秒)。默认统计窗口为过去 7 天。
可以查询哪些域名?
在{domain} 路径段中传入单个域名或通配符:
example.com返回该域名的统计数据。example.*返回所有以example.开头的受监控域名的统计数据,例如example.org和example.de。*.example.com返回example.com下每个受监控子域名的统计数据,例如api.example.com。
如何按日期范围或 URL 筛选成功率?
添加可选的查询参数from_datetime、to_datetime 和 url_pattern。每个参数都可以单独使用,也可以组合使用:
from_datetime和to_datetime设置统计窗口。两者均接受 ISO 8601 UTC 日期(例如2026-10-12)或日期时间(例如2026-10-12T00:00:00Z)。仅传入日期时表示该日 UTC 零点,因此to_datetime=2026-10-19统计截至 10 月 18 日结束的请求。url_pattern仅保留 URL 包含该字符串的请求。匹配不区分大小写,并支持通配符域名。
/ip/ 的 example.com 请求的成功率和 p90 响应时间:
curl -G "https://api.brightdata.com/unblocker/success_rate/example.com" \
--data-urlencode "from_datetime=2026-10-12" \
--data-urlencode "to_datetime=2026-10-19" \
--data-urlencode "url_pattern=/ip/" \
-H "Authorization: Bearer YOUR_API_KEY"
time_p90 键:
{"example.com":0.9639765510503175,"time_p90":3347.98323864866}
响应包含哪些内容?
响应是一个 JSON 对象,包含两类键:- 每个域名一个键。 值为统计窗口内的成功率,范围从 0(没有请求成功)到 1(所有请求都成功)。
0.9639表示 96.39% 的请求成功。 time_p90。 统计窗口内请求的第 90 百分位(p90)响应时间,单位为毫秒。响应中只有一个time_p90值,而不是每个域名一个,通配符查询也是如此。
什么是 p90 响应时间?
p90 响应时间是指 90% 的请求在该时间内完成。time_p90 为 3347.98 表示 90% 的请求在 3,348 毫秒(约 3.3 秒)内完成,最慢的 10% 请求耗时更长。
在设置超时时间时,p90 比平均值更有参考价值,因为少数极慢的请求会拉高或拉低平均值。请将客户端超时时间设置为高于 time_p90 的值,确保至少 90% 的请求能够完成。
没有匹配数据时会怎样?
当没有请求与查询匹配时,端点返回 HTTP 200 和空对象{}。以下情况会出现这种结果:域名没有受监控的流量、url_pattern 未匹配任何请求 URL,或 from_datetime 等于或晚于 to_datetime。
授权
在 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?
路径参数
要查询的域名。可使用单个域名(例如 example.com),使用通配符 example.* 返回所有以 example. 开头的受监控域名,或使用 *.example.com 返回 example.com 下所有受监控子域名。
"example.com"
查询参数
统计窗口的开始时间,采用 ISO 8601 UTC 格式。可传入日期(例如 2026-10-12)或日期时间(例如 2026-10-12T00:00:00Z)。仅传入日期时表示该日 UTC 零点。from_datetime 可以单独使用,也可以与 to_datetime 一起使用。当 from_datetime 等于或晚于 to_datetime 时,响应为空对象 {}。
"2026-10-12"
统计窗口的结束时间,采用 ISO 8601 UTC 格式。可传入日期(例如 2026-10-19)或日期时间(例如 2026-10-19T00:00:00Z)。仅传入日期时表示该日 UTC 零点,因此 2026-10-19 统计截至 10 月 18 日结束的请求。to_datetime 可以单独使用,也可以与 from_datetime 一起使用。
"2026-10-19"
仅返回 URL 包含该字符串的请求的统计数据。匹配不区分大小写,因此 /ip/ 会匹配任何包含 /ip/ 或 /IP/ 的请求 URL。支持通配符域名,例如 example.*。没有匹配的请求 URL 时,响应为空对象 {}。
"/ip/"
响应
每个域名的成功率以及一个 time_p90 值。空对象 {} 表示没有请求与查询匹配。
此页面对您有帮助吗?