Ellipse Gradient for Header

Lusha Integration Guide

Integrate Lusha with enterprise systems by consuming its REST APIs to search and enrich contact and company data, then orchestrating secure synchronization workflows.

Lusha integration options at a glance

Lusha’s primary integration mechanism is its REST API, which supports prospecting searches, contact enrichment, company enrichment, and structured JSON responses. API requests use an API key, with the exact header and endpoint requirements confirmed against the applicable Lusha documentation and subscription. Martini can invoke these endpoints from workflows, validate and transform responses, apply matching and qualification rules, and deliver approved data to CRM, sales engagement, marketing, or database systems. Webhooks, callbacks, and bulk or asynchronous operations should be treated as feature- and plan-dependent until verified. Where no event or batch capability is available, scheduled workflows can process paginated results with checkpoints and controlled retries.

Integration pointSupported by Lusha?Common use casesHow Martini supports it
REST APIsYesSearch Contacts or Companies using prospecting criteria and enrich known contacts or companies. Responses provide structured JSON for downstream synchronization.Martini can consume Lusha REST endpoints from workflows, supply parameters and authentication, validate responses, transform JSON, and invoke downstream APIs.
AuthenticationYesLusha API requests use an API key; the current header name and endpoint-specific format should be confirmed before deployment.Martini stores the key as a secret and applies it through REST request authentication or header configuration without embedding it in workflow definitions.
Webhooks / outbound callbacksNot confirmedWebhook or callback availability must be verified for the specific Lusha product, event, plan, and API version. Universal change notifications should not be assumed.If a documented Lusha callback exists, Martini can receive it through an API endpoint or webhook-consuming workflow; otherwise it can use scheduled polling.
Bulk / async / batch APIsNot confirmedEndpoint-specific batch or asynchronous enrichment capabilities require confirmation against the current API reference and subscription entitlements.Martini can implement controlled pagination or chunked processing when the available API supports it, subject to usage limits and response semantics.
JSON responsesYesProspecting and enrichment endpoints return structured data suitable for contact, company, and CRM synchronization.Martini parses, validates, maps, and transforms JSON responses into canonical and target-system models.
File / attachment APIsNot confirmedNo general Lusha file or attachment API was confirmed. Any user-interface CSV capability should not be treated as an API integration without documentation.Martini can process files when an officially supported Lusha file endpoint is confirmed, but the REST API is the recommended basis for this integration.
Database accessNoCustomer integrations should access Lusha-managed data through its APIs rather than direct database connectivity.Martini can write retrieved Lusha data to supported SQL databases, but it should not connect directly to Lusha’s managed database.
Scheduled synchronizationLimitedScheduled polling is an integration pattern when applicable event notifications are unavailable or unconfirmed.Martini scheduler-triggered workflows can retrieve pages, persist checkpoints, apply bounded concurrency, and retry transient failures.

How Lusha exposes data and business events

Lusha REST APIs

Lusha documents REST APIs for prospecting searches, contact enrichment, company enrichment, and structured JSON responses. These APIs are the primary confirmed mechanism for integrating Lusha with enterprise applications.

Martini implementation pattern

Martini implementation pattern: a workflow receives an enrichment or search request, constructs the Lusha REST call with a secret-managed API key, validates the response, maps contact or company data to a canonical model, applies business rules, and calls the destination application or database.

Implementation sequence

Receive a search or enrichment request
Validate the supplied person, company, or prospecting criteria
Call the applicable Lusha REST endpoint
Validate the response and match status
Map Lusha JSON to the canonical data model
Apply duplicate, privacy, and field-overwrite rules7e1c4b8a-4b78-4dd4-8877-0b1bf9f6ebd1a6d

Scheduled Lusha synchronization

Lusha does not provide confirmed universal event notifications for contact or company changes. Scheduled retrieval is therefore a practical pattern for freshness-sensitive workflows when polling is permitted by the relevant API and subscription.

Martini implementation pattern

Martini implementation pattern: a scheduler-triggered workflow retrieves eligible records or prospecting pages, stores a cursor or last-successful checkpoint, processes results in bounded batches, and retries transient failures without creating duplicates.

Implementation sequence

Start the workflow on a defined schedule
Load the last successful cursor or synchronization timestamp
Retrieve the next Lusha result page
Process and qualify returned Contacts or Companies
Persist the checkpoint after successful writes
Record throttling, quota, and downstream failures for retry

Lusha webhook or callback notifications

Webhook or outbound callback support is not confirmed as a universal Lusha capability. It must be verified for the specific product, plan, event type, and API version before being selected as the trigger.

Martini implementation pattern

Martini implementation pattern: where Lusha documentation confirms a callback, Martini exposes a controlled API endpoint, authenticates and validates the notification, retrieves current Lusha data when necessary, and forwards the normalized result to downstream systems. If no callback is available, the workflow uses scheduled polling instead.

Implementation sequence

Confirm the applicable Lusha callback capability
Receive the notification at a secured Martini API endpoint
Validate the notification and correlate its identifier
Retrieve the current Lusha resource when required
Map and route the resulting data
Acknowledge the notification and record processing status

Common Lusha integration patterns

Pattern 1: Enrich CRM contacts with Lusha

When to use this pattern

Use this pattern when Salesforce, HubSpot, or Microsoft Dynamics 365 needs additional professional contact data. The flow can be user-triggered, API-triggered, or scheduled and should preserve source provenance while avoiding uncontrolled overwrites.

Integration direction
CRM
Martini
Lusha
CRM
Example Mapping
Lusha FieldCanonical FieldTarget Field
emailperson.emailContact.email
jobTitleperson.jobTitleContact.title
company.nameorganization.nameContact.accountName
company.domainorganization.domainContact.accountDomain
Martini implementation pattern

Martini receives a CRM identifier, validates the available enrichment keys, calls Lusha, normalizes the response, and applies matching, consent, and field-governance rules before updating the CRM. No-match, throttling, quota, and downstream validation failures are classified and retried or routed for review.

Martini capabilities used
  • workflows
  • API consumption
  • data mapping
  • business rules
  • validation
  • error handling

Pattern 2: Enrich accounts from company domains

When to use this pattern

Use this pattern when account teams need Lusha firmographic data for selected CRM Accounts or Organizations. It is appropriate when Lusha is a supplementary source and manually maintained account fields must remain protected.

Integration direction
CRM
Martini
Lusha
CRM
Example Mapping
Lusha FieldCanonical FieldTarget Field
domainorganization.domainAccount.website
industryorganization.industryAccount.industry
employeeRangeorganization.employeeRangeAccount.employeeRange
headquartersorganization.headquartersAccount headquarters
Martini implementation pattern

A Martini workflow selects eligible accounts, submits domains or names to Lusha, validates company match status, and writes approved attributes with a retrieval timestamp and source marker. Stable identifiers and domain-based matching make reruns safe, while partial responses are handled without erasing existing values.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • data mapping
  • conditional routing
  • data provenance
  • retry handling

Pattern 3: Send qualified prospects to a sales engagement platform

When to use this pattern

Use this pattern when prospecting results from Lusha must be filtered and delivered to Outreach or Salesloft. Qualification should occur before creation so existing customers, duplicates, restricted territories, and contacts without permitted communication data are excluded.

Integration direction
Lusha
Martini
Outreach
Example Mapping
Lusha FieldCanonical FieldTarget Field
idsource.prospectIdprospect.externalId
firstNameperson.firstNameprospect.firstName
lastNameperson.lastNameprospect.lastName
company.domainorganization.domainprospect.companyDomain
Martini implementation pattern

A scheduled Martini workflow calls a Lusha prospecting endpoint, follows documented pagination, filters results against CRM and compliance data, and sends qualified prospects to the target API. The workflow stores source identifiers and match keys, uses bounded concurrency, and retries transient failures without recreating accepted prospects.

Martini capabilities used
  • scheduler triggers
  • API consumption
  • pagination orchestration
  • data mapping
  • business rules
  • idempotency
  • monitoring

Pattern 4: Run a controlled CRM data-quality pipeline

When to use this pattern

Use this pattern when an organization wants to enrich a selected population of CRM Contacts or Accounts but review or govern changes before they are committed. It supports periodic quality improvement without treating Lusha as the system of record.

Integration direction
CRM
Martini
Lusha
Database
Example Mapping
Lusha FieldCanonical FieldTarget Field
crmIdsource.recordIdaudit.sourceRecordId
retrievedAtprovenance.retrievedAtaudit.retrievedAt
sourceIdentifierprovenance.lushaIdaudit.lushaId
changedFieldschangeSet.fieldsaudit.changedFields
Martini implementation pattern

Martini retrieves a controlled set of CRM records, enriches them through Lusha, compares returned values with current data, and writes only approved changes. It can persist audit information in a supported database, classify rejected or incomplete responses, and resume from durable checkpoints after interruption.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • comparison logic
  • mapping and transformation
  • SQL database access
  • audit handling
  • error handling

Applications commonly integrated with Lusha

Lusha data can be incorporated into sales, marketing, and account-planning workflows through standards-based API orchestration. The following applications represent practical enterprise architecture targets; any native product-level integration should be verified separately.

Application Scenario Direction Martini Pattern
Salesforce Enrich Leads, Contacts, and Accounts with Lusha contact and company data for prospecting and account planning. Lusha → Martini → Salesforce A Martini workflow receives a Salesforce identifier or prospecting request, calls the relevant Lusha enrichment or search endpoint, normalizes the JSON response, applies duplicate and field-governance rules, and updates Salesforce through its API. Failed enrichments and CRM validation errors are logged for retry or review.
HubSpot Improve contact and company profiles and support lead-generation workflows using Lusha enrichment data. Lusha → Martini → HubSpot Martini retrieves identifiers from HubSpot or receives an event from an upstream process, calls Lusha, maps approved contact and company attributes, and writes changes to HubSpot. Source timestamps and Lusha identifiers can be retained for provenance and duplicate prevention.
Microsoft Dynamics 365 Enrich Leads and Accounts used by sales teams and account-based programs. Lusha → Martini → Microsoft Dynamics 365 A scheduled or API-triggered Martini workflow selects eligible Dynamics records, submits company or contact identifiers to Lusha, validates returned fields, and updates only approved attributes. Business rules can prevent overwriting manually curated values.
Outreach Send qualified Lusha prospects to sales sequences after territory, consent, and deduplication checks. Lusha → Martini → Outreach Martini runs a controlled Lusha prospecting search, excludes existing customers and previously processed prospects, transforms eligible Contacts, and submits them to Outreach through its API or an approved CRM-mediated flow. Durable match keys make reruns safe.
Salesloft Provide prospect and company information to sales engagement workflows. Lusha → Martini → Salesloft Martini orchestrates prospect searches or enrichment requests, applies qualification and compliance rules, maps Lusha data to Salesloft fields, and records submission outcomes. Rate-limit responses are retried with bounded backoff.
Marketo Use enriched contact and company information for segmentation and lead qualification. Lusha → Martini → Marketo A Martini workflow enriches selected contacts or companies, validates communication and territory fields, and sends approved updates to Marketo. The workflow preserves Lusha retrieval timestamps and avoids replacing fields that are governed by other sources.
Pipedrive Enrich People and Organizations used by sales teams with contact and company intelligence. Lusha → Martini → Pipedrive Martini accepts a Pipedrive person or organization identifier, calls the appropriate Lusha endpoint, transforms the response, performs a stable match, and updates Pipedrive. No-match, quota, and downstream validation outcomes are separated for operational handling.

How to build a Lusha integration in Martini

Objective

Configure secure access to Lusha and the downstream applications without exposing API keys or sensitive contact data.

Instructions in Martini

  • Confirm the current Lusha API-key header and endpoint requirements
  • Store the Lusha key in Martini Secrets Management
  • Configure downstream API authentication separately
  • Restrict secret access through environment authorization

Objective

Select the execution model that matches the business process and Lusha capability being used.

Instructions in Martini

  • Use an API-triggered workflow for on-demand enrichment
  • Use a scheduler for polling and periodic prospecting
  • Use a webhook trigger only when the applicable Lusha callback is confirmed
  • Define a durable correlation or source identifier

Objective

Call the appropriate Lusha REST endpoint and safely handle search, enrichment, pagination, and match outcomes.

Instructions in Martini

  • Validate email, name, domain, or prospecting criteria
  • Invoke the documented Lusha REST endpoint
  • Read endpoint-specific pagination metadata
  • Classify no-match, throttling, quota, and authorization responses

Objective

Coordinate Lusha retrieval, validation, target updates, checkpoints, and exception routes in a maintainable Martini workflow.

Instructions in Martini

  • Separate retrieval from transformation and delivery stages
  • Persist a page cursor or last-successful checkpoint
  • Use bounded processing rather than unbounded parallel requests
  • Route permanent failures and review cases separately

Objective

Transform Lusha Contacts, Companies, and enrichment results into a canonical model and target-system schema.

Instructions in Martini

  • Parse the returned JSON response
  • Normalize names, domains, job fields, and company associations
  • Handle optional, null, and plan-dependent fields defensively
  • Retain Lusha identifiers, source, and retrieval timestamps

Objective

Ensure only eligible and governed data reaches CRM, sales, marketing, or database targets.

Instructions in Martini

  • Match on stable Lusha identifiers where available
  • Use normalized email, name, and domain as fallback matching inputs
  • Prevent overwriting manually curated fields without approval
  • Apply territory, consent, suppression, and customer-exclusion rules

Common Lusha data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
ContactsIndividual professional contacts with identity, job, company association, location, and available contact details.Salesforce, HubSpot, Microsoft Dynamics 365, Outreach, Salesloft, Marketo, PipedriveMartini validates identifiers, normalizes contact and job fields, applies privacy and duplicate rules, and maps approved values to the target schema.
CompaniesOrganizations with firmographic attributes such as name, industry, size, location, domain, and revenue-related data where available.Salesforce, HubSpot, Microsoft Dynamics 365, Marketo, PipedriveMartini enriches accounts or organizations using domains or names, preserves source metadata and retrieval timestamps, and applies field overwrite policies.
Contact enrichment resultsData returned when a known person is enriched using identifiers such as email, name, company, or LinkedIn-related information.Salesforce Contacts and Leads, HubSpot Contacts, Microsoft Dynamics 365 Leads, MarketoMartini validates match status and optional fields, maps the result to a canonical contact model, and routes no-match or quota outcomes separately.
Company enrichment resultsData returned when a company is enriched using a domain or company name.Salesforce Accounts, HubSpot Companies, Microsoft Dynamics 365 Accounts, Pipedrive OrganizationsMartini normalizes firmographic fields, retains the source identifier and timestamp, and writes only fields approved by business rules.
Prospecting search resultsCollections of Contacts or Companies returned from Lusha prospecting criteria.Salesforce, HubSpot, Outreach, Salesloft, Marketo, PipedriveMartini processes pagination, filters territory and compliance criteria, deduplicates results, and delivers qualified prospects to downstream APIs.
Intent or buying-signal dataPotential sales-intelligence signals where included in the customer’s Lusha product, plan, and API version.CRM, sales engagement, or marketing applicationsMartini should process this object only after endpoint and schema availability are confirmed, using defensive mapping and explicit source validation.

Authentication and security considerations

API-key authentication

Lusha API access uses an API key. Confirm the current header name and endpoint-specific authentication format in the applicable Lusha documentation before deployment.

Secret management

Store the key in Martini Secrets Management rather than embedding it in workflows. Restrict access through environment authentication and authorization controls.

Data protection

  • Avoid logging API headers or unnecessary contact and company payloads.
  • Apply access controls to enriched personal and professional data.
  • Review lawful basis, retention, suppression, and regional transfer requirements.

Operational considerations for Lusha integrations

Usage and rate limits

Account for Lusha credits, plan entitlements, endpoint restrictions, and HTTP throttling. Use bounded concurrency, controlled retries, and backoff rather than unbounded enrichment requests.

Pagination and checkpoints

Read the pagination model documented by each endpoint and persist a cursor, page checkpoint, or last successful synchronization timestamp so interrupted jobs can resume safely.

Idempotency and freshness

Use Lusha identifiers where available, or carefully defined combinations of normalized email, name, and company domain. Store retrieval timestamps and avoid overwriting manually curated values without explicit rules.

Schema and error handling

Response fields can vary by endpoint, plan, and API version. Validate optional fields, nulls, match statuses, and enumeration values, and classify authorization, no-match, quota, throttling, service, and downstream validation failures.

Testing and monitoring

Test representative matches, no-match responses, partial data, pagination, throttling, quota exhaustion, and duplicate reruns. Monitor workflow outcomes without exposing API keys or unnecessary personal data.

Why use Martini instead of scripts or point-to-point integrations?

Reusable orchestration

Martini separates Lusha API consumption, transformation, qualification, target delivery, and error handling into maintainable workflows rather than embedding logic in isolated scripts.

Controlled data movement

Centralized mappings and business rules help govern which enriched fields can update CRM, sales, marketing, or database systems while preserving source identifiers and timestamps.

Operational resilience

Scheduled execution, checkpoints, bounded retries, validation, monitoring, and exception routes provide more predictable behavior than point-to-point calls.

API-led access

Martini can expose a controlled internal API façade over enrichment workflows, allowing other applications to consume governed results without receiving Lusha credentials directly.

Frequently asked questions

How can Lusha be integrated with enterprise systems?

Lusha can be integrated primarily through its REST APIs for prospecting searches, contact enrichment, and company enrichment. An integration can authenticate with an API key, retrieve structured JSON, transform Contacts and Companies, and deliver approved data to CRM, sales engagement, marketing, or database systems. Webhooks, callbacks, and batch capabilities should be verified for the applicable Lusha plan and API version.

Can Martini integrate with Lusha?

Yes. Martini can consume Lusha REST APIs from workflows, store the API key securely, validate and transform returned JSON, apply matching and business rules, and update downstream applications. No native Martini connector for Lusha is documented in the supplied sources.

Do I need a connector to integrate Lusha with Martini?

No dedicated Lusha connector is required. Martini can integrate with Lusha using its confirmed REST APIs and API-key authentication, with scheduled workflows available when event or callback support is unavailable or unconfirmed.

Is there any extra Lonti cost to integrate Lusha with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate Lusha. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Lusha, cloud infrastructure, or other third-party systems based on subscription, usage, and deployment model.

Which Lusha integration methods should be used?

The documented and recommended method is the Lusha REST API for prospecting and enrichment. API-key authentication is required, while webhook, callback, and batch or asynchronous capabilities should be confirmed for the specific product, plan, and API version before use. No Lusha GraphQL or SOAP API was confirmed.

Does Lusha provide webhooks or event notifications?

Universal webhook support for contact, company, enrichment, or intent changes should not be assumed. If Lusha confirms a callback for a particular feature, Martini can receive it through a secured API endpoint; otherwise, scheduled polling of the relevant REST endpoints is the safer integration pattern.

How does synchronization and data mapping work?

Martini can run on demand or on a schedule, retrieve Lusha pages or enrichment responses, map them to a canonical model, and update target applications. Stable Lusha identifiers, normalized email and domain matching, pagination checkpoints, retrieval timestamps, and source metadata help prevent duplicates and preserve data provenance.

How are Lusha errors, retries, and duplicate results handled?

Martini can classify invalid credentials, invalid parameters, no matches, throttling, quota exhaustion, temporary service errors, and downstream validation failures. Bounded retries with backoff can address transient failures, while stable identifiers or composite matching keys and durable checkpoints make reruns idempotent. Martini can also expose a controlled API façade for internal applications that need governed access to the resulting data.