Skip to content
Last updated

Overview

This page is the technical entry point to the Lusha API. It introduces the core data types exposed by the API, the main access patterns, and the fundamentals required to authenticate and make a first request. Use this section to understand how the API is structured and confirm access before moving into specific capabilities.

How the Lusha API is organized

The Lusha API exposes GTM data through a small set of core data types and access patterns.

Core data types

  • Contacts — contact profiles and identifiers
  • Companies — firmographic and company-level attributes
  • Signals — change-based events across contacts and companies
  • Lookalikes — similarity-based recommendations for expansion

Access patterns

  • Enrichment — add missing or updated data to existing records
  • Search & prospecting — find contacts and companies using filters
  • Automation — use enrichment and signals inside workflows

Endpoints at a Glance

ResourceEndpointPurpose
PersonGET /v2/personLookup contact details
POST /v2/personBulk person enrichment
CompanyGET /v2/companyLookup company info
POST /v2/companyBulk company enrichment
ProspectPOST /prospecting/contact/searchSearch for contacts
POST /prospecting/contact/enrichEnrich contact data
POST /prospecting/company/searchSearch for companies
POST /prospecting/company/enrichEnrich company data
AccountGET /account/usageCheck credit usage
SignalsPOST /signals/contactsRetrieve contact signals by IDs
POST /signals/companiesRetrieve company signals by IDs
POST /signals/contacts/searchRetrieve contact signals by identifiers
POST /signals/companies/searchRetrieve company signals by identifiers
RecommendationsPOST /recommendations/contactsGet contact recommendations
POST /recommendations/companiesGet company recommendations

1. Authentication

API key setup

  • Generate and manage API keys in the Lusha API Dashboard
  • Store keys securely (for example, using environment variables)
  • Never expose API keys in client-side code

Authenticating requests

When making an API call, include your API key in the api_key header of the request.

  • Header: api_key
  • Format: Bearer YOUR_API_KEY

2. Data model basics

  • All responses are returned as structured JSON
  • Common fields include email, phone, job title, company, and location
  • Some fields may be missing depending on availability, permissions, or compliance rules

3. First request

Example: enrich a person

GET https://api.lusha.com/v2/person
  • Send identifying fields such as firstName, lastName, company
  • Parse the JSON response
  • Locate returned fields such as email or phone when available

4. Error handling basics

  • Check HTTP status codes for every response
  • Handle 4xx and 5xx errors explicitly
  • Implement retry logic for rate limit responses (HTTP 429)

Detailed error formats and retry guidance are covered in Errors & handling.

5. Rate limits and pagination

  • Default rate limit: 25 requests per second
  • Some endpoints return paginated results
  • Use pagination tokens to retrieve additional pages

See Rate limits for full details.

6. Next steps

Once you've validated access, you can:

If you're implementing enrichment first

Start with Contacts and Companies enrichment endpoints to add missing data to your existing contacts and accounts.

Contact enrichment guide
Company enrichment guide

If you're building outbound workflows

Start with Prospecting to build targeted tables, then add Signals for timing and triggers.

Prospecting guide
Signals guide

If you want to scale expansion

Add Lookalikes once you have clean seed data from your best customers or champions.

Recommendations guide

For AI and agent-based workflows

Explore the MCP (Model Context Protocol) integration for Claude and other AI agents.

MCP guide

7. Integration Guides

Quick implementations for common platforms:

  • Salesforce

    • Apex trigger on Lead creation → call Lusha API → update fields.
    • Flows for easy webhook API implementation.
  • HubSpot

    • Workflow → custom webhook
    • Map response to HubSpot properties (YAML/JSON examples).
  • Webhooks

    • Subscribe to events (e.g., data updates).
    • Verify signatures; Node.js/Express listener example.
  • Bulk Enrichment

    • Python scripts to process CSV files
    • Submit bulk requests, poll for results, and write output to a database or file
  • SDK Examples (Node.js, Python, Java)

    • Community wrappers: install, initialize, fetch data.
    • Raw HTTP equivalents for each example.

8. Advanced Topics

Deeper guidance for teams running Lusha at scale.

  • Performance & Cost
    Batch requests, caching (Redis/in-memory), cost-aware enrichment patterns.

  • Complex Queries
    Combine parameters for higher accuracy, client-side matching and deduplication.

  • Security Best Practices
    Encrypt API keys, enforce least privilege, audit logging.

  • Orchestration Workflows
    Terraform/CloudFormation snippets for AWS Lambda and API Gateway.

  • Data Quality & Fallbacks
    Handle missing fields: fallback to alternative data sources, merge multiple enrichers.

  • Schema & Data Modeling
    DB table structures (Postgres, MongoDB), indexing (email hash, domain), migration strategies.

  • Compliance & Privacy
    GDPR/CCPA guidelines: retention policies, anonymization, privacy disclaimers.

  • Custom Connectors
    Build for Workato, Zapier, Make: HTTP module config, auth, mapping, error patterns.


Need help?

Explore the Postman Public Environment: Test out the API endpoints and see how the data is structured. You can access our public Postman workspace to experiment with live examples and understand the response formats - Access Lusha's Postman Workspace!