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)
- Price
- $0.1248/resultA precio de catálogo
- Success rate
- —Aún no hay datos de tasa de éxitoAún no hay datos de tasa de éxito
- Latency p50
- ——
- Last verified
- —Not verified yet
POSThttps://toolswitch.dev/v1/tools/lusha.x.buying-groupBeta- Uses platform quota
- Synchronous response
- Reads public data
Parámetros
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
| Parámetro | Tipo | Obligatorio | Descripción | Ejemplo |
|---|---|---|---|---|
| Cuerpo (JSON) | ||||
personas | array[string] | Opcional | 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] | Obligatorio | 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 | objeto | Opcional | 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 | entero | Opcional | 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 |
- Cuerpo (JSON)
personasarray[string]Opcionalfilter 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
Ejemplo:
["decision_maker"]companiesarray[object]Obligatorio1-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)
Ejemplo:
[{"domain":"lusha.com"}]paginationobjetoOpcionaloptional {page, size}; page >= 0 (default 0), size 10-100 (default 100). Pages across the ranked contacts; contactsLimit still bounds what one company can return
Ejemplo:
{"page":0,"size":100}contactsLimitenteroOpcionalTHE 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
Ejemplo:
5
Ejemplos de código
Sustituye $TOOLSWITCH_KEY por la clave que creaste en la consola.
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());La API de la pasarela está en Beta; su URL y autenticación pueden cambiar. Los parámetros del ejemplo son datos de muestra. Las llamadas se facturan a $0.1248/result, incluida la tarifa de servicio.