lemlist Leads API
Leads inside campaigns - create with optional enrichment, update, pause, resume, mark interested, custom variables, CRM import and unsubscribe.
Leads inside campaigns - create with optional enrichment, update, pause, resume, mark interested, custom variables, CRM import and unsubscribe.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/lemlist-leads-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Lemlist Leads API
version: 1.0.0
description: 'Operations tagged Leads across 3 of this provider''s published API definitions: lemlist-openapi-v1-legacy.json, lemlist-openapi-v2.json, lemlist-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.lemlist.com/api
tags:
- name: Leads
paths:
/leads/start/{leadId}:
parameters:
- name: leadId
in: path
required: true
example: '{{leadId}}'
schema:
type: string
post:
summary: Resume a paused Lead
tags:
- Leads
parameters:
- name: Content
in: header
required: false
example: application/json
schema:
type: string
responses:
'200':
headers:
Content-Type:
schema:
type: string
example: application/json
description: Success all campaign
content:
application/json:
schema:
type: array
items:
type: object
properties:
email:
type: string
format: email
firstName:
type: string
lastName:
type: string
picture:
type: string
format: uri
phone:
type: string
format: phone
linkedinUrl:
type: string
format: uri
companyName:
type: string
companyDomain:
type: string
icebreaker:
type: string
jobTitle:
type: string
_id:
type: string
isPaused:
type: boolean
campaignId:
type: string
example:
- email: john.doe@domain.com
firstName: John
lastName: Doe
picture: https://c.pxhere.com/images/55/a2/fc589d408bc4c00cf38f1aeaf3e3-1449557.jpg!d
phone: +33 123456789
linkedinUrl: https://www.linkedin.com/in/johndoe,
companyName: lempire
companyDomain: lempire.co
icebreaker: Hello John, I came across your profile and your expertise in software development is remarkable!
jobTitle: Developer
_id: lea_7kMNQwplxvvD2hf5z
isPaused: false
campaignId: cam_A1B2C3D4E5F6G7H8I9
- firstname: John
lastname: Doe
companyName: lempire
email: john.doe@domain.com
_id: lea_3pRTJnkxwwF6vh1m
isPaused: false
campaignId: cam_K9L8M7N6O5P4Q3R2S1
servers:
- url: https://api.lemlist.com/api
/leads/pause/{leadId}:
parameters:
- name: leadId
in: path
required: true
example: '{{leadId}}'
schema:
type: string
post:
summary: Pause a Lead
tags:
- Leads
parameters:
- name: campaignId
in: query
required: false
description: (Optional) id of the campaign
example: '{{campaignId}}'
schema:
type: string
- name: Content
in: header
required: false
example: application/json
schema:
type: string
responses:
'200':
headers:
Content-Type:
schema:
type: string
example: application/json
description: Success all campaign
content:
application/json:
schema:
type: array
items:
type: object
properties:
email:
type: string
format: email
firstName:
type: string
lastName:
type: string
picture:
type: string
format: uri
phone:
type: string
format: phone
linkedinUrl:
type: string
format: uri
companyName:
type: string
companyDomain:
type: string
icebreaker:
type: string
jobTitle:
type: string
_id:
type: string
isPaused:
type: boolean
campaignId:
type: string
example:
- email: john.doe@domain.com
firstName: John
lastName: Doe
picture: https://c.pxhere.com/images/55/a2/fc589d408bc4c00cf38f1aeaf3e3-1449557.jpg!d
phone: +33 123456789
linkedinUrl: https://www.linkedin.com/in/johndoe,
companyName: lempire
companyDomain: lempire.co
icebreaker: Hello John, I came across your profile and your expertise in software development is remarkable!
jobTitle: Developer
_id: lea_7kMNQwplxvvD2hf5z
isPaused: true
campaignId: cam_A1B2C3D4E5F6G7H8I9
- firstname: John
lastname: Doe
companyName: lempire
email: john.doe@domain.com
_id: lea_3pRTJnkxwwF6vh1m
isPaused: true
campaignId: cam_K9L8M7N6O5P4Q3R2S1
default:
headers:
Content-Type:
schema:
type: string
example: application/json
description: Success specific campaign
content:
application/json:
schema:
type: array
items:
type: object
properties:
email:
type: string
format: email
firstName:
type: string
lastName:
type: string
picture:
type: string
format: uri
phone:
type: string
format: phone
linkedinUrl:
type: string
format: uri
companyName:
type: string
companyDomain:
type: string
icebreaker:
type: string
jobTitle:
type: string
_id:
type: string
isPaused:
type: boolean
campaignId:
type: string
example:
- email: john.doe@domain.com
firstName: John
lastName: Doe
picture: https://c.pxhere.com/images/55/a2/fc589d408bc4c00cf38f1aeaf3e3-1449557.jpg!d
phone: +33 123456789
linkedinUrl: https://www.linkedin.com/in/johndoe,
companyName: lempire
companyDomain: lempire.co
icebreaker: Hello John, I came across your profile and your expertise in software development is remarkable!
jobTitle: Developer
_id: lea_7kMNQwplxvvD2hf5z
isPaused: true
campaignId: cam_A1B2C3D4E5F6G7H8I9
servers:
- url: https://api.lemlist.com/api
/leads/interested/{leadIdOrEmail}:
parameters:
- name: leadIdOrEmail
in: path
required: true
example: '{{leadIdOrEmail}}'
schema:
type: string
post:
summary: Mark a Lead as interested
tags:
- Leads
parameters:
- name: Content
in: header
required: false
example: application/json
schema:
type: string
responses:
'200':
headers:
Content-Type:
schema:
type: string
example: application/json
description: Success
content:
application/json:
schema:
type: array
items:
type: object
properties:
email:
type: string
format: email
firstName:
type: string
lastName:
type: string
picture:
type: string
format: uri
phone:
type: string
format: phone
linkedinUrl:
type: string
format: uri
companyName:
type: string
companyDomain:
type: string
icebreaker:
type: string
jobTitle:
type: string
_id:
type: string
isPaused:
type: boolean
campaignId:
type: string
example:
- email: john.doe@domain.com
firstName: John
lastName: Doe
picture: https://c.pxhere.com/images/55/a2/fc589d408bc4c00cf38f1aeaf3e3-1449557.jpg!d
phone: +33 123456789
linkedinUrl: https://www.linkedin.com/in/johndoe,
companyName: lempire
companyDomain: lempire.co
icebreaker: Hello John, I came across your profile and your expertise in software development is remarkable!
jobTitle: Developer
_id: lea_7kMNQwplxvvD2hf5z
isPaused: false
campaignId: cam_A1B2C3D4E5F6G7H8I9
- firstname: John
lastname: Doe
companyName: lempire
email: john.doe@domain.com
_id: lea_3pRTJnkxwwF6vh1m
isPaused: true
campaignId: cam_K9L8M7N6O5P4Q3R2S1
servers:
- url: https://api.lemlist.com/api
/leads/notinterested/{leadIdOrEmail}:
parameters:
- name: leadIdOrEmail
in: path
required: true
example: '{{leadIdOrEmail}}'
schema:
type: string
post:
summary: Mark a Lead as not interested
tags:
- Leads
parameters:
- name: Content
in: header
required: false
example: application/json
schema:
type: string
responses:
'200':
headers:
Content-Type:
schema:
type: string
example: application/json
description: Success
content:
application/json:
schema:
type: array
items:
type: object
properties:
email:
type: string
format: email
firstName:
type: string
lastName:
type: string
picture:
type: string
format: uri
phone:
type: string
format: phone
linkedinUrl:
type: string
format: uri
companyName:
type: string
companyDomain:
type: string
icebreaker:
type: string
jobTitle:
type: string
_id:
type: string
isPaused:
type: boolean
campaignId:
type: string
example:
- email: john.doe@domain.com
firstName: John
lastName: Doe
picture: https://c.pxhere.com/images/55/a2/fc589d408bc4c00cf38f1aeaf3e3-1449557.jpg!d
phone: +33 123456789
linkedinUrl: https://www.linkedin.com/in/johndoe,
companyName: lempire
companyDomain: lempire.co
icebreaker: Hello John, I came across your profile and your expertise in software development is remarkable!
jobTitle: Developer
_id: lea_7kMNQwplxvvD2hf5z
isPaused: false
campaignId: cam_A1B2C3D4E5F6G7H8I9
- firstname: John
lastname: Doe
companyName: lempire
email: john.doe@domain.com
_id: lea_3pRTJnkxwwF6vh1m
isPaused: true
campaignId: cam_K9L8M7N6O5P4Q3R2S1
servers:
- url: https://api.lemlist.com/api
/campaigns/{campaignId}/leads/{leadIdOrEmail}/interested:
parameters:
- name: campaignId
in: path
required: true
example: '{{campaignId}}'
schema:
type: string
- name: leadIdOrEmail
in: path
required: true
example: '{{leadIdOrEmail}}'
schema:
type: string
post:
summary: Mark a Lead as interested in one campaign
tags:
- Leads
parameters:
- name: Content
in: header
required: false
example: application/json
schema:
type: string
responses:
'200':
headers:
Content-Type:
schema:
type: string
example: application/json
description: Success
content:
application/json:
schema:
type: object
properties:
email:
type: string
format: email
firstName:
type: string
lastName:
type: string
picture:
type: string
format: uri
phone:
type: string
format: phone
linkedinUrl:
type: string
format: uri
companyName:
type: string
companyDomain:
type: string
icebreaker:
type: string
jobTitle:
type: string
_id:
type: string
isPaused:
type: boolean
campaignId:
type: string
example:
email: john.doe@domain.com
firstName: John
lastName: Doe
picture: https://c.pxhere.com/images/55/a2/fc589d408bc4c00cf38f1aeaf3e3-1449557.jpg!d
phone: +33 123456789
linkedinUrl: https://www.linkedin.com/in/johndoe,
companyName: lempire
companyDomain: lempire.co
icebreaker: Hello John, I came across your profile and your expertise in software development is remarkable!
jobTitle: Developer
_id: lea_7kMNQwplxvvD2hf5z
isPaused: false
campaignId: cam_A1B2C3D4E5F6G7H8I9
servers:
- url: https://api.lemlist.com/api
/campaigns/{campaignId}/leads/{leadIdOrEmail}/notinterested:
parameters:
- name: campaignId
in: path
required: true
example: '{{campaignId}}'
schema:
type: string
- name: leadIdOrEmail
in: path
required: true
example: '{{leadIdOrEmail}}'
schema:
type: string
post:
summary: Mark a Lead as not interested in one campaign
tags:
- Leads
parameters:
- name: Content
in: header
required: false
example: application/json
schema:
type: string
responses:
'200':
headers:
Content-Type:
schema:
type: string
example: application/json
description: Success
content:
application/json:
schema:
type: object
properties:
email:
type: string
format: email
firstName:
type: string
lastName:
type: string
picture:
type: string
format: uri
phone:
type: string
format: phone
linkedinUrl:
type: string
format: uri
companyName:
type: string
companyDomain:
type: string
icebreaker:
type: string
jobTitle:
type: string
_id:
type: string
isPaused:
type: boolean
campaignId:
type: string
example:
email: john.doe@domain.com
firstName: John
lastName: Doe
picture: https://c.pxhere.com/images/55/a2/fc589d408bc4c00cf38f1aeaf3e3-1449557.jpg!d
phone: +33 123456789
linkedinUrl: https://www.linkedin.com/in/johndoe,
companyName: lempire
companyDomain: lempire.co
icebreaker: Hello John, I came across your profile and your expertise in software development is remarkable!
jobTitle: Developer
_id: lea_7kMNQwplxvvD2hf5z
isPaused: false
campaignId: cam_A1B2C3D4E5F6G7H8I9
servers:
- url: https://api.lemlist.com/api
/leads/{email}:
parameters:
- name: email
in: path
required: true
example: '{{email}}'
schema:
type: string
get:
summary: Retrieve Lead with email
tags:
- Leads
parameters:
- name: version
in: query
required: false
description: '(Optional) API version|default: v1'
example: v2
schema:
type: string
- name: Content
in: header
required: false
example: application/json
schema:
type: string
responses:
'200':
headers:
Content-Type:
schema:
type: string
example: application/json
description: Retrieve Lead with email (V1)
content:
application/json:
schema:
type: object
properties:
email:
type: string
format: email
firstName:
type: string
lastName:
type: string
picture:
type: string
format: uri
phone:
type: string
format: phone
linkedinUrl:
type: string
format: uri
companyName:
type: string
companyDomain:
type: string
icebreaker:
type: string
jobTitle:
type: string
_id:
type: string
isPaused:
type: boolean
campaignId:
type: string
emailStatus:
type: string
example:
email: john.doe@domain.com
firstName: John
lastName: Doe
picture: https://c.pxhere.com/images/55/a2/fc589d408bc4c00cf38f1aeaf3e3-1449557.jpg!d
phone: +33 123456789
linkedinUrl: https://www.linkedin.com/in/johndoe,
companyName: lempire
companyDomain: lempire.co
icebreaker: Hello John, I came across your profile and your expertise in software development is remarkable!
jobTitle: Developer
_id: lea_7kMNQwplxvvD2hf5z
isPaused: false
campaignId: cam_A1B2C3D4E5F6G7H8I9
emailStatus: deliverable
default:
headers: {}
description: Lead not found
servers:
- url: https://api.lemlist.com/api
/leads:
parameters: []
get:
summary: Retrieve Lead with email or id
tags:
- Leads
parameters:
- name: id
in: query
required: false
description: (Optionnal) The lead Id - ⚠️ You should use at least one of query param email or id
example: '{{leadId}}'
schema:
type: string
- name: email
in: query
required: false
description: (Optionnal) The lead email - ⚠️ You should use at least one of query param email or id
example: '{{email}}'
schema:
type: string
- name: version
in: query
required: false
description: '(Optional) API version|default: v1'
example: v2
schema:
type: string
- name: Content
in: header
required: false
example: application/json
schema:
type: string
responses:
'200':
headers:
Content-Type:
schema:
type: string
example: application/json
description: Retrieve Lead with email (V1)
content:
application/json:
schema:
type: object
properties:
email:
type: string
format: email
firstName:
type: string
lastName:
type: string
picture:
type: string
format: uri
phone:
type: string
format: phone
linkedinUrl:
type: string
format: uri
companyName:
type: string
companyDomain:
type: string
icebreaker:
type: string
jobTitle:
type: string
_id:
type: string
isPaused:
type: boolean
campaignId:
type: string
emailStatus:
type: string
example:
email: john.doe@domain.com
firstName: John
lastName: Doe
picture: https://c.pxhere.com/images/55/a2/fc589d408bc4c00cf38f1aeaf3e3-1449557.jpg!d
phone: +33 123456789
linkedinUrl: https://www.linkedin.com/in/johndoe,
companyName: lempire
companyDomain: lempire.co
icebreaker: Hello John, I came across your profile and your expertise in software development is remarkable!
jobTitle: Developer
_id: lea_7kMNQwplxvvD2hf5z
isPaused: false
campaignId: cam_A1B2C3D4E5F6G7H8I9
emailStatus: deliverable
default:
headers: {}
description: Lead not found
servers:
- url: https://api.lemlist.com/api
/campaigns/{campaignId}/leads/{email}:
parameters:
- name: campaignId
in: path
required: true
example: '{{campaignId}}'
schema:
type: string
- name: email
in: path
required: true
example: '{{email}}'
schema:
type: string
post:
summary: Create Lead in a Campaign
tags:
- Leads
parameters:
- name: deduplicate
in: query
required: false
description: "Boolean | Search email address in another campaign, will not insert the lead if email address already inserted\n | Default: false"
example: 'true'
schema:
type: boolean
- name: linkedinEnrichment
in: query
required: false
description: 'Boolean | Find verified email | Default: false'
example: 'true'
schema:
type: boolean
- name: findEmail
in: query
required: false
description: 'Boolean | Run the LinkedIn enrichment | Default: false'
example: 'true'
schema:
type: boolean
- name: verifyEmail
in: query
required: false
description: 'Boolean | Verify existing email (debounce) | Default: false'
example: 'true'
schema:
type: boolean
- name: findPhone
in: query
required: false
description: 'Boolean | Find phone number | Default: false'
example: 'true'
schema:
type: boolean
- name: Content
in: header
required: false
example: application/json
schema:
type: string
responses:
'200':
headers:
Content-Type:
schema:
type: string
example: application/json
description: Success
content:
application/json:
schema:
type: object
properties:
campaignId:
type: string
campaignName:
type: string
email:
type: string
format: email
firstName:
type: string
lastName:
type: string
picture:
type: string
format: uri
phone:
type: string
format: phone
linkedinUrl:
type: string
format: uri
companyName:
type: string
companyDomain:
type: string
icebreaker:
type: string
jobTitle:
type: string
_id:
type: string
isPaused:
type: boolean
leadUrl:
type: string
format: uri
example:
campaignId: cam_A1B2C3D4E5F6G7H8I9
campaignName: Insights Outreach 2024
email: john.doe@domain.com
firstName: John
lastName: Doe
picture: https://c.pxhere.com/images/55/a2/fc589d408bc4c00cf38f1aeaf3e3-1449557.jpg!d
phone: +33 123456789
linkedinUrl: https://www.linkedin.com/in/johndoe,
companyName: lempire
companyDomain: lempire.co
icebreaker: Hello John, I came across your profile and your expertise in software development is remarkable!
jobTitle: Developer
_id: lea_7kMNQwplxvvD2hf5z
isPaused: false
leadUrl: https://api.lemlist.com/api/leads/john.doe%40domain.com
'400':
headers: {}
description: Already in the campaign
requestBody:
content:
application/json:
schema:
type: object
properties:
firstName:
type: string
lastName:
type: string
companyName:
type: string
jobTitle:
type: string
linkedinUrl:
type: string
picture:
type: string
phone:
type: string
companyDomain:
type: string
icebreaker:
type: string
contactOwner:
type: string
example:
firstName: '{{lead-firstName}}'
lastName: '{{lead-lastName}}'
companyName: '{{lead-companyName}}'
jobTitle: '{{lead-jobTitle}}'
linkedinUrl: '{{lead-linkedinUrl}}'
picture: '{{lead-picture}}'
phone: '{{lead-phone}}'
companyDomain: '{{lead-companyDomain}}'
icebreaker: '{{lead-icebreacker}}'
contactOwner: '{{lead-contactOwner}}'
delete:
summary: Unsubscribe Lead from Campaign
tags:
- Leads
parameters: []
responses:
'200':
headers:
Content-Type:
schema:
type: string
example: application/json
description: Success
content:
application/json:
schema:
type: object
properties:
email:
type: string
format: email
firstName:
type: string
lastName:
type: string
picture:
type: string
format: uri
phone:
type: string
format: phone
linkedinUrl:
type: string
format: uri
companyName:
type: string
companyDomain:
type: string
icebreaker:
type: string
jobTitle:
type: string
_id:
type: string
isPaused:
type: boolean
campaignId:
type: string
example:
email: john.doe@domain.com
firstName: John
lastName: Doe
picture: https://c.pxhere.com/images/55/a2/fc589d408bc4c00cf38f1aeaf3e3-1449557.jpg!d
phone: +33 123456789
linkedinUrl: https://www.linkedin.com/in/johndoe,
companyName: lempire
companyDomain: lempire.co
icebreaker: Hello John, I came across your profile and your expertise in software development is remarkable!
jobTitle: Developer
_id: lea_7kMNQwplxvvD2hf5z
isPaused: false
campaignId: cam_A1B2C3D4E5F6G7H8I9
'404':
headers:
Content-Type:
schema:
type: string
example: application/json
description: Already unsubscribe / invalide email
servers:
- url: https://api.lemlist.com/api
/campaigns/{campaignId}/leads/{leadId}:
parameters:
- name: campaignId
in: path
required: true
example: '{{campaignId}}'
schema:
type: string
- name: leadId
in: path
required: true
example: '{{leadId}}'
schema:
type: string
patch:
# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lemlist/refs/heads/main/openapi/lemlist-leads-api-openapi.yml