The Person API allows you to look up detailed information about a person using various identifiers, such as their email, LinkedIn URL, full name, company name, or company domain. You can retrieve key data points like Location, Email, Phone number, Social network URLs.
Lusha API
Lusha provides a RESTful API that allows you to query a comprehensive dataset of business profiles and company information.
All API requests should be made over HTTPS (SSL), and the response bodies are delivered in JSON format.
Please note that Lusha is a search platform, meaning the data provided is not created or directly managed by us. Instead, it is retrieved from publicly available sources and through contributions from trusted business partners.
For more information on how we collect, use, and handle business profiles, please refer to our Privacy Policy.
To access the Lusha API, you must authenticate your requests using your API key. This key is unique to your account and is used to identify your usage of the API.
When making an API call, include your API key in the api_key header of the request.
- To obtain your API key, please visit the following link: https://dashboard.lusha.com/enrich/api
- Your API key is sensitive and should be kept private. Do not share it with anyone outside of your organisation.
- The API key is used to track and manage your usage of the API, so ensure it is protected from unauthorised access.
- Person Enrichment: Get contact information for individuals
- Company Enrichment: Get detailed company information
- Prospecting: Search and enrich contacts and companies based on specific criteria
- Account Management: Monitor your API credit usage
- Signals: Retrieve signals data for contacts and companies
- Recommendations: Discover similar contacts and companies based on your existing data
Lusha API enforces rate limiting to ensure fair usage and protect against excessive load.
- General Rate Limit: You can make up to 25 requests per second to each API endpoint
- Credit Usage API: Has a specific rate limit of 5 requests per minute
Note: Rate limits may vary based on your account type and subscription plan. If you're encountering rate limit issues frequently, please consult with your account manager or Lusha support team to discuss your specific needs.
To monitor your current rate limit status, check the HTTP response headers in your API calls:
| Header | Description |
|---|---|
x-rate-limit-daily | The total number of requests allowed per day under your current plan |
x-daily-requests-left | The number of requests remaining in your daily quota |
x-daily-usage | The number of requests you have made in the current daily period |
x-rate-limit-hourly | The total number of requests allowed per hour under your current plan |
x-hourly-requests-left | The number of requests remaining in your hourly quota |
x-hourly-usage | The number of requests you have made in the current hourly period |
x-rate-limit-minute | The total number of requests allowed per minute under your current plan |
x-minute-requests-left | The number of requests remaining in your current minute window |
x-minute-usage | The number of requests you have made in the current minute window |
- If you exceed the rate limit, the API will return a 429 (Too Many Requests) error.
- To ensure a smooth experience, respect the rate limits defined by your subscription tier.
- Daily limits vary based on your billing plan — higher tiers have higher quotas.
- You can programmatically track your usage through these response headers:
X-RateLimit-Remaining-DailyX-RateLimit-Reset-Daily
- It is strongly recommended to implement logic that:
- Monitors these headers
- Pauses or retries requests accordingly
- Helps avoid hitting the limit and ensures reliable operation
Lusha API uses standard HTTP response codes to indicate the status of your request. These codes help you understand whether the request was successful or if there was an issue.
| Status Code | Name | Description |
|---|---|---|
| 200 | OK | Successful request |
| 400 | Bad Request | Badly formatted request |
| 401 | Unauthorized | The API key is invalid |
| 403 | Forbidden | Your account is not active. Please reach out to support at support@lusha.com for assistance |
| 403 | Forbidden | Your pricing version does not support requesting individual datapoints [revealEmails, revealPhones] |
| 404 | Not Found | The requested endpoint was not found |
| 412 | Precondition Failed | The request failed due to invalid syntax that was provided. Please make sure to send a full name field that contains a valid first & last name |
| 429 | Too Many Requests | You've reached your trial limit, please contact support for upgrade |
| 429 | Too Many Requests | Daily API quota limit exceeded. Limit X calls per day |
| 429 | Too Many Requests | Hourly API rate limit exceeded. Limit: X calls per hour. Reset in X seconds |
| 451 | Unavailable For Legal Reasons | We are unable to process this contact request due to our GDPR regulations |
| 499 | Client Closed Request | Request failed due to request timeout |
| 5XX | Server Error | There's a problem on Lusha's end |
In case of an error, the response body will contain details about the error:
{
"error": {
"code": 400,
"message": "Invalid request parameters"
}
}Array of signal types to retrieve for the company.
allSignals: All available signal typesheadcountGrowth: Company size changesnewJobsOpen: New job openingsnewsEvent: Company related events
See Signal Filters for complete details on available signals and their categories
Start date for signal retrieval in YYYY-MM-DD format. Defaults to 6 months ago if not specified.
- Mock serverhttps://docs.lusha.com/_mock/apis/openapi/v2/company
- Production serverhttps://api.lusha.com/v2/company
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.lusha.com/_mock/apis/openapi/v2/company?domain=example.com&company=Lusha&companyId=1234567890&signals=headcountGrowth%2CnewJobsOpen&signalsStartDate=2025-03-01&partialCompany=false' \
-H 'api_key: YOUR_API_KEY_HERE'{ "data": { "id": 123, "description": "Lusha is the sales intelligence platform designed to help businesses get their next customers.", "domain": "lusha.com", "employees": "201 - 500", "founded": "August 1, 2011", "fqdn": "www.lusha.com", "logoUrl": "https://logo.lusha.co/logo.jpg", "name": "Lusha", "revenueRange": [ … ], "mainIndustry": "Technology", "subIndustry": "Software", "social": { … }, "address": "North America United States Boston 800 Boylston St , Suite 1410 , Boston, Massachusetts 02199, US Massachusetts US MA -71.05976867675781,42.358428955078125 ", "location": { … }, "categories": [ … ], "industryPrimaryGroupDetails": { … }, "website": "https://lusha.com", "specialities": [ … ], "funding": { … }, "intent": { … }, "technologies": [ … ] }, "errors": { "message": "Something went wrong" }, "meta": {} }
Request
Search for multiple companies in a single request. Provide a list of companies with identifiers like domain names or company IDs.
POST https://api.lusha.com/bulk/company/v2- At least one of
domain,company, orcompanyIdis required. - You can process up to 100 companies per request.
The list of companies to search
A unique sequential ID associated with each company. This ID is used to correlate the provided company object with the API response
Array of signal types to retrieve for the companies.
allSignals: All available signal typesheadcountGrowth: Company size changesnewJobsOpen: New job openingsnewsEvent: Company related events
See Signal Filters for complete details on available signals and their categories
Start date for signal retrieval in YYYY-MM-DD format. Defaults to 6 months ago if not specified.
- Mock serverhttps://docs.lusha.com/_mock/apis/openapi/v2/company
- Production serverhttps://api.lusha.com/v2/company
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://docs.lusha.com/_mock/apis/openapi/v2/company \
-H 'Content-Type: application/json' \
-H 'api_key: YOUR_API_KEY_HERE' \
-d '{
"companies": [
{
"id": "1",
"name": "Lusha"
},
{
"id": "2",
"domain": "google.com"
}
]
}'{ "1": { "id": 33222678, "lushaCompanyId": "16303253", "name": "Lusha", "companySize": [ … ], "fqdn": "www.lusha.com", "founded": "2016", "description": "Lusha is the leader in Sales Streaming – a new sales paradigm that streams top leads straight to salespeople and handles all the outreach, so they can escape the lead grind and just sell.\n\nLusha's Sales Streaming Platform is built around Sales Playlists that continuously fill up with their ideal prospects – think \"Spotify for sales.\" With AI doing the heavy lifting, Lusha uncovers great-fit leads salespeople never knew existed and executes tailored, perfectly timed cadences that get meetings booked. And the more you use Lusha, the smarter it gets.\n\nWith Sales Streaming, salespeople spend most of their time face-to-face with relevant prospects, driving 4-6X more business.", "logoUrl": "https://logo.lusha.co/brightdata/year=2024/month=05/day=03/j_lvq47h0g13te1b3wpu.e7b0795e7affc9953dadd43e6fce99a2c5260043.file_lvq4cfwv17kcb9m4ej.logo_cached.jpg", "industryPrimaryGroupDetails": { … }, "linkedin": "https://www.linkedin.com/company/lushadata", "mainIndustry": "Technology, Information & Media", "subIndustry": "Software Development", "city": "Boston", "state": "Massachusetts", "country": "United States", "countryIso2": "US", "continent": "North America", "rawLocation": "800 Boylston St; Suite 1410; Boston, Massachusetts 02199, US", "crunchbase": "https://www.crunchbase.com/organization/lusha", "specialities": [ … ], "funding": { … }, "intent": { … } }, "2": { "id": 1441, "lushaCompanyId": "10117615", "name": "Google", "companySize": [ … ], "revenueRange": [ … ], "fqdn": "www.google.com", "description": "A problem isn't truly solved until it's solved for all. Googlers build products that help create opportunities for everyone, whether down the street or across the globe. Bring your insight, imagination and a healthy disregard for the impossible. Bring everything that makes you unique. Together, we can build for everyone.\n\nCheck out our career opportunities at goo.gle/3DLEokh", "logoUrl": "https://logo.lusha.co/coresignal/202405/c/82/c822c1b63853ed273b89687ac505f9fa", "industryPrimaryGroupDetails": { … }, "linkedin": "https://www.linkedin.com/company/google", "mainIndustry": "Technology, Information & Media", "subIndustry": "Software Development", "city": "Mountain View", "state": "California", "country": "United States", "countryIso2": "US", "continent": "North America", "rawLocation": "1600 Amphitheatre Parkway; Mountain View, CA 94043, US", "crunchbase": "https://www.crunchbase.com/organization/g-pay", "specialities": [ … ], "intent": { … } } }
Prospecting
With Lusha's Prospecting API, you can query Lusha's extensive database based on specific criteria (such as job title, seniority, location, and more) to retrieve detailed contact and company information.
The Prospecting API is designed to help you generate new records (contacts or leads) for your CRM system, using filters that align with your Ideal Customer Profile (ICP).
This process involves three main steps:
| Step | API | Description |
|---|---|---|
| 1 | Filters API | Apply filters to refine your search |
| 2 | Search API | Query Contacts or Companies using the available filters |
| 3 | Enrich API | Get full details of Contacts and Companies from the search results |
Important Notes:
- The API KEY header is mandatory for every request to our service.
Signals
With Lusha’s Signals API, you can enrich your contacts and companies with timely insights that highlight key account and prospect changes. Signals help you identify moments of opportunity - from job moves and promotions to company growth and new initiatives - so you can engage prospects and customers at exactly the right time. Easily integrate signal data into enrichment flows, CRM systems, or automation workflows to keep pipelines and customer records always up to date.