curl --request GET \
--url https://api.instantly.ai/api/v2/accounts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.instantly.ai/api/v2/accounts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.instantly.ai/api/v2/accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.get("https://api.instantly.ai/api/v2/accounts")
.header("Authorization", "Bearer <token>")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.instantly.ai/api/v2/accounts",
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.instantly.ai/api/v2/accounts"
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))
}{
"items": [
{
"email": "user@example.com",
"timestamp_created": "2026-09-08T20:57:57.821Z",
"timestamp_updated": "2026-09-08T20:57:57.821Z",
"first_name": "John",
"last_name": "Doe",
"organization": "01a082d0-333e-7808-825e-4a7b0eccde75",
"warmup_status": 1,
"provider_code": 2,
"setup_pending": false,
"is_managed_account": false,
"warmup": {
"limit": 100,
"advanced": {
"warm_ctd": false,
"open_rate": 0.95,
"important_rate": 0.8,
"read_emulation": true,
"spam_save_rate": 0.02,
"weekday_only": true
},
"warmup_custom_ftag": "warmup",
"increment": "disabled",
"reply_rate": 0.1
},
"added_by": "01a082d0-333d-7c73-be74-5901d9768a32",
"daily_limit": 100,
"daily_limit_max": 100,
"warmup_limit_max": 100,
"modified_by": "01a082d0-333e-7808-825e-4a7a50c53e2d",
"tracking_domain_name": "example.com",
"tracking_domain_status": "active",
"status": 1,
"enable_slow_ramp": false,
"inbox_placement_test_limit": 10,
"status_message": {
"code": "EENVELOPE",
"command": "DATA",
"response": "550-5.4.5 Daily user sending limit exceeded. For more information on Gmai",
"e_message": "error: data command failed: 550-5.4.5 daily user sending limit exceeded",
"responseCode": 550
},
"timestamp_warmup_start": "2026-09-08T20:57:57.822Z",
"stat_warmup_score": 85,
"sending_gap": 10,
"signature": "Best regards, John Doe",
"reply_to": "reply@example.com",
"autofix_failed": false,
"tags": [
{
"id": "01a082d0-82f9-740e-9d86-8c2a11e3f24a",
"label": "Important tag",
"description": null
}
]
}
],
"next_starting_after": "01a082d0-82f9-740e-9d86-8c2b78fc758e"
}{
"statusCode": 401,
"error": "Unauthorized",
"message": "Missing Authorization header"
}{
"statusCode": 402,
"error": "Payment Required",
"message": "Workspace does not have an active paid plan"
}{
"statusCode": 404,
"error": "Not Found",
"message": "Resource not found"
}{
"statusCode": 429,
"error": "Too Many Requests",
"message": "Rate limit exceeded"
}List account
Requires one of the following scopes: accounts:read, accounts:all, all:read, all:all
curl --request GET \
--url https://api.instantly.ai/api/v2/accounts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.instantly.ai/api/v2/accounts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.instantly.ai/api/v2/accounts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.get("https://api.instantly.ai/api/v2/accounts")
.header("Authorization", "Bearer <token>")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.instantly.ai/api/v2/accounts",
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.instantly.ai/api/v2/accounts"
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))
}{
"items": [
{
"email": "user@example.com",
"timestamp_created": "2026-09-08T20:57:57.821Z",
"timestamp_updated": "2026-09-08T20:57:57.821Z",
"first_name": "John",
"last_name": "Doe",
"organization": "01a082d0-333e-7808-825e-4a7b0eccde75",
"warmup_status": 1,
"provider_code": 2,
"setup_pending": false,
"is_managed_account": false,
"warmup": {
"limit": 100,
"advanced": {
"warm_ctd": false,
"open_rate": 0.95,
"important_rate": 0.8,
"read_emulation": true,
"spam_save_rate": 0.02,
"weekday_only": true
},
"warmup_custom_ftag": "warmup",
"increment": "disabled",
"reply_rate": 0.1
},
"added_by": "01a082d0-333d-7c73-be74-5901d9768a32",
"daily_limit": 100,
"daily_limit_max": 100,
"warmup_limit_max": 100,
"modified_by": "01a082d0-333e-7808-825e-4a7a50c53e2d",
"tracking_domain_name": "example.com",
"tracking_domain_status": "active",
"status": 1,
"enable_slow_ramp": false,
"inbox_placement_test_limit": 10,
"status_message": {
"code": "EENVELOPE",
"command": "DATA",
"response": "550-5.4.5 Daily user sending limit exceeded. For more information on Gmai",
"e_message": "error: data command failed: 550-5.4.5 daily user sending limit exceeded",
"responseCode": 550
},
"timestamp_warmup_start": "2026-09-08T20:57:57.822Z",
"stat_warmup_score": 85,
"sending_gap": 10,
"signature": "Best regards, John Doe",
"reply_to": "reply@example.com",
"autofix_failed": false,
"tags": [
{
"id": "01a082d0-82f9-740e-9d86-8c2a11e3f24a",
"label": "Important tag",
"description": null
}
]
}
],
"next_starting_after": "01a082d0-82f9-740e-9d86-8c2b78fc758e"
}{
"statusCode": 401,
"error": "Unauthorized",
"message": "Missing Authorization header"
}{
"statusCode": 402,
"error": "Payment Required",
"message": "Workspace does not have an active paid plan"
}{
"statusCode": 404,
"error": "Not Found",
"message": "Resource not found"
}{
"statusCode": 429,
"error": "Too Many Requests",
"message": "Rate limit exceeded"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
The number of items to return
1 <= x <= 10010
Pagination cursor from next_starting_after, in timestamp_created&email format. Legacy ISO date-time cursor is still supported.
"2026-01-01T00:00:00.000Z&jon@doe.com"
"gmail.com"
1, 2, 3, -1, -2, -3 1
1, 2, 3, 4, 8, 11 2
Filter accounts by tag ids. Returns accounts that have any of the specified tags assigned. You can specify multiple tag ids by separating them with a comma.
"01a082d0-82f9-740e-9d86-8c26103dc7d5, 01a082d0-82f9-740e-9d86-8c273d97bc10"
Filter accounts by tag ids with AND logic. Returns only accounts that have all of the specified tags assigned. You can specify multiple tag ids by separating them with a comma.
"01a082d0-82f9-740e-9d86-8c28fb551f86, 01a082d0-82f9-740e-9d86-8c29e8a79d98"
Include tags in the response. If true, the response will include the tags assigned to each account.
true
The filter to apply to the accounts.
ACC_FILTER_PAUSED, ACC_FILTER_ERROR, ACC_FILTER_NO_CTD, ACC_FILTER_PW_ACCOUNTS, ACC_FILTER_DFY, ACC_FILTER_DFY_SETUP_PENDING, ACC_FILTER_W_ACTIVE, ACC_FILTER_W_PAUSED, ACC_FILTER_W_ERROR "ACC_FILTER_PAUSED"
Column to sort results by.
timestamp_created, email, stat_warmup_score, status "stat_warmup_score"
Sort direction. Defaults to desc when sort_by is provided.
asc, desc "desc"
Number of items to skip for offset-based pagination. Used with sort_by when cursor pagination is not available.
x >= 00
Response
The list of Account
The list of Account
Show child attributes
Show child attributes
The filter for getting the next items after this one, this could either be a UUID, a timestamp, on an email depending on the specific API
"01a082d0-82f9-740e-9d86-8c2b78fc758e"
"2026-09-08T20:58:18.233Z"