cURL
curl --request POST \
--url https://api.brightdata.com/zone/ips/refresh \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"zone": "zone1",
"vips": [
"vip1",
"vip2"
],
"ips": [
"ip1",
"ip2"
],
"country": "<string>",
"country_city": "<string>"
}
'import requests
url = "https://api.brightdata.com/zone/ips/refresh"
payload = {
"zone": "zone1",
"vips": ["vip1", "vip2"],
"ips": ["ip1", "ip2"],
"country": "<string>",
"country_city": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
zone: 'zone1',
vips: ['vip1', 'vip2'],
ips: ['ip1', 'ip2'],
country: '<string>',
country_city: '<string>'
})
};
fetch('https://api.brightdata.com/zone/ips/refresh', 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/ips/refresh",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'zone' => 'zone1',
'vips' => [
'vip1',
'vip2'
],
'ips' => [
'ip1',
'ip2'
],
'country' => '<string>',
'country_city' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.brightdata.com/zone/ips/refresh"
payload := strings.NewReader("{\n \"zone\": \"zone1\",\n \"vips\": [\n \"vip1\",\n \"vip2\"\n ],\n \"ips\": [\n \"ip1\",\n \"ip2\"\n ],\n \"country\": \"<string>\",\n \"country_city\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.brightdata.com/zone/ips/refresh")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"zone\": \"zone1\",\n \"vips\": [\n \"vip1\",\n \"vip2\"\n ],\n \"ips\": [\n \"ip1\",\n \"ip2\"\n ],\n \"country\": \"<string>\",\n \"country_city\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brightdata.com/zone/ips/refresh")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"zone\": \"zone1\",\n \"vips\": [\n \"vip1\",\n \"vip2\"\n ],\n \"ips\": [\n \"ip1\",\n \"ip2\"\n ],\n \"country\": \"<string>\",\n \"country_city\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"vips": [
{
"vip": "tr_9121_07_antalya_10",
"country": "tr"
},
{
"vip": "tr_9121_07_antalya_17",
"country": "tr"
}
]
}Account Management API
Refresh static IPs (Datacenter/ISP)
Use the Bright Data Account Management API to refresh Static IPs (Datacenter/ISP) via POST /zone/ips/refresh, returning JSON zone or account data with 200 OK.
POST
/
zone
/
ips
/
refresh
cURL
curl --request POST \
--url https://api.brightdata.com/zone/ips/refresh \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"zone": "zone1",
"vips": [
"vip1",
"vip2"
],
"ips": [
"ip1",
"ip2"
],
"country": "<string>",
"country_city": "<string>"
}
'import requests
url = "https://api.brightdata.com/zone/ips/refresh"
payload = {
"zone": "zone1",
"vips": ["vip1", "vip2"],
"ips": ["ip1", "ip2"],
"country": "<string>",
"country_city": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
zone: 'zone1',
vips: ['vip1', 'vip2'],
ips: ['ip1', 'ip2'],
country: '<string>',
country_city: '<string>'
})
};
fetch('https://api.brightdata.com/zone/ips/refresh', 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/ips/refresh",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'zone' => 'zone1',
'vips' => [
'vip1',
'vip2'
],
'ips' => [
'ip1',
'ip2'
],
'country' => '<string>',
'country_city' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.brightdata.com/zone/ips/refresh"
payload := strings.NewReader("{\n \"zone\": \"zone1\",\n \"vips\": [\n \"vip1\",\n \"vip2\"\n ],\n \"ips\": [\n \"ip1\",\n \"ip2\"\n ],\n \"country\": \"<string>\",\n \"country_city\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.brightdata.com/zone/ips/refresh")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"zone\": \"zone1\",\n \"vips\": [\n \"vip1\",\n \"vip2\"\n ],\n \"ips\": [\n \"ip1\",\n \"ip2\"\n ],\n \"country\": \"<string>\",\n \"country_city\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brightdata.com/zone/ips/refresh")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"zone\": \"zone1\",\n \"vips\": [\n \"vip1\",\n \"vip2\"\n ],\n \"ips\": [\n \"ip1\",\n \"ip2\"\n ],\n \"country\": \"<string>\",\n \"country_city\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"vips": [
{
"vip": "tr_9121_07_antalya_10",
"country": "tr"
},
{
"vip": "tr_9121_07_antalya_17",
"country": "tr"
}
]
}Only users with Admin or Ops roles can perform this action.
Warning: This API can modify your account settings, damage your operations or incur charges.
Paste your API key to the authorization field. To get an API key, Create an account and learn how to generate an API key
Sample Response for Static IPs
{
"ips":[
"1.1.1.1",
"1.1.1.2",
"1.1.1.3"
],
"new_ips":[
"1.1.1.1",
"1.1.1.3"
]
}
Authorizations
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
Body
application/json
Zone name
Example:
"zone1"
IPs to refresh
Note: If refresh is needed for all allocated IPs, then vips parameter should be omitted.
Note: Only works for Dedicated Residential IPs
Example:
["vip1", "vip2"]
IPs to refresh
Note: If refresh is needed for all allocated IPs, then ips parameter should be omitted
Example:
["ip1", "ip2"]
new IPs' country (e.g. us)
new IPs' city (e.g. us-chicago)
Response
200 - application/json
OK
The response is of type object.
Was this page helpful?
⌘I