Skip to main content
Contact signals tell you when someone in your pipeline or CRM has changed jobs or received a promotion. One endpoint takes up to 100 Lusha contact IDs and the signal types you want, and returns everything that matched - no separate lookup or search step.
Signals are charged per matched signal per result. Request only the signal types you need.

Signal types for contacts

Call Get Contact Signal Types to fetch this list programmatically instead of hardcoding it.

Get contact signals

Send 1–100 Lusha contact IDs per request along with the signalTypes you want. Use startDate to limit results to signals detected on or after a given date, and maxResultsPerSignal to cap how many instances of each signal type come back per contact. Request body Example request
Example response
Matched events for each requested signal type appear directly on the result under that type’s key (promotion, companyChange) - there’s no wrapper object to unpack.

If you don’t have contact IDs yet

Contact Signals only accepts Lusha contact IDs. If you’re starting from a LinkedIn URL, email, or name, resolve the contact first, then retrieve signals for the returned ID:
1

Resolve the contact

Call Enrich Contacts or Search & Enrich Contacts to get a Lusha contact id.
2

Retrieve signals for that ID

Pass the id into POST /v3/contacts/signals.