curl --request GET \
--url https://api.brightdata.com/unblocker/success_rate/example.com \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "Content-Type: application/json"import requests
url = "https://api.brightdata.com/unblocker/success_rate/example.com"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
}
response = requests.get(url, headers=headers)
print(response.json())const response = await fetch("https://api.brightdata.com/unblocker/success_rate/example.com", {
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
});
const data = await response.json();
console.log(data);<?php
$ch = curl_init("https://api.brightdata.com/unblocker/success_rate/example.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer YOUR_API_KEY",
"Content-Type: application/json",
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.brightdata.com/unblocker/success_rate/example.com", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.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;
public class UnlockerSuccessRate {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.brightdata.com/unblocker/success_rate/example.com"))
.header("Authorization", "Bearer YOUR_API_KEY")
.header("Content-Type", "application/json")
.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")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer YOUR_API_KEY"
request["Content-Type"] = "application/json"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(request) }
puts response.body{
"example.com": 0.9835548316870116,
"example.fr": 0.987469724604454,
"example.co.uk": 0.9503769840916476,
"example.ca": 0.9904893224078992,
"example.de": 0.9864620859972142
}{
"error": "User authentication is required"
}Web Unlocker API success rate
Use the Bright Data Web Unlocker API success rate endpoint. GET /unblocker/success_rate/ returns per-domain success rates by date range and URL.
curl --request GET \
--url https://api.brightdata.com/unblocker/success_rate/example.com \
--header "Authorization: Bearer YOUR_API_KEY" \
--header "Content-Type: application/json"import requests
url = "https://api.brightdata.com/unblocker/success_rate/example.com"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
}
response = requests.get(url, headers=headers)
print(response.json())const response = await fetch("https://api.brightdata.com/unblocker/success_rate/example.com", {
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
});
const data = await response.json();
console.log(data);<?php
$ch = curl_init("https://api.brightdata.com/unblocker/success_rate/example.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer YOUR_API_KEY",
"Content-Type: application/json",
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.brightdata.com/unblocker/success_rate/example.com", nil)
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.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;
public class UnlockerSuccessRate {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.brightdata.com/unblocker/success_rate/example.com"))
.header("Authorization", "Bearer YOUR_API_KEY")
.header("Content-Type", "application/json")
.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")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer YOUR_API_KEY"
request["Content-Type"] = "application/json"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(request) }
puts response.body{
"example.com": 0.9835548316870116,
"example.fr": 0.987469724604454,
"example.co.uk": 0.9503769840916476,
"example.ca": 0.9904893224078992,
"example.de": 0.9864620859972142
}{
"error": "User authentication is required"
}example.com to get one figure. Pass a wildcard such as example.* to get one figure for every monitored top-level domain of that name.
How do I filter success rates by date range or URL?
Add the optionalfrom_datetime, to_datetime and url_pattern query parameters. Each one works on its own or combined with the others:
from_datetimeandto_datetimeset the reporting window. Both accept an ISO 8601 UTC date such as2026-09-20or a date-time such as2026-09-20T00:00:00Z.url_patternkeeps only requests whose URL contains the string. The match is a case-insensitive substring match and works with wildcard domains.
example.com requests whose URL contains /ip/, between September 20 and September 24, 2026:
curl -G "https://api.brightdata.com/unblocker/success_rate/example.com" \
--data-urlencode "from_datetime=2026-09-20" \
--data-urlencode "to_datetime=2026-09-24" \
--data-urlencode "url_pattern=/ip/" \
-H "Authorization: Bearer YOUR_API_KEY"
from_datetime is later than to_datetime or when a date cannot be parsed.
Related guide: Web Unlocker API featuresAuthorizations
Use your Bright Data API Key as a Bearer token in the Authorization header.
How to authenticate:
- Obtain your API Key from the Bright Data account settings at https://brightdata.com/cp/setting/users
- Include the API Key in the Authorization header of your requests
- Format:
Authorization: Bearer YOUR_API_KEY
Example:
Authorization: Bearer b5648e1096c6442f60a6c4bbbe73f8d2234d3d8324554bd6a7ec8f3f251f07df
Learn how to get your Bright Data API key: https://docs.brightdata.com/api-reference/authentication
Path Parameters
Domain to report on. Use a single domain such as example.com, or a wildcard such as example.* to return every monitored top-level domain.
"example.com"
Query Parameters
Start of the reporting window, in ISO 8601 UTC format. Accepts a date such as 2026-09-20 or a date-time such as 2026-09-20T00:00:00Z. You can pass from_datetime on its own or together with to_datetime. The request fails when from_datetime is later than to_datetime or when a value cannot be parsed.
"2026-09-20T00:00:00Z"
End of the reporting window, in ISO 8601 UTC format. Accepts a date such as 2026-09-24 or a date-time such as 2026-09-24T00:00:00Z. You can pass to_datetime on its own or together with from_datetime.
"2026-09-24"
Return statistics only for requests whose URL contains this string. The match is a case-insensitive substring match, so /ip/ matches any request URL containing /ip/ or /IP/. Works with wildcard domains such as example.*.
"/ip/"
Response
OK
Map of domain to success rate over the reporting window, as a number between 0 and 1.
Was this page helpful?