> ## Documentation Index
> Fetch the complete documentation index at: https://developer.instantly.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get campaign(s) analytics

> 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



## OpenAPI

````yaml https://api.instantly.ai/openapi/api_v2.json get /api/v2/campaigns/analytics
openapi: 3.1.0
info:
  title: API Explorer
  description: >-
    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.
  version: 2.0.0
servers:
  - url: https://api.instantly.ai
    description: Instantly API Server
security:
  - ApiKeyAuth: []
tags:
  - name: Analytics
    description: Endpoints related to analytics
    x-displayName: Analytics
  - name: OAuth
    description: >-
      OAuth authentication endpoints for connecting Google and Microsoft email
      accounts
    x-displayName: OAuth
  - name: Account
    description: An email account that can be used to send campaigns
    x-displayName: Account
  - name: Campaign
    description: A campaign that can be sent to a list of recipients
    x-displayName: Campaign
  - name: Email
    description: >-
      A campaign email, a reply, a manually sent email, or any other email
      that's visible in the Unibox
    x-displayName: Email
  - name: EmailVerification
    description: A single email verification
    x-displayName: Email Verification
  - name: LeadList
    description: A list used to store leads
    x-displayName: Lead List
  - name: InboxPlacementTest
    description: An inbox placement test
    x-displayName: Inbox Placement Test
  - name: InboxPlacementAnalytics
    description: Analytics data for individual emails in inbox placement tests
    x-displayName: Inbox Placement Analytics
  - name: InboxPlacementBlacklist&SpamAssassinReport
    description: Report data for an inbox placement test
    x-displayName: Inbox Placement Blacklist & SpamAssassin Report
  - name: APIKey
    description: API Key
    x-displayName: API Key
  - name: AccountCampaignMapping
    description: Account Campaign Mapping
    x-displayName: Account Campaign Mapping
  - name: Lead
    description: A lead entity representing an individual lead
    x-displayName: Lead
  - name: BackgroundJob
    description: A background job that can be used to perform long-running tasks
    x-displayName: Background Job
  - name: CustomTag
    description: >-
      A custom tag for organizing and categorizing accounts and campaigns. You
      can use them as filters in apis that list accounts and campaigns.
    x-displayName: Custom Tag
  - name: CustomTagMapping
    description: >-
      This entity represents a tag being assigned to a specific campaign or
      email account. When an email account is assigned a tag, a new custom tag
      mapping entry is created, which connects the tag (`tag_id` field) with the
      email account (`resource_id` field). You can use it to see which tag si
      connected to which resource.
    x-displayName: Custom Tag Mapping
  - name: BlockListEntry
    description: A blocked email or domain
    x-displayName: Block List Entry
  - name: LeadLabel
    description: A custom label for categorizing and managing leads
    x-displayName: Lead Label
  - name: Workspace
    description: A workspace entity representing a workspace
    x-displayName: Workspace
  - name: SuperSearchEnrichment
    description: >-
      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.
    x-displayName: SuperSearch Enrichment
  - name: WorkspaceGroupMember
    description: >-
      A member of a workspace group. You can use the endpoints within this
      entity to manage the members of a workspace group.
    x-displayName: Workspace Group Member
  - name: WorkspaceMember
    description: A member of a workspace with associated user details
    x-displayName: Workspace Member
  - name: CampaignSubsequence
    description: A subsequence entity representing a follow-up sequence
    x-displayName: Campaign Subsequence
  - name: AuditLog
    description: Audit log records for tracking system activities
    x-displayName: Audit Log
  - name: Webhook
    description: A webhook subscription for receiving event notifications
    x-displayName: Webhook
  - name: WebhookEvent
    description: A webhook event that was sent or attempted to be sent
    x-displayName: Webhook Event
  - name: DFYEmailAccountOrder
    description: A Done-For-You email account order
    x-displayName: DFY Email Account Order
  - name: CustomPromptTemplate
    description: Custom prompt templates for creating custom prompts
    x-displayName: Custom Prompt Template
  - name: SalesFlow
    description: >-
      Manages how sales users view and interact with campaign and lead lists
      within the sales flow.
    x-displayName: Sales Flow
  - name: EmailTemplate
    description: A campaign email template
    x-displayName: Email Template
  - name: WorkspaceBilling
    description: Workspace Billing
    x-displayName: Workspace Billing
  - name: CRMActions
    description: CRM related actions
    x-displayName: CRM Actions
paths:
  /api/v2/campaigns/analytics:
    get:
      tags:
        - Campaign
        - Analytics
      summary: Get campaign(s) analytics
      description: >-
        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
      operationId: getCampaignAnalytics
      parameters:
        - schema:
            type: string
            format: uuid
            example: 019e18e2-a525-762d-b9c9-04b478656522
          in: query
          name: id
          required: false
          description: >-
            A campaign ID to get the analytics for. Leave this field empty to
            get the analytics for all campaigns
        - schema:
            type: array
            items:
              type: string
              description: >-
                A list of campaign IDs to get the analytics for. Leave this
                field empty to get the analytics for all campaigns. You can
                specify multiple IDs by adding the same parameter multiple
                times, for instance: `/campaigns/analytics?ids=123&ids=456`
              format: uuid
              example: 019e18e2-a525-762d-b9c9-04b5925c9ef6
          in: query
          name: ids
          required: false
        - schema:
            type: string
            example: '2024-01-01'
          in: query
          name: start_date
          required: false
          description: Start date
        - schema:
            type: string
            example: '2024-01-01'
          in: query
          name: end_date
          required: false
          description: End date
        - schema:
            type: boolean
            default: false
            example: true
          in: query
          name: exclude_total_leads_count
          required: false
          description: >-
            Exclude the total leads from the result. Setting this to true will
            considerably decrease the response time
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    campaign_name:
                      type: string
                      description: The name of the campaign
                      example: My Test Campaign
                    campaign_id:
                      type: string
                      description: The ID of the campaign
                      format: uuid
                      example: 019e18e2-a525-762d-b9c9-04b674a9549d
                    campaign_status:
                      type: number
                      description: The campaign status
                      x-enumDescriptions:
                        '0': Draft
                        '1': Active
                        '2': Paused
                        '3': Completed
                        '4': Running Subsequences
                        '-99': Account Suspended
                        '-1': Accounts Unhealthy
                        '-2': Bounce Protect
                      example: 1
                    campaign_is_evergreen:
                      type: boolean
                      description: Whether the campaign is evergreen
                      example: true
                    leads_count:
                      type: integer
                      description: The total number of leads
                      example: 1500
                    contacted_count:
                      type: integer
                      description: Number of leads for whom the sequence has started
                      example: 1200
                    emails_sent_count:
                      type: integer
                      description: The total number of sent emails
                      example: 5000
                    new_leads_contacted_count:
                      type: integer
                      description: The total number of new leads contacted
                      example: 200
                    open_count:
                      type: integer
                      description: The number of leads that opened at least one email
                      example: 800
                    open_count_unique:
                      type: integer
                      description: The number of unique email opens (first open per lead)
                      example: 750
                    open_count_unique_by_step:
                      type: integer
                      description: >-
                        The number of unique email opens per step (first open
                        per lead per step)
                      example: 900
                    reply_count:
                      type: integer
                      description: >-
                        The total number of replies received (if a lead replies
                        multiple times, each reply is counted)
                      example: 300
                    reply_count_unique:
                      type: integer
                      description: >-
                        The number of unique replies (first reply per lead).
                        Excludes automatic replies.
                      example: 280
                    reply_count_unique_by_step:
                      type: integer
                      description: >-
                        The number of unique replies per step (first reply per
                        lead per step). Excludes automatic replies.
                      example: 350
                    reply_count_automatic:
                      type: integer
                      description: The total number of automatic replies detected
                      example: 15
                    reply_count_automatic_unique:
                      type: integer
                      description: >-
                        The number of unique automatic replies (first automatic
                        reply per lead)
                      example: 12
                    reply_count_automatic_unique_by_step:
                      type: integer
                      description: The number of unique automatic replies per step
                      example: 18
                    link_click_count:
                      type: integer
                      description: The number of links that got clicked
                      example: 800
                    link_click_count_unique:
                      type: integer
                      description: The number of unique link clicks (first click per lead)
                      example: 600
                    link_click_count_unique_by_step:
                      type: integer
                      description: >-
                        The number of unique link clicks per step (first click
                        per lead per step)
                      example: 720
                    bounced_count:
                      type: integer
                      description: The number of bounced leads
                      example: 50
                    unsubscribed_count:
                      type: integer
                      description: The number of unsubscribed leads
                      example: 20
                    completed_count:
                      type: integer
                      description: The number of leads that the campaign was completed for
                      example: 1100
                    total_opportunities:
                      type: integer
                      description: The total number of unique opportunities created
                      example: 10
                    total_opportunity_value:
                      type: number
                      description: The total value of opportunities created
                      example: 1000
                  required:
                    - campaign_name
                    - campaign_id
                    - campaign_status
                    - campaign_is_evergreen
                    - leads_count
                    - contacted_count
                    - open_count
                    - reply_count
                    - link_click_count
                    - bounced_count
                    - unsubscribed_count
                    - completed_count
                    - emails_sent_count
                    - new_leads_contacted_count
                    - total_opportunities
                    - total_opportunity_value
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: The error message
                    example: Start Date must be earlier than End Date
        '401':
          description: >-
            This request is unauthorized (either the Authorization header is
            missing or invalid, or the API key has been revoked)
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    enum:
                      - 401
                    example: 401
                  error:
                    type: string
                    enum:
                      - Unauthorized
                    example: Unauthorized
                  message:
                    type: string
                    example: Missing Authorization header
                required:
                  - statusCode
                  - error
                  - message
        '402':
          description: >-
            This request cannot be fulfilled because the workspace does not have
            an active paid plan
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    enum:
                      - 402
                    example: 402
                  error:
                    type: string
                    enum:
                      - Payment Required
                    example: Payment Required
                  message:
                    type: string
                    example: Workspace does not have an active paid plan
                required:
                  - statusCode
                  - error
                  - message
        '404':
          description: The requested resource was not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    enum:
                      - 404
                    example: 404
                  error:
                    type: string
                    enum:
                      - Not Found
                    example: Not Found
                  message:
                    type: string
                    example: Resource not found
                required:
                  - statusCode
                  - error
                  - message
        '429':
          description: >-
            You have exceeded the rate limit. Please check the rate limit docs
            for more information.
          content:
            application/json:
              schema:
                type: object
                properties:
                  statusCode:
                    type: number
                    enum:
                      - 429
                    example: 429
                  error:
                    type: string
                    enum:
                      - Too Many Requests
                    example: Too Many Requests
                  message:
                    type: string
                    example: Rate limit exceeded
                required:
                  - statusCode
                  - error
                  - message
components:
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer

````