Skip to main content
GET
/
tasks
Get Many Tasks
curl --request GET \
  --url https://api.lemlist.com/api/tasks \
  --header 'Authorization: Basic <encoded-value>'
{
  "results": [
    {
      "_id": "opp_ouYzdLYGs4RcrHTfm",
      "type": "manual",
      "title": "Keep an eye on him",
      "priority": 1,
      "leadId": "lea_mizMsAEkRrJuhouYe",
      "campaignId": "cam_9NsHPnykWESTncCW8",
      "contactId": "ctc_Rofmb6uNGyaPNZ2ni",
      "dueDate": "2025-11-10T09:58:57.169Z",
      "userId": "usr_gmHgNGRcGPSTJrDbT",
      "content": "does he have bandwidth to help us? would be grand"
    },
    {
      "_id": "opp_muTZMDjKf7vtanEk9",
      "type": "manual",
      "title": "API Reference Illustration",
      "priority": 2,
      "dueDate": "2025-10-31T07:58:00.000Z",
      "userId": "usr_gmHgNGRcGPSTJrDbT",
      "content": ""
    }
  ],
  "page": "0"
}
This endpoint uses the Task object.
Tasks marked as done are automatically excluded from results.

Filtering

Use the filters query parameter to narrow results by:
  • Lead attributes: fullName, email, phone, linkedin (supports value or regex)
  • Campaign: campaignId (supports in/out arrays), campaignState (draft, running, ended, paused, errors, archived)
  • Task properties: type (manual, phone, email, linkedin, etc.), assignedTo (userId)
  • Date range: dueDate (supports from/to in YYYY-MM-DD format)
Examples:
[
{"filterId": "dueDate", "from": "2025-02-11", "to": "2025-02-28"},
{"filterId": "type", "in": ["phone", "linkedinSend"]}
]

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

page
integer
default:0

Page number for paginated results (0-indexed).

filters
string

JSON array of filter objects. Each filter has a filterId and specific parameters.

Available Filters:

  • fullName: Filter by contact's full name.

    • Parameters: value (string) or regex (string)
    • Example: {"filterId":"fullName","value":"John Doe"}
  • email: Filter by contact's email address.

    • Parameters: value (string) or regex (string)
    • Example: {"filterId":"email","value":"[email protected]"}
  • phone: Filter by contact's phone number.

    • Parameters: value (string) or regex (string)
    • Example: {"filterId":"phone","value":"+1234567890"}
  • linkedin: Filter by LinkedIn profile URL.

    • Parameters: value (string) or regex (string)
    • Example: {"filterId":"linkedin","value":"linkedin.com/in/johndoe"}
  • campaignId: Filter by campaign IDs (inclusion/exclusion).

    • Parameters: in (array of strings) and/or out (array of strings)
    • Example: {"filterId":"campaignId","in":["cam_123"],"out":["cam_456"]}
  • campaignState: Filter by campaign states.

    • Parameters: in (array of strings) and/or out (array of strings)
    • Allowed values: draft, running, ended, paused, errors, archived
    • Example: {"filterId":"campaignState","in":["running","paused"]}
  • type: Filter by task type.

    • Parameters: in (array of strings) and/or out (array of strings)
    • Allowed values: manual, phone, linkedinInvite, linkedinSend, linkedinVoiceNote, emailsReplied, opportunityReplied, linkedinReplied, opportunityClicked, email, whatsappMessage
    • Example: {"filterId":"type","in":["phone","email"]}
  • assignedTo: Filter by assigned user IDs.

    • Parameters: in (array of strings) and/or out (array of strings)
    • Example: {"filterId":"assignedTo","in":["usr_123","usr_456"]}
  • dueDate: Filter by due date range.

    • Parameters: from (string, YYYY-MM-DD) and/or to (string, YYYY-MM-DD)
    • Example: {"filterId":"dueDate","from":"2025-01-01","to":"2025-12-31"}

Multiple filters can be combined in an array.

Response

Success

results
object[]
page
string