lemlist Stats API

The Stats API from lemlist — 2 operation(s) for stats.

Operations 2

GET /campaigns/{campaignId}/stats Campaign stats
GET /v2/campaigns/{campaignId}/stats Campaign stats V2

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lemlist-stats-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

lemlist-stats-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: lemlist Stats API
  version: 1.0.0
  description: "Welcome to the lemlist Developer Documentation.\n\nlemlist is very customizable and open. You'll find on this page all the API and integration you can do with lemlist.\n\n# Rate Limit\n\nlemlist's API rate limits requests in order to prevent abuse and overload of our services.  \nRate limits are applied on all routes and per api key performing the request.  \nThe rate limits are **20** requests per **2** seconds.  \nThe response provide any information you may need about it:\n\n| Header | Description |\n| --- | --- |\n| Retry-After | The number of second in which you can retry |\n| X-RateLimit-Limit | The maximum requests in that time |\n| X-RateLimit-Remaining | The number of remaining requests you can make |\n| X-RateLimit-Reset | The date when the rate limit will reset |\n\n_Example of values for the rate limit headers_\n\n``` json\n{\n    \"Retry-After\": 2,\n    \"X-RateLimit-Limit\": 20,\n    \"X-RateLimit-Remaining\": 7,\n    \"Retry-After\" : \"Tue Feb 16 2021 09:02:42 GMT+0100 (Central European Standard Time)\"\n}\n\n ```\n\n# Definitions\n\n## Team\n\nA team is the entity of lemlist that can handle users and billing.\n\n## Credits\n\nCredits are the coins a team uses to enrich emails, linkedIn url, etc via the route enrich. Each enrichment feature needs a certain amount of credit to run.\n\n## User\n\nYou use A user account to connect to lemlist and send messages via the connected emails or linkedIn account.\n\n## Campaigns\n\nIs the entity to automate the outreach, a campaign has multiple sequences composed of steps.\n\n## Lead\n\nA lead is a person that you try to contact via a Campaign.\n\n## Activities\n\nIs the history of all the steps\n\n## Unsubscribe\n\nUnsubscribe is when a person decides they don't want to receive emails from you anymore.\n\n# Authentication\n\nAll API routes are using the dedicated sub domain `api.lemlist.com`.\n\nlemlist uses API keys to allow access to the API. You can get your lemlist API key at our [integration page](https://app.lemlist.com/settings/integrations).\n\nYou need to add the `Authorization` header using the `Basic` authentication type. `login:password` **where the login is always empty and the password is the API key**.\n\nOr pass your API key as a query parameter `access_token`\n\n⚠️ **Don't forget to add the semicolon (**`:`**) before your API key in curl command.**\n\n> To authorize, use this code: \n  \n\n``` shell\ncurl https://api.lemlist.com/api/team \\\n  --user \":YourApiKey\"\n\n ```\n\n> Or \n  \n\n``` shell\ncurl https://api.lemlist.com/api/team?access_token=YourApiKey\n\n ```\n\n**Make sure to replace** **`YourApiKey`** **with your API key.**\n\n# Give feedback\n\nIf you want to report a bug, ask for data or share with us a usecase please fill this [form. ](https://lemlist.typeform.com/to/mfVlkyGf) It will help us centralize your needs!"
servers:
- url: https://api.lemlist.com/api
tags:
- name: Stats
paths:
  /campaigns/{campaignId}/stats:
    parameters:
    - name: campaignId
      in: path
      required: true
      example: '{{campaignId}}'
      schema:
        type: string
    get:
      summary: Campaign stats
      tags:
      - Stats
      parameters:
      - name: startDate
        in: query
        required: false
        example: '2024-01-07T22:00:00.000Z'
        schema:
          type: integer
      - name: endDate
        in: query
        required: false
        example: '2024-07-10T21:59:59.999Z'
        schema:
          type: integer
      - name: timezone
        in: query
        required: false
        example: Europe/Paris
        schema:
          type: string
      - name: Content
        in: header
        required: false
        example: application/json
        schema:
          type: string
      responses:
        default:
          headers:
            Content-Type:
              schema:
                type: string
              example: application/json
          description: Campaign stats
          content:
            application/json:
              schema:
                type: object
                properties:
                  leadTotal:
                    type: integer
                  leadToLaunch:
                    type: integer
                  leadReadyToSend:
                    type: integer
                  leadInProgress:
                    type: integer
                  leadCompleted:
                    type: integer
                  sentCount:
                    type: integer
                  deliveredCount:
                    type: integer
                  openedCount:
                    type: integer
                  clickedCount:
                    type: integer
                  repliedCount:
                    type: integer
                  interestedCount:
                    type: integer
              example:
                leadTotal: 0
                leadToLaunch: 0
                leadReadyToSend: 0
                leadInProgress: 0
                leadCompleted: 0
                sentCount: 0
                deliveredCount: 0
                openedCount: 0
                clickedCount: 0
                repliedCount: 0
                interestedCount: 0
  /v2/campaigns/{campaignId}/stats:
    parameters:
    - name: campaignId
      in: path
      required: true
      example: '{{campaignId}}'
      schema:
        type: string
    get:
      summary: Campaign stats V2
      tags:
      - Stats
      parameters:
      - name: startDate
        in: query
        required: false
        example: '2024-01-07T22:00:00.000Z'
        schema:
          type: integer
      - name: endDate
        in: query
        required: false
        example: '2025-07-10T21:59:59.999Z'
        schema:
          type: integer
      - name: sendUser
        in: query
        required: false
        example: usr_b62rnsjxu236ttSH3|email@example.com
        schema:
          type: string
      - name: ABSelected
        in: query
        required: false
        example: A
        schema:
          type: string
      - name: channels
        in: query
        required: false
        example: '["others", "linkedin", "email"]'
        schema:
          type: string
      - name: Content
        in: header
        required: false
        example: application/json
        schema:
          type: string
      responses:
        default:
          headers: {}
          description: Campaign stats V2