Find the buying-committee contacts at a company
lusha.x.buying-groupResolve up to 25 companies to Lusha company ids, rank their buying committee (decision makers, champions, end users) with Lusha's persona model, and return lightweight contact previews grouped per company (1 credit per contact returned - always pass contactsLimit)
- Prix
- $0.1248/resultAu prix catalogue
- Taux de réussite
- —Aucune donnée de taux de réussite pour le momentAucune donnée de taux de réussite pour le moment
- Latence p50
- ——
- Dernière vérification
- —Pas encore vérifié
POSThttps://toolswitch.dev/v1/tools/lusha.x.buying-groupBeta- Utilise le quota de la plateforme
- Réponse synchrone
- Lit des données publiques
Paramètres
contactsLimit is the only spend control on this route and Lusha defaults it to 60 contacts per company, so set it on every call. Returns previews (name, title, company, location, social links, `has`/`canReveal` data-point flags, persona `roles`, relevance `score` 0-1) grouped per company under `results[].contacts`; call lusha.people.contacts.enrich on the returned contact ids for emails/phones (a further 1 credit per email, 5 per phone). NOT free: every preview row costs 1 credit - see cost. Successor of the retired lusha.x.decision-makers path (removed by Lusha 2026-08-12, changelog 2.9.0); this is the only operation that accepts contactsLimit and personas
| Paramètre | Type | Obligatoire | Description | Exemple |
|---|---|---|---|---|
| Corps (JSON) | ||||
personas | array[string] | Facultatif | filter to buying-committee roles: decision_maker (budget or sign-off authority) | potential_champion (likely internal advocate) | end_user (likely day-to-day user); omit for all three | ["decision_maker"] |
companies | array[object] | Obligatoire | 1-25 entries (V3BuyingGroupCompanyItem); each needs exactly one of `domain` (resolved server-side) or `id` (Lusha company id, vN.… form, e.g. from lusha.companies.search). Optional `clientReferenceId` is echoed back on the matching result. The key is `domain` INSIDE each entry - a top-level domain / company_domain / website / company_name is rejected with 'property … should not exist' (seen live on the retired sibling path 2026-09-02) | [{"domain":"lusha.com"}] |
pagination | objet | Facultatif | optional {page, size}; page >= 0 (default 0), size 10-100 (default 100). Pages across the ranked contacts; contactsLimit still bounds what one company can return | {"page":0,"size":100} |
contactsLimit | entier | Facultatif | THE SPEND CAP: maximum contacts returned PER COMPANY, minimum 1, default 60, and every contact returned costs 1 credit - so the bill is at most companies × contactsLimit credits. Lusha's default is 60, i.e. an uncapped single-company call can cost 60 credits ($7.49 at the catalog rate) and a 25-company call 1,500. Always set it | 5 |
- Corps (JSON)
personasarray[string]Facultatiffilter to buying-committee roles: decision_maker (budget or sign-off authority) | potential_champion (likely internal advocate) | end_user (likely day-to-day user); omit for all three
Exemple :
["decision_maker"]companiesarray[object]Obligatoire1-25 entries (V3BuyingGroupCompanyItem); each needs exactly one of `domain` (resolved server-side) or `id` (Lusha company id, vN.… form, e.g. from lusha.companies.search). Optional `clientReferenceId` is echoed back on the matching result. The key is `domain` INSIDE each entry - a top-level domain / company_domain / website / company_name is rejected with 'property … should not exist' (seen live on the retired sibling path 2026-09-02)
Exemple :
[{"domain":"lusha.com"}]paginationobjetFacultatifoptional {page, size}; page >= 0 (default 0), size 10-100 (default 100). Pages across the ranked contacts; contactsLimit still bounds what one company can return
Exemple :
{"page":0,"size":100}contactsLimitentierFacultatifTHE SPEND CAP: maximum contacts returned PER COMPANY, minimum 1, default 60, and every contact returned costs 1 credit - so the bill is at most companies × contactsLimit credits. Lusha's default is 60, i.e. an uncapped single-company call can cost 60 credits ($7.49 at the catalog rate) and a 25-company call 1,500. Always set it
Exemple :
5
Exemples de code
Remplacez $TOOLSWITCH_KEY par la clé créée dans la console.
curl -X POST 'https://toolswitch.dev/v1/tools/lusha.x.buying-group' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY" \
-H "Content-Type: application/json" \
--data-raw '{"companies":[{"domain":"lusha.com"}],"contactsLimit":1}'import os
import json
import requests
response = requests.request(
"POST",
"https://toolswitch.dev/v1/tools/lusha.x.buying-group",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
json=json.loads("{\"companies\":[{\"domain\":\"lusha.com\"}],\"contactsLimit\":1}"),
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/lusha.x.buying-group", {
method: "POST",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
"Content-Type": "application/json",
},
body: JSON.stringify(JSON.parse("{\"companies\":[{\"domain\":\"lusha.com\"}],\"contactsLimit\":1}")),
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());Cette API de passerelle est en version Beta ; son URL et son authentification peuvent changer. Les paramètres de l’exemple sont des données fictives. Les appels sont facturés à $0.1248/result, frais de service inclus.