Search campaigns by lead email
curl --request GET \
--url https://api.instantly.ai/api/v2/campaigns/search-by-contact \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.instantly.ai/api/v2/campaigns/search-by-contact"
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/campaigns/search-by-contact', 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/campaigns/search-by-contact")
.header("Authorization", "Bearer <token>")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.instantly.ai/api/v2/campaigns/search-by-contact",
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/campaigns/search-by-contact"
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": [
{
"id": "019f985c-62ff-7158-967d-71a8669cdecc",
"name": "My First Campaign",
"status": 1,
"campaign_schedule": {
"schedules": [
{
"name": "My Schedule",
"timing": {
"from": "09:00",
"to": "17:00"
},
"days": {
"0": true,
"1": true,
"2": true,
"3": true,
"4": true,
"5": false,
"6": false
},
"timezone": "Etc/GMT+12"
}
],
"start_date": "2025-09-25",
"end_date": "2025-09-25"
},
"timestamp_created": "2026-07-25T08:20:19.327Z",
"timestamp_updated": "2026-07-25T08:20:19.327Z",
"pl_value": 100,
"is_evergreen": false,
"sequences": [
{
"steps": [
{
"type": "email",
"delay": 2,
"variants": [
{
"subject": "Hello {{firstName}}",
"body": "Hey {{firstName}},\n\nI hope you are doing well.",
"v_disabled": true
}
],
"delay_unit": "days",
"pre_delay": 2,
"pre_delay_unit": "days"
}
]
}
],
"email_gap": 10,
"random_wait_max": 10,
"text_only": false,
"first_email_text_only": false,
"email_list": [
"john@doe.com"
],
"daily_limit": 100,
"stop_on_reply": false,
"email_tag_list": [
"019f985c-62ff-7158-967d-71a95cfbb8ec"
],
"link_tracking": true,
"open_tracking": true,
"stop_on_auto_reply": false,
"daily_max_leads": 100,
"prioritize_new_leads": false,
"auto_variant_select": {},
"match_lead_esp": false,
"not_sending_status": 2,
"stop_for_company": false,
"core_variables": {},
"custom_variables": {},
"insert_unsubscribe_header": false,
"allow_risky_contacts": false,
"disable_bounce_protect": false,
"limit_emails_per_company_override": {
"daily_limit": 2
},
"cc_list": [
"john@doe.com"
],
"bcc_list": [
"john@doe.com"
],
"organization": "019f985c-62ff-7158-967d-71aaf0f64e82",
"owned_by": "019f985c-6300-7bee-acb9-9a68dfa217ef",
"ai_sdr_id": "019f985c-6300-7bee-acb9-9a69e7c17a0b",
"provider_routing_rules": [
{
"action": "send",
"recipient_esp": [
"all"
],
"sender_esp": [
"all"
]
}
]
}
]
}{
"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"
}Campaign
Search campaigns by lead email
Requires one of the following scopes: campaigns:read, campaigns:all, all:read, all:all
GET
/
api
/
v2
/
campaigns
/
search-by-contact
Search campaigns by lead email
curl --request GET \
--url https://api.instantly.ai/api/v2/campaigns/search-by-contact \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.instantly.ai/api/v2/campaigns/search-by-contact"
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/campaigns/search-by-contact', 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/campaigns/search-by-contact")
.header("Authorization", "Bearer <token>")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.instantly.ai/api/v2/campaigns/search-by-contact",
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/campaigns/search-by-contact"
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": [
{
"id": "019f985c-62ff-7158-967d-71a8669cdecc",
"name": "My First Campaign",
"status": 1,
"campaign_schedule": {
"schedules": [
{
"name": "My Schedule",
"timing": {
"from": "09:00",
"to": "17:00"
},
"days": {
"0": true,
"1": true,
"2": true,
"3": true,
"4": true,
"5": false,
"6": false
},
"timezone": "Etc/GMT+12"
}
],
"start_date": "2025-09-25",
"end_date": "2025-09-25"
},
"timestamp_created": "2026-07-25T08:20:19.327Z",
"timestamp_updated": "2026-07-25T08:20:19.327Z",
"pl_value": 100,
"is_evergreen": false,
"sequences": [
{
"steps": [
{
"type": "email",
"delay": 2,
"variants": [
{
"subject": "Hello {{firstName}}",
"body": "Hey {{firstName}},\n\nI hope you are doing well.",
"v_disabled": true
}
],
"delay_unit": "days",
"pre_delay": 2,
"pre_delay_unit": "days"
}
]
}
],
"email_gap": 10,
"random_wait_max": 10,
"text_only": false,
"first_email_text_only": false,
"email_list": [
"john@doe.com"
],
"daily_limit": 100,
"stop_on_reply": false,
"email_tag_list": [
"019f985c-62ff-7158-967d-71a95cfbb8ec"
],
"link_tracking": true,
"open_tracking": true,
"stop_on_auto_reply": false,
"daily_max_leads": 100,
"prioritize_new_leads": false,
"auto_variant_select": {},
"match_lead_esp": false,
"not_sending_status": 2,
"stop_for_company": false,
"core_variables": {},
"custom_variables": {},
"insert_unsubscribe_header": false,
"allow_risky_contacts": false,
"disable_bounce_protect": false,
"limit_emails_per_company_override": {
"daily_limit": 2
},
"cc_list": [
"john@doe.com"
],
"bcc_list": [
"john@doe.com"
],
"organization": "019f985c-62ff-7158-967d-71aaf0f64e82",
"owned_by": "019f985c-6300-7bee-acb9-9a68dfa217ef",
"ai_sdr_id": "019f985c-6300-7bee-acb9-9a69e7c17a0b",
"provider_routing_rules": [
{
"action": "send",
"recipient_esp": [
"all"
],
"sender_esp": [
"all"
]
}
]
}
]
}{
"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
Search by lead email
Example:
"lead-email@example.com"
Sort campaigns by column name
Example:
"timestamp_created"
Sort direction
Example:
"asc"
Response
Default Response
Show child attributes
Show child attributes
⌘I