curl -X GET "https://smartservers.smartlead.ai/api/v1/smart-server/?withCampaignData=true&api_key=YOUR_KEY"
import requests
response = requests.get(
"https://smartservers.smartlead.ai/api/v1/smart-server/",
params={"api_key": "YOUR_API_KEY", "withCampaignData": "true"}
)
for server in response.json()["data"]:
print(server["id"], server["ip"], server["campaignCount"])
const API_KEY = 'YOUR_API_KEY';
const response = await fetch(
`https://smartservers.smartlead.ai/api/v1/smart-server/?withCampaignData=true&api_key=${API_KEY}`
);
const { data } = await response.json();
data.forEach((server) => console.log(server.id, server.ip, server.campaignCount));
{
"statusCode": 200,
"success": true,
"message": "Fetched the list of smart servers",
"data": [
{
"id": 907,
"ip": "203.0.113.24",
"alias_name": "outreach-us-1",
"client_id": 31,
"createdAt": "2026-08-14T09:21:07.000Z",
"campaignCount": 2,
"campaigns": [
{ "id": 5614, "name": "Q4 Outbound - US" },
{ "id": 5615, "name": "Q4 Outbound - EU" }
],
"client_details": { "id": 31, "name": "Acme Corp" },
"region_name": "US East"
}
]
}
{
"statusCode": 401,
"success": false,
"message": "Unauthorized",
"error": "Invalid API Key"
}
Smart Servers
List SmartServers
List your Single SmartInfra servers (dedicated IPs), optionally with the campaigns using each one
GET
/
api
/
v1
/
smart-server
/
curl -X GET "https://smartservers.smartlead.ai/api/v1/smart-server/?withCampaignData=true&api_key=YOUR_KEY"
import requests
response = requests.get(
"https://smartservers.smartlead.ai/api/v1/smart-server/",
params={"api_key": "YOUR_API_KEY", "withCampaignData": "true"}
)
for server in response.json()["data"]:
print(server["id"], server["ip"], server["campaignCount"])
const API_KEY = 'YOUR_API_KEY';
const response = await fetch(
`https://smartservers.smartlead.ai/api/v1/smart-server/?withCampaignData=true&api_key=${API_KEY}`
);
const { data } = await response.json();
data.forEach((server) => console.log(server.id, server.ip, server.campaignCount));
{
"statusCode": 200,
"success": true,
"message": "Fetched the list of smart servers",
"data": [
{
"id": 907,
"ip": "203.0.113.24",
"alias_name": "outreach-us-1",
"client_id": 31,
"createdAt": "2026-08-14T09:21:07.000Z",
"campaignCount": 2,
"campaigns": [
{ "id": 5614, "name": "Q4 Outbound - US" },
{ "id": 5615, "name": "Q4 Outbound - EU" }
],
"client_details": { "id": 31, "name": "Acme Corp" },
"region_name": "US East"
}
]
}
{
"statusCode": 401,
"success": false,
"message": "Unauthorized",
"error": "Invalid API Key"
}
SmartServers API: Dedicated IP infrastructure feature. Contact support@smartlead.ai for access.
Overview
Returns the active dedicated IPs on the Single SmartInfra tab of your dashboard. Use theid of a server as the server_id when assigning it to campaigns.
Pass withCampaignData=true to also get, for each server, how many campaigns use it, which campaigns those are, and the client it belongs to.
Servers that belong to a Multi SmartInfra are not listed here. Assign those through their
infra_id instead.Query Parameters
string
required
Your SmartLead API key
string
Set to
true to include campaignCount, campaigns, client_details and region_name for each serverstring
Set to
true to return only servers that are not assigned to any campaign or client. Takes precedence over withCampaignData.curl -X GET "https://smartservers.smartlead.ai/api/v1/smart-server/?withCampaignData=true&api_key=YOUR_KEY"
import requests
response = requests.get(
"https://smartservers.smartlead.ai/api/v1/smart-server/",
params={"api_key": "YOUR_API_KEY", "withCampaignData": "true"}
)
for server in response.json()["data"]:
print(server["id"], server["ip"], server["campaignCount"])
const API_KEY = 'YOUR_API_KEY';
const response = await fetch(
`https://smartservers.smartlead.ai/api/v1/smart-server/?withCampaignData=true&api_key=${API_KEY}`
);
const { data } = await response.json();
data.forEach((server) => console.log(server.id, server.ip, server.campaignCount));
Response Fields
array
One entry per server
Show server
Show server
number
Server ID. Pass this as
server_id when assigning campaigns.string
Dedicated IP address
string
Display name of the server
number | null
Client the server belongs to, if any
string
When the server was created
number
Number of campaigns using the server. Only with
withCampaignData=true.array
{ id, name } of each campaign using the server. Only with withCampaignData=true.object | null
{ id, name } of the server’s client. Only with withCampaignData=true.string
Region the server is hosted in. Only with
withCampaignData=true.Response Codes
Success
Servers returned. An account with no servers returns an empty
data array.Unauthorized
Invalid or missing API key. Check your authentication.
{
"statusCode": 200,
"success": true,
"message": "Fetched the list of smart servers",
"data": [
{
"id": 907,
"ip": "203.0.113.24",
"alias_name": "outreach-us-1",
"client_id": 31,
"createdAt": "2026-08-14T09:21:07.000Z",
"campaignCount": 2,
"campaigns": [
{ "id": 5614, "name": "Q4 Outbound - US" },
{ "id": 5615, "name": "Q4 Outbound - EU" }
],
"client_details": { "id": 31, "name": "Acme Corp" },
"region_name": "US East"
}
]
}
{
"statusCode": 401,
"success": false,
"message": "Unauthorized",
"error": "Invalid API Key"
}
