curl --request GET \
--url https://api.lemlist.com/api/companies/{companyId} \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.lemlist.com/api/companies/{companyId}"
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/companies/{companyId}', 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/companies/{companyId}")
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/companies/{companyId}",
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": "cpn_A1B2C3D4E5F6G7H8I",
"teamId": "tea_8QvkOiBfPdb2ZRhHi",
"domain": "acme.com",
"linkedinUrl": "https://www.linkedin.com/company/acme",
"fields": {
"name": "Acme Corp",
"industry": "Technology",
"location": "San Francisco, CA"
},
"ownerId": "usr_ahfFktBBHUIxbVG5P",
"source": "api",
"createdAt": "2025-10-28T00:40:37.917Z",
"createdBy": "usr_ahfFktBBHUIxbVG5P",
"fieldRejections": [],
"crmSync": {
"provider": "hubspot",
"crmRecordId": "12345678901",
"syncDisabled": false,
"errors": []
}
}{
"success": false,
"error": {
"code": "INVALID_COMPANY_ID",
"message": "Invalid companyId format"
}
}The authentication you supplied is incorrect{
"success": false,
"error": {
"code": "COMPANY_NOT_FOUND_BY_ID",
"message": "No company found with id"
}
}Get Company
Retrieves one company by its lemlist id (cpn_xxx), as a bare object. Answers 404 when no company of your team carries this id.
curl --request GET \
--url https://api.lemlist.com/api/companies/{companyId} \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://api.lemlist.com/api/companies/{companyId}"
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/companies/{companyId}', 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/companies/{companyId}")
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/companies/{companyId}",
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": "cpn_A1B2C3D4E5F6G7H8I",
"teamId": "tea_8QvkOiBfPdb2ZRhHi",
"domain": "acme.com",
"linkedinUrl": "https://www.linkedin.com/company/acme",
"fields": {
"name": "Acme Corp",
"industry": "Technology",
"location": "San Francisco, CA"
},
"ownerId": "usr_ahfFktBBHUIxbVG5P",
"source": "api",
"createdAt": "2025-10-28T00:40:37.917Z",
"createdBy": "usr_ahfFktBBHUIxbVG5P",
"fieldRejections": [],
"crmSync": {
"provider": "hubspot",
"crmRecordId": "12345678901",
"syncDisabled": false,
"errors": []
}
}{
"success": false,
"error": {
"code": "INVALID_COMPANY_ID",
"message": "Invalid companyId format"
}
}The authentication you supplied is incorrect{
"success": false,
"error": {
"code": "COMPANY_NOT_FOUND_BY_ID",
"message": "No company found with id"
}
}404 COMPANY_NOT_FOUND_BY_ID when no company of your team carries this id, where GET /companies?idsOrDomains= answers 200 with an empty data array.
Lookups by domain stay on GET /companies?idsOrDomains=: a domain is not guaranteed to designate a single company, so this endpoint takes ids only.
Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Path Parameters
The lemlist company ID.
^cpn_[a-zA-Z0-9]+$Response
The company.
An organization record in your CRM.
Unique company identifier
Team the company belongs to. Returned by GET /companies/{companyId} and the idsOrDomains and crmIds lookups; the paginated list returns it only when requested with fields.
Website domain
LinkedIn company page URL. Returned by GET /companies/{companyId} and the idsOrDomains and crmIds lookups; the paginated list returns it only when requested with fields.
Sales Navigator company URL. Returned by GET /companies/{companyId} and the idsOrDomains and crmIds lookups; the paginated list returns it only when requested with fields.
Key/value attributes of the company, standard and custom (e.g., name, picture, industry, location, size, foundedOn). These values are always under fields, never at the top level of the object.
User ID who created the company
User ID of the owner of the company
Creation timestamp
Origin of the company record, e.g. api when it was created through this API. Returned by GET /companies/{companyId} and the idsOrDomains and crmIds lookups, not by the paginated list.
Values lemlist refused to write on this company, each with its reason. Empty when none. Filter the list endpoint to only flagged companies via GET /companies?fieldRejectionReason=....
Show child attributes
Show child attributes
CRM sync status for the company, resolved against the team's active CRM provider (Hubspot, Salesforce, or Pipedrive). Only present when a CRM is connected. Use this block to monitor sync state and resolve duplicates (e.g. via GET /companies?crmSyncStatus=unique_index_error_company).
Show child attributes
Show child attributes
Was this page helpful?