Skip to main content
GET
/
campaigns
Get Many Campaigns
curl --request GET \
  --url https://api.lemlist.com/api/campaigns \
  --header 'Authorization: Basic <encoded-value>'
import requests

url = "https://api.lemlist.com/api/campaigns"

headers = {"Authorization": "Basic <encoded-value>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};

fetch('https://api.lemlist.com/api/campaigns', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
require 'uri'
require 'net/http'

url = URI("https://api.lemlist.com/api/campaigns")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'

response = http.request(request)
puts response.read_body
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.lemlist.com/api/campaigns",
  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: Basic <encoded-value>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
[
  {
    "_id": "cam_4HrZbi8xsez4QlrnL",
    "name": "Product Launch Campaign",
    "labels": [],
    "createdAt": "2025-02-20T14:45:54.230Z",
    "createdBy": "usr_zdTCrNFyXblc4mrYK",
    "status": "running",
    "hasError": true,
    "errors": [
      "Your campaign does not have sender."
    ]
  },
  {
    "_id": "cam_k3gu2sa4KIfhRK34M",
    "name": "Sales Outreach 2025",
    "labels": [],
    "createdAt": "2025-02-05T09:00:07.541Z",
    "createdBy": "usr_UEvrOEP0CTAYEoFR4",
    "status": "running",
    "hasError": true,
    "errors": [
      "One of your sender has no email provider.",
      "Your campaign have an invalid sender mailbox"
    ]
  },
  {
    "_id": "cam_HcFmYEhnCI39Pscan",
    "name": "CRM Integration Test",
    "labels": [
      "CRM"
    ],
    "createdAt": "2023-01-27T14:58:52.482Z",
    "createdBy": "usr_i52PiQtbq8SucjVTM",
    "status": "running",
    "hasError": true,
    "errors": [
      "One of your sender has no email provider.",
      "Your campaign have an invalid sender mailbox"
    ]
  },
  {
    "_id": "cam_yZXeC6q3SXs3ha1FI",
    "name": "Customer Onboarding",
    "labels": [],
    "createdAt": "2022-06-14T13:32:57.880Z",
    "createdBy": "usr_i52PiQtbq8SucjVTM",
    "status": "running"
  }
]
"No API key provided"
"The authentication you supplied is incorrect"
"User linked to this API key is blocked"
"No user found for this API key"
This endpoint uses the Campaign object.
Don’t forget to set the query parameter version to version=v2.

Authorizations

Authorization
string
header
required

Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.

Query Parameters

offset
integer

Offset from the start. For pagination.

limit
integer

Number of campaigns to retrieve. Default: 100. Maximum: 100.

version
enum<string>
default:v2

Set to 'v2' to use the latest version

Available options:
v2
page
integer

Page number to retrieve

sortBy
enum<string>

The field by which to sort. Currently, only 'createdAt' is supported.

Available options:
createdAt
sortOrder
enum<string>

The sort direction. Use 'desc' for descending order; any other value (or omission) will sort in ascending order.

Available options:
asc,
desc
status
enum<string>

The campaign status. Can be: running, draft, archived, ended, paused, errors. Note: a campaign can be in multiple statuses at one time (e.g., a paused campaign with errors).

Available options:
running,
draft,
archived,
ended,
paused,
errors
createdBy
string

Filter campaigns by creator user ID (usr_xxx format). Only returns campaigns created by the specified user.

Response

Success

_id
string

Unique campaign identifier

name
string

Campaign name

labels
string[]

Categorization labels

createdAt
string<date-time>

Creation timestamp

createdBy
string

Creator user ID

status
enum<string>

Campaign status

Available options:
running,
paused,
draft,
ended,
archived,
errors
sequenceId
string

Main sequence ID

scheduleIds
string[]

Associated schedule IDs

teamId
string

ID of the team that owns this campaign

hasError
boolean

Whether the campaign has errors

errors
string[]

List of error messages if campaign has errors

creator
object

Campaign creator information

senders
object[]

Campaign senders configuration