Logo

Instantly

Authentication Type: API Key
Description: Email outreach and lead generation platform for managing campaigns, creating leads, and tracking email performance with comprehensive analytics.


Authentication

To authenticate, you'll need an Instantly API key. Learn how to get one in the Instantly Developer documentation.


Campaigns

Manage email outreach campaigns in Instantly with full CRUD operations.

List Campaigns

Retrieve a paginated list of campaigns from your Instantly workspace with optional filtering by status, tag, or AI sales agent.

Operation Type: Query (Read)

Parameters:

  • limit number (nullable): Maximum number of campaigns to return
  • starting_after string (nullable): Campaign ID for cursor-based pagination
  • search string (nullable): Search term to filter campaigns by name
  • tag_ids string (nullable): Comma-separated tag IDs to filter campaigns
  • ai_sales_agent_id string (nullable): Filter by AI sales agent ID
  • status number (nullable): Filter by campaign status

Returns:

  • items array of objects: Campaign objects with fields:
    • id string: Campaign unique identifier
    • name string: Campaign name
    • status number: Campaign status
    • timestamp_created string: Creation timestamp
    • timestamp_updated string: Last updated timestamp
    • organization string: Organization ID
    • pl_value string (nullable): Pipeline value
    • is_evergreen boolean (nullable): Whether the campaign is evergreen
    • daily_limit number (nullable): Daily email send limit
    • stop_on_reply boolean (nullable): Stop sending on reply
    • email_gap number (nullable): Gap between emails in minutes
    • random_wait_max number (nullable): Maximum random wait time
    • text_only boolean (nullable): Send text-only emails
    • email_list array of strings (nullable): Sending email addresses
    • link_tracking boolean (nullable): Track link clicks
    • open_tracking boolean (nullable): Track email opens
    • daily_max_leads number (nullable): Max new leads to contact per day
    • prioritize_new_leads boolean (nullable): Prioritize new leads
  • next_starting_after string (nullable): Cursor for the next page of results

Example Usage:

{
  "limit": 25,
  "starting_after": null,
  "search": "Q4 outreach",
  "status": 1
}

Get Campaign

Retrieve full details of a specific campaign by ID, including all configuration settings.

Operation Type: Query (Read)

Parameters:

  • id string (required): Unique identifier of the campaign to retrieve

Returns:

Campaign object with all fields from List Campaigns plus:

  • first_email_text_only boolean (nullable): Send first email as text-only
  • email_tag_list array of strings (nullable): Email tags associated with the campaign
  • stop_on_auto_reply boolean (nullable): Stop on auto-reply detection
  • auto_variant_select boolean (nullable): Automatically select best variant
  • match_lead_esp boolean (nullable): Match lead email service provider
  • stop_for_company boolean (nullable): Stop contacting leads from same company on reply
  • insert_unsubscribe_header boolean (nullable): Insert unsubscribe header in emails
  • allow_risky_contacts boolean (nullable): Allow contacts flagged as risky
  • disable_bounce_protect boolean (nullable): Disable bounce protection

Example Usage:

{
  "id": "camp_123456"
}

Create Campaign

Create a new email outreach campaign in Instantly with full configuration options.

Operation Type: Mutation (Write)

Parameters:

  • name string (required): Campaign name
  • campaign_schedule object (required): Schedule configuration object (see Instantly docs for structure)
  • pl_value string (nullable): Pipeline value for the campaign
  • is_evergreen boolean (nullable): Set campaign as evergreen
  • sequences object (nullable): Email sequence configuration
  • email_gap number (nullable): Minutes between emails
  • random_wait_max number (nullable): Maximum random wait time in minutes
  • text_only boolean (nullable): Send text-only emails
  • first_email_text_only boolean (nullable): Send first email as text-only
  • email_list array of strings (nullable): Sending email addresses
  • daily_limit number (nullable): Daily email send limit
  • stop_on_reply boolean (nullable): Stop sequence on reply
  • email_tag_list array of strings (nullable): Email tag IDs for this campaign
  • link_tracking boolean (nullable): Enable link click tracking
  • open_tracking boolean (nullable): Enable email open tracking
  • stop_on_auto_reply boolean (nullable): Stop on auto-reply detection
  • daily_max_leads number (nullable): Max new leads contacted per day
  • prioritize_new_leads boolean (nullable): Prioritize new leads over follow-ups
  • auto_variant_select boolean (nullable): Automatically select best A/B variant
  • match_lead_esp boolean (nullable): Match lead email service provider
  • stop_for_company boolean (nullable): Stop entire company on reply
  • insert_unsubscribe_header boolean (nullable): Insert unsubscribe header
  • allow_risky_contacts boolean (nullable): Allow risky contacts
  • disable_bounce_protect boolean (nullable): Disable bounce protection
  • cc_list array of strings (nullable): Addresses to CC on emails
  • bcc_list array of strings (nullable): Addresses to BCC on emails
  • owned_by string (nullable): User ID of the campaign owner

Returns:

  • Created campaign object (same structure as Get Campaign response)

Example Usage:

{
  "name": "Q1 2025 Outreach",
  "campaign_schedule": {
    "schedules": [
      {
        "name": "My Schedule",
        "timing": { "from": "08:00", "to": "17:00" },
        "days": {
          "sun": false,
          "mon": true,
          "tue": true,
          "wed": true,
          "thu": true,
          "fri": true,
          "sat": false
        },
        "timezone": "America/New_York"
      }
    ]
  },
  "daily_limit": 50,
  "stop_on_reply": true,
  "open_tracking": true,
  "link_tracking": true
}

Add Campaign Variables

Add custom variable names to an Instantly campaign, enabling personalization placeholders for use in email sequences.

Operation Type: Mutation (Write)

Parameters:

  • id string (required): Campaign ID to add variables to
  • variables array of strings (required): List of custom variable names to register on the campaign

Returns:

  • Updated campaign object (same structure as Get Campaign response)

Example Usage:

{
  "id": "camp_123456",
  "variables": ["company_size", "industry", "pain_point"]
}

Leads

Manage leads in your Instantly campaigns with full CRUD operations.

Create Lead

Create a new lead in Instantly with email, name, company information, and campaign association. Returns the created lead with all metadata.

Operation Type: Mutation (Write)

Parameters:

  • email string (required): Email address of the lead
  • first_name string (nullable): First name of the lead
  • last_name string (nullable): Last name of the lead
  • company_name string (nullable): Company name of the lead
  • phone string (nullable): Phone number of the lead
  • website string (nullable): Website of the lead
  • personalization string (nullable): Personalization note for the lead
  • campaign string (nullable): Campaign ID to associate the lead with
  • list_id string (nullable): List ID to associate the lead with
  • lt_interest_status number (nullable): Lead interest status (0=Out of Office, 1=Interested, 2=Meeting Booked, 3=Meeting Completed, 4=Closed, -1=Not Interested, -2=Wrong Person, -3=Lost)
  • pl_value_lead string (nullable): Potential value of the lead
  • assigned_to string (nullable): ID of the user assigned to the lead
  • skip_if_in_workspace boolean (nullable): Whether to skip if the lead is already in the workspace
  • skip_if_in_campaign boolean (nullable): Whether to skip if the lead is already in the campaign
  • skip_if_in_list boolean (nullable): Whether to skip if the lead is already in the list
  • blocklist_id string (nullable): The ID of the blocklist to check for the lead
  • verify_leads_for_lead_finder boolean (nullable): Whether to verify the leads for the lead finder
  • verify_leads_on_import boolean (nullable): Whether to verify the leads on import
  • custom_variables object (nullable): Custom variables - any metadata about the lead that is relevant to the campaign

Returns:

  • id string: Unique identifier for the lead
  • timestamp_created string: Timestamp when the lead was created
  • timestamp_updated string: Timestamp when the lead was last updated
  • organization string: Organization ID associated with the lead
  • status number: Status of the lead (1=Active, -1=Bounced, -2=Unsubscribed, -3=Skipped)
  • email_open_count number: Number of times the email was opened
  • email_reply_count number: Number of times the email was replied to
  • email_click_count number: Number of times the email was clicked
  • company_domain string: Company domain of the lead
  • campaign string (nullable): Campaign ID associated with the lead
  • email string (nullable): Email address of the lead
  • first_name string (nullable): First name of the lead
  • last_name string (nullable): Last name of the lead
  • company_name string (nullable): Company name of the lead
  • phone string (nullable): Phone number of the lead
  • verification_status number: Email verification status
  • list_id string (nullable): List ID associated with the lead

Example Usage:

{
  "email": "john.doe@example.com",
  "first_name": "John",
  "last_name": "Doe",
  "company_name": "Example Corp",
  "phone": "+1-555-123-4567",
  "website": "https://example.com",
  "personalization": "Saw your recent article on LinkedIn",
  "campaign": "camp_123456",
  "list_id": "list_789",
  "lt_interest_status": 1,
  "pl_value_lead": "$5000",
  "custom_variables": {
    "source": "linkedin",
    "industry": "technology"
  }
}

List Leads

Retrieve a paginated list of leads from your Instantly workspace with filtering options by campaign, list, status, and search terms.

Operation Type: Query (Read)

Parameters:

  • limit number (nullable): Number of leads to return (1-100)
  • starting_after string (nullable): ID of the last lead in the previous page for pagination
  • search string (nullable): Search term to filter leads
  • campaign_id string (nullable): Filter leads by campaign ID
  • list_id string (nullable): Filter leads by list ID
  • status array of numbers (nullable): Filter leads by status array

Returns:

  • items array of objects: Array of lead objects (same structure as Create Lead response)
  • next_starting_after string (nullable): ID for pagination to get next set of results

Example Usage:

{
  "limit": 50,
  "starting_after": null,
  "search": "acme",
  "campaign_id": "camp_123456",
  "list_id": null,
  "status": [1, -1]
}

Get Lead

Retrieve detailed information about a specific lead by its unique identifier, including engagement metrics and campaign associations.

Operation Type: Query (Read)

Parameters:

  • id string (required): Unique identifier of the lead to retrieve

Returns:

  • Lead object (same structure as Create Lead response)

Example Usage:

{
  "id": "lead_123456789"
}

Analytics

Campaign analytics insights, overview metrics, daily and per-step performance.

Get Campaign Analytics

Fetch aggregated campaign analytics for one or multiple campaigns over a date range.

Operation Type: Query (Read)

Parameters:

  • id string (nullable): Single campaign ID to get analytics for
  • ids array of strings (nullable): Array of campaign IDs to get analytics for
  • start_date string (nullable): Start date for analytics range
  • end_date string (nullable): End date for analytics range
  • exclude_total_leads_count boolean (nullable): Whether to exclude total leads count from results

Returns:

  • Array of campaign analytics objects:
    • campaign_name string (nullable): Campaign name
    • campaign_id string (nullable): Campaign ID
    • campaign_status number (nullable): Campaign status
    • campaign_is_evergreen boolean (nullable): Whether campaign is evergreen
    • leads_count number (nullable): Total leads count
    • contacted_count number (nullable): Number of leads contacted
    • open_count number (nullable): Number of email opens
    • reply_count number (nullable): Number of replies received
    • link_click_count number (nullable): Number of link clicks
    • bounced_count number (nullable): Number of bounced emails
    • unsubscribed_count number (nullable): Number of unsubscribes
    • completed_count number (nullable): Number of completed sequences
    • emails_sent_count number (nullable): Total emails sent
    • total_opportunities number (nullable): Total opportunities generated
    • total_opportunity_value number (nullable): Total value of opportunities

Example Usage:

{
  "ids": ["camp_123", "camp_456"],
  "start_date": "2024-12-01",
  "end_date": "2024-12-31",
  "exclude_total_leads_count": false
}

Get Campaign Analytics Overview

Fetch overall analytics overview across campaigns with optional status filtering.

Operation Type: Query (Read)

Parameters:

  • id string (nullable): Single campaign ID to get overview for
  • ids array of strings (nullable): Array of campaign IDs to get overview for
  • start_date string (nullable): Start date for overview range
  • end_date string (nullable): End date for overview range
  • campaign_status number (nullable): Filter by campaign status

Returns:

  • open_count number (nullable): Total opens count
  • open_count_unique number (nullable): Unique opens count
  • link_click_count number (nullable): Total link clicks
  • link_click_count_unique number (nullable): Unique link clicks
  • reply_count number (nullable): Total replies count
  • reply_count_unique number (nullable): Unique replies count
  • bounced_count number (nullable): Total bounced emails
  • unsubscribed_count number (nullable): Total unsubscribes
  • completed_count number (nullable): Total completed sequences
  • emails_sent_count number (nullable): Total emails sent
  • total_opportunities number (nullable): Total opportunities
  • total_opportunity_value number (nullable): Total opportunity value
  • total_interested number (nullable): Total interested leads
  • total_meeting_booked number (nullable): Total meetings booked
  • total_meeting_completed number (nullable): Total meetings completed
  • total_closed number (nullable): Total closed deals

Example Usage:

{
  "ids": ["camp_123", "camp_456"],
  "start_date": "2024-12-01",
  "end_date": "2024-12-31",
  "campaign_status": 1
}

Get Daily Campaign Analytics

Fetch daily analytics time series for a campaign over a date range.

Operation Type: Query (Read)

Parameters:

  • campaign_id string (nullable): Campaign ID to get daily analytics for
  • start_date string (nullable): Start date for daily analytics
  • end_date string (nullable): End date for daily analytics
  • campaign_status number (nullable): Filter by campaign status

Returns:

  • Array of daily analytics objects:
    • date string (nullable): Date for the analytics entry
    • sent number (nullable): Emails sent on this date
    • opened number (nullable): Emails opened on this date
    • unique_opened number (nullable): Unique opens on this date
    • replies number (nullable): Replies received on this date
    • unique_replies number (nullable): Unique replies on this date
    • clicks number (nullable): Link clicks on this date
    • unique_clicks number (nullable): Unique clicks on this date

Example Usage:

{
  "campaign_id": "camp_123456",
  "start_date": "2024-12-01",
  "end_date": "2024-12-31",
  "campaign_status": 1
}

Get Campaign Steps Analytics

Fetch per-step analytics for a campaign over a date range.

Operation Type: Query (Read)

Parameters:

  • campaign_id string (nullable): Campaign ID to get step analytics for
  • start_date string (nullable): Start date for step analytics
  • end_date string (nullable): End date for step analytics

Returns:

  • Array of step analytics objects:
    • step string (nullable): Step identifier
    • variant string (nullable): Step variant
    • sent number (nullable): Emails sent for this step
    • opened number (nullable): Emails opened for this step
    • unique_opened number (nullable): Unique opens for this step
    • replies number (nullable): Replies for this step
    • unique_replies number (nullable): Unique replies for this step
    • clicks number (nullable): Clicks for this step
    • unique_clicks number (nullable): Unique clicks for this step

Example Usage:

{
  "campaign_id": "camp_123456",
  "start_date": "2024-12-01",
  "end_date": "2024-12-31"
}

Common Use Cases

Lead Management:

  • Import leads with detailed qualification and assignment information
  • Track lead engagement across email opens, clicks, and replies
  • Manage lead lifecycle with interest status tracking
  • Organize leads with custom variables for personalization

Campaign Analytics:

  • Monitor overall campaign performance with aggregated metrics
  • Track daily performance trends to optimize send timing
  • Analyze step-by-step funnel performance to improve sequences
  • Measure ROI with opportunity tracking and value attribution

Data Integration:

  • Skip duplicate imports with workspace, campaign, and list filtering
  • Verify leads during import to maintain email deliverability
  • Use custom variables to sync with external CRM systems