API Explorer (2.0.0)

The entire API V2 documentation is interactive and can be tested here. To the right side of every endpoint you will see a box with an example request. You can click on the "Try it" button to send a request to the server right from the docs. You will need to provide an API key by clicking the ApiKeyAuth_token blue text.

Languages
Servers
Instantly API Server

https://api.instantly.ai/

Mock server

https://developer.instantly.ai/_mock/api/v2/

Analytics

Endpoints related to analytics

Operations

Account

An email account that can be used to send campaigns

Operations

Campaign

A campaign that can be sent to a list of recipients

Operations

Search campaigns by lead email

Request

Requires one of the following scopes: campaigns:read, campaigns:all, all:read, all:all

Query
searchstring

Search by lead email

Example: search=lead-email@example.com
sort_columnstring

Sort campaigns by column name

Default "timestamp_created"
Example: sort_column=timestamp_created
sort_orderstring

Sort direction

Default "asc"
Example: sort_order=asc
curl -i -X GET \
  'https://api.instantly.ai/api/v2/campaigns/search-by-contact?search=lead-email%40example.com&sort_column=timestamp_created&sort_order=asc' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Default Response

Bodyapplication/json
itemsArray of objects(Campaign)
Response
application/json
{ "items": [ { … } ] }

Get campaign(s) analytics

Request

Get analytics for one or multiple campaigns. Specify the id field to get the analytics for a single campaign, or leave it empty to get the analytics for all campaigns

Query
idstring(uuid)

A campaign ID to get the analytics for. Leave this field empty to get the analytics for all campaigns

Example: id=019a17f3-6af4-7015-8672-50354b7356c7
idsArray of strings(uuid)
Example: ids=019a17f3-6af4-7015-8672-5036b759c01c
start_datestring

Start date

Example: start_date=2024-01-01
end_datestring

End date

Example: end_date=2024-01-01
exclude_total_leads_countboolean

Exclude the total leads from the result. Setting this to true will considerably decrease the response time

Default false
Example: exclude_total_leads_count=true
curl -i -X GET \
  'https://api.instantly.ai/api/v2/campaigns/analytics?end_date=2024-01-01&exclude_total_leads_count=true&id=019a17f3-6af4-7015-8672-50354b7356c7&ids=019a17f3-6af4-7015-8672-5036b759c01c&start_date=2024-01-01' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Default Response

Bodyapplication/jsonArray [
campaign_namestringrequired

The name of the campaign

Example: "My Test Campaign"
campaign_idstring(uuid)required

The ID of the campaign

Example: "019a17f3-6af5-795b-aacb-069a2e0d5e1d"
campaign_statusnumberrequired

The campaign status

Enum ValueDescription
0

Draft

1

Active

2

Paused

3

Completed

4

Running Subsequences

-99

Account Suspended

-1

Accounts Unhealthy

-2

Bounce Protect

Example: 1
campaign_is_evergreenbooleanrequired

Whether the campaign is evergreen

Example: true
leads_countintegerrequired

The total number of leads

Example: 1500
contacted_countintegerrequired

Number of leads for whom the sequence has started

Example: 1200
open_countintegerrequired

The number of leads that opened at least one email

Example: 800
reply_countintegerrequired

The number of leads that replied to at least one email

Example: 300
link_click_countintegerrequired

The number of links that got clicked

Example: 800
bounced_countintegerrequired

The number of bounced leads

Example: 50
unsubscribed_countintegerrequired

The number of unsubscribed leads

Example: 20
completed_countintegerrequired

The number of leads that the campaign was completed for

Example: 1100
emails_sent_countintegerrequired

The total number of sent emails

Example: 5000
new_leads_contacted_countintegerrequired

The total number of new leads contacted

Example: 200
total_opportunitiesintegerrequired

The total number of unique opportunities created

Example: 10
total_opportunity_valuenumberrequired

The total value of opportunities created

Example: 1000
]
Response
application/json
[ { "campaign_name": "My Test Campaign", "campaign_id": "019a17f3-6af5-795b-aacb-069a2e0d5e1d", "campaign_status": 1, "campaign_is_evergreen": true, "leads_count": 1500, "contacted_count": 1200, "open_count": 800, "reply_count": 300, "link_click_count": 800, "bounced_count": 50, "unsubscribed_count": 20, "completed_count": 1100, "emails_sent_count": 5000, "new_leads_contacted_count": 200, "total_opportunities": 10, "total_opportunity_value": 1000 } ]

Get campaign(s) analytics overview

Request

Get analytics overview for one or multiple campaigns. Specify the id field to get the analytics overview for a single campaign, or leave it empty to get the analytics overview for all campaigns.

Note regarding the interest status totals (interested, meeting booked, meeting completed, closed): these are calculated based on the first occurrence of each event per contact by default. To change this behavior and calculate the totals based on all occurrences of the events, set the expand_crm_events parameter to true. Additionally, there is a 10 minute time window after you change a lead status in which the subsequent updates will NOT insert new analytics events to avoid duplicates from rapid status changes and avoid false inflation of the analytics numbers.

Query
idstring(uuid)

A campaign ID to get the analytics overview for. Leave this field empty to get the analytics overview for all campaigns

Example: id=019a17f3-6af5-795b-aacb-069b8c6c7861
idsArray of strings(uuid)
Example: ids=019a17f3-6af5-795b-aacb-069c4862c19a
start_datestring

Start date

Example: start_date=2024-01-01
end_datestring

End date

Example: end_date=2024-01-01
campaign_statusnumber

Filter by campaign status (only the analytics for the campaigns with the specified status will be returned)

Enum ValueDescription
0

Draft

1

Active

2

Paused

3

Completed

4

Running Subsequences

-99

Account Suspended

-1

Accounts Unhealthy

-2

Bounce Protect

Example: campaign_status=1
expand_crm_eventsboolean

When true, calculates the total of all the lead interest status update events instead of only the first occurrence for each contact. This will affect the following fields: total_opportunities, total_interested, total_meeting_booked, total_meeting_completed, and total_closed. Example: if a lead goes from interested to meeting booked to closed, it will count as 3 events (total_interested: 1, total_meeting_booked_1, and total_closed: 1) when this parameter is set to true, and as 1 event (total_interested) when it is set to false (default).

Default false
Example: expand_crm_events=true
curl -i -X GET \
  'https://api.instantly.ai/api/v2/campaigns/analytics/overview?campaign_status=1&end_date=2024-01-01&expand_crm_events=true&id=019a17f3-6af5-795b-aacb-069b8c6c7861&ids=019a17f3-6af5-795b-aacb-069c4862c19a&start_date=2024-01-01' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Default Response

Bodyapplication/json
open_countinteger

The total number of times the emails were opened, including duplicates

Example: 800
open_count_uniqueinteger

The number of emails that got opened (for the first time only)

Example: 800
open_count_unique_by_stepinteger

The unique number of times the emails were opened (counted once per lead, step, and campaign)

Example: 800
link_click_countinteger

The number of links that got clicked

Example: 800
link_click_count_uniqueinteger

The number of links that got clicked (for the first time)

Example: 800
link_click_count_unique_by_stepinteger

The unique number of links that got clicked, per step (counted once per lead, step, and campaign)

Example: 800
reply_countinteger

The number of leads that replied to at least one email

Example: 300
reply_count_uniqueinteger

The number of leads that replied to at least one email (for the first time only)

Example: 300
reply_count_unique_by_stepinteger

The unique number of leads that replied to at least one email, per step (counted once per lead, step, and campaign)

Example: 300
bounced_countinteger

The number of bounced leads

Example: 50
unsubscribed_countinteger

The number of unsubscribed leads

Example: 20
completed_countinteger

The number of leads that the campaign was completed for

Example: 1100
emails_sent_countinteger

The total number of sent emails

Example: 5000
new_leads_contacted_countinteger

The total number of new leads contacted

Example: 200
total_opportunitiesinteger

The total number of unique opportunities created

Example: 10
total_opportunity_valuenumber

The total value of opportunities created

Example: 1000
total_interestedinteger

The total number of interested opportunities created

Example: 103
total_meeting_bookedinteger

The total number of meeting booked opportunities created

Example: 45
total_meeting_completedinteger

The total number of meeting completed opportunities created

Example: 12
total_closedinteger

The total number of closed opportunities created

Example: 10
Response
application/json
{ "open_count": 800, "open_count_unique": 800, "open_count_unique_by_step": 800, "link_click_count": 800, "link_click_count_unique": 800, "link_click_count_unique_by_step": 800, "reply_count": 300, "reply_count_unique": 300, "reply_count_unique_by_step": 300, "bounced_count": 50, "unsubscribed_count": 20, "completed_count": 1100, "emails_sent_count": 5000, "new_leads_contacted_count": 200, "total_opportunities": 10, "total_opportunity_value": 1000, "total_interested": 103, "total_meeting_booked": 45, "total_meeting_completed": 12, "total_closed": 10 }

Email

A campaign email, a reply, a manually sent email, or any other email that's visible in the Unibox

Operations

Email Verification

A single email verification

Operations

Lead List

A list used to store leads

Operations

Inbox Placement Test

An inbox placement test

Operations

Inbox Placement Analytics

Analytics data for individual emails in inbox placement tests

Operations

Inbox Placement Blacklist & SpamAssassin Report

Report data for an inbox placement test

Operations

API Key

API Key

Operations

Account Campaign Mapping

Account Campaign Mapping

Operations

Lead

A lead entity representing an individual lead

Operations

Background Job

A background job that can be used to perform long-running tasks

Operations

Custom Tag

A custom tag for organizing and categorizing accounts and campaigns. You can use them as filters in apis that list accounts and campaigns.

Operations

Block List Entry

A blocked email or domain

Operations

Lead Label

A custom label for categorizing and managing leads

Operations

Workspace

A workspace entity representing a workspace

Operations

SuperSearch Enrichment

An enrichment can take different forms, such as email enrichment or LinkedIn enrichment. Leads may be imported from SuperSearch using the dedicated endpoint, or enriched directly within a list or campaign by attaching an enrichment to it.

Operations

Workspace Group Member

A member of a workspace group. You can use the endpoints within this entity to manage the members of a workspace group.

Operations

Workspace Member

A member of a workspace with associated user details

Operations

Campaign Subsequence

A subsequence entity representing a follow-up sequence

Operations

Audit Log

Audit log records for tracking system activities

Operations

Webhook

A webhook subscription for receiving event notifications

Operations

Webhook Event

A webhook event that was sent or attempted to be sent

Operations

DFY Email Account Order

A Done-For-You email account order

Operations

Sales Flow

Manages how sales users view and interact with campaign and lead lists within the sales flow.

Schemas