Get Buying Group Contacts
Identify the buying group within a set of target companies. Supply companies by domain or Lusha company id - the model scores and labels each returned contact with a persona role.
Personas:
decision_maker- has budget or sign-off authoritypotential_champion- likely internal advocate for the purchaseend_user- likely day-to-day user of the product
Pass personas to filter to specific roles, or omit it to get all three. Use contactsLimit to cap how many contacts are returned per company (default 60).
Results are lightweight previews grouped by company. Each contact includes a has field listing available data points, a canReveal field showing what can be unlocked via Enrich, a roles array with the assigned persona(s), and a score (0-1) reflecting relevance to the assigned role.
Use Enrich Contacts with the returned contact id to reveal emails and phones.
Billing: Charged per contact returned via the
buyingGroupContactaction.
curl --request POST \
--url https://api.lusha.com/v3/contacts/buying-group \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"companies": [
{
"clientReferenceId": "comp-ref-1",
"domain": "acme.com"
},
{
"clientReferenceId": "comp-ref-2",
"id": "v1.AbCdEfGhIjKlMnOpQrStUvWxYz012345"
}
],
"personas": [
"decision_maker",
"potential_champion"
],
"contactsLimit": 20
}
'import requests
url = "https://api.lusha.com/v3/contacts/buying-group"
payload = {
"companies": [
{
"clientReferenceId": "comp-ref-1",
"domain": "acme.com"
},
{
"clientReferenceId": "comp-ref-2",
"id": "v1.AbCdEfGhIjKlMnOpQrStUvWxYz012345"
}
],
"personas": ["decision_maker", "potential_champion"],
"contactsLimit": 20
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
companies: [
{clientReferenceId: 'comp-ref-1', domain: 'acme.com'},
{clientReferenceId: 'comp-ref-2', id: 'v1.AbCdEfGhIjKlMnOpQrStUvWxYz012345'}
],
personas: ['decision_maker', 'potential_champion'],
contactsLimit: 20
})
};
fetch('https://api.lusha.com/v3/contacts/buying-group', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api.lusha.com/v3/contacts/buying-group")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"companies\": [\n {\n \"clientReferenceId\": \"comp-ref-1\",\n \"domain\": \"acme.com\"\n },\n {\n \"clientReferenceId\": \"comp-ref-2\",\n \"id\": \"v1.AbCdEfGhIjKlMnOpQrStUvWxYz012345\"\n }\n ],\n \"personas\": [\n \"decision_maker\",\n \"potential_champion\"\n ],\n \"contactsLimit\": 20\n}")
.asString();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.lusha.com/v3/contacts/buying-group"
payload := strings.NewReader("{\n \"companies\": [\n {\n \"clientReferenceId\": \"comp-ref-1\",\n \"domain\": \"acme.com\"\n },\n {\n \"clientReferenceId\": \"comp-ref-2\",\n \"id\": \"v1.AbCdEfGhIjKlMnOpQrStUvWxYz012345\"\n }\n ],\n \"personas\": [\n \"decision_maker\",\n \"potential_champion\"\n ],\n \"contactsLimit\": 20\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api_key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"requestId": "951d46da-24f9-4608-84bf-5e70a10bf851",
"results": [
{
"companyId": "v1.ocoj3UrkPqHcR8yAEosYFTuVXTH282LP",
"contacts": [
{
"id": "v1.VdKU4HkaDb7CE4CEImoUcm7bxUGUUz-aOQ",
"firstName": "Mohammed",
"lastName": "Alam",
"jobTitle": {
"title": "RF/Analog IC Design Engineer",
"departments": [
"Engineering & Technical"
],
"seniority": "Non-Manager"
},
"company": {
"id": "v1.ocoj3UrkPqHcR8yAEosYFTuVXTH282LP",
"name": "Intel",
"domain": "www.intel.com"
},
"location": {
"country": "United States",
"state": "Arizona",
"city": "Chandler"
},
"socialLinks": {
"linkedin": "https://www.linkedin.com/in/mohammed-alam-83759111"
},
"has": [
"firstName",
"lastName",
"jobTitle",
"company",
"location",
"socialLinks",
"phones",
"previousEmployment",
"jobStartDate"
],
"canReveal": [
{
"field": "phones",
"credits": 5
}
],
"roles": [
"potential_champion"
],
"score": 0.8872673511505127
}
]
}
],
"pagination": {
"page": 0,
"size": 100,
"total": 1
},
"billing": {
"creditsCharged": 1,
"resultsReturned": 1
}
}Authorizations
Your Lusha API key. You can find this in your Lusha dashboard under API settings.
Include this key in the api_key header for all requests.
Body
1 - 25 elementsShow child attributes
Show child attributes
Filter results to specific persona roles. Omit to return all three.
decision_maker, potential_champion, end_user ["decision_maker", "potential_champion"]
Maximum number of contacts returned per company.
x >= 120
Optional. If omitted, defaults to page 0, size 100.
Show child attributes
Show child attributes
Was this page helpful?
curl --request POST \
--url https://api.lusha.com/v3/contacts/buying-group \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"companies": [
{
"clientReferenceId": "comp-ref-1",
"domain": "acme.com"
},
{
"clientReferenceId": "comp-ref-2",
"id": "v1.AbCdEfGhIjKlMnOpQrStUvWxYz012345"
}
],
"personas": [
"decision_maker",
"potential_champion"
],
"contactsLimit": 20
}
'import requests
url = "https://api.lusha.com/v3/contacts/buying-group"
payload = {
"companies": [
{
"clientReferenceId": "comp-ref-1",
"domain": "acme.com"
},
{
"clientReferenceId": "comp-ref-2",
"id": "v1.AbCdEfGhIjKlMnOpQrStUvWxYz012345"
}
],
"personas": ["decision_maker", "potential_champion"],
"contactsLimit": 20
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
companies: [
{clientReferenceId: 'comp-ref-1', domain: 'acme.com'},
{clientReferenceId: 'comp-ref-2', id: 'v1.AbCdEfGhIjKlMnOpQrStUvWxYz012345'}
],
personas: ['decision_maker', 'potential_champion'],
contactsLimit: 20
})
};
fetch('https://api.lusha.com/v3/contacts/buying-group', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api.lusha.com/v3/contacts/buying-group")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"companies\": [\n {\n \"clientReferenceId\": \"comp-ref-1\",\n \"domain\": \"acme.com\"\n },\n {\n \"clientReferenceId\": \"comp-ref-2\",\n \"id\": \"v1.AbCdEfGhIjKlMnOpQrStUvWxYz012345\"\n }\n ],\n \"personas\": [\n \"decision_maker\",\n \"potential_champion\"\n ],\n \"contactsLimit\": 20\n}")
.asString();package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.lusha.com/v3/contacts/buying-group"
payload := strings.NewReader("{\n \"companies\": [\n {\n \"clientReferenceId\": \"comp-ref-1\",\n \"domain\": \"acme.com\"\n },\n {\n \"clientReferenceId\": \"comp-ref-2\",\n \"id\": \"v1.AbCdEfGhIjKlMnOpQrStUvWxYz012345\"\n }\n ],\n \"personas\": [\n \"decision_maker\",\n \"potential_champion\"\n ],\n \"contactsLimit\": 20\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api_key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"requestId": "951d46da-24f9-4608-84bf-5e70a10bf851",
"results": [
{
"companyId": "v1.ocoj3UrkPqHcR8yAEosYFTuVXTH282LP",
"contacts": [
{
"id": "v1.VdKU4HkaDb7CE4CEImoUcm7bxUGUUz-aOQ",
"firstName": "Mohammed",
"lastName": "Alam",
"jobTitle": {
"title": "RF/Analog IC Design Engineer",
"departments": [
"Engineering & Technical"
],
"seniority": "Non-Manager"
},
"company": {
"id": "v1.ocoj3UrkPqHcR8yAEosYFTuVXTH282LP",
"name": "Intel",
"domain": "www.intel.com"
},
"location": {
"country": "United States",
"state": "Arizona",
"city": "Chandler"
},
"socialLinks": {
"linkedin": "https://www.linkedin.com/in/mohammed-alam-83759111"
},
"has": [
"firstName",
"lastName",
"jobTitle",
"company",
"location",
"socialLinks",
"phones",
"previousEmployment",
"jobStartDate"
],
"canReveal": [
{
"field": "phones",
"credits": 5
}
],
"roles": [
"potential_champion"
],
"score": 0.8872673511505127
}
]
}
],
"pagination": {
"page": 0,
"size": 100,
"total": 1
},
"billing": {
"creditsCharged": 1,
"resultsReturned": 1
}
}