Skip to main content
POST https://api.lusha.com/prospecting/company/search is step 2 of the 3-step company prospecting flow. You pass firmographic filters that describe your target account profile and receive back a paginated list of matching companies, each with an id. No credits are consumed at this step - credits are charged when you enrich the results in step 3. Before building your request, use the Company Filters endpoints to look up valid values for each field.

Request body

Send a JSON body with a filters.companies object. All filter fields are optional - include only the ones relevant to your target accounts.

Common filter fields

Signal filtering (premium feature)

You can narrow results to companies that have recently undergone a specific business event by filtering on signal types.
Signal filtering is a premium feature. Credits are charged for each signal type that returns results.
Add a signal object under filters.companies.include to match companies with recent activity:
Company signal names use the same values as the Signals API - for example surgeInHiring, headcountIncrease6m, websiteTrafficIncrease, and financialEventsNews. See GET /api/signals/filters/company for the complete list.

Example request

Example response

The requestId and each company’s id are what you pass to the Enrich Companies endpoint to retrieve full records. See the full API reference for the complete response schema, including all has* availability flags.
Use the Company Filters endpoints to fetch valid values for mainIndustriesIds, sizes, revenues, sicCodes, naicsCodes, intentTopics, and technologies before building your search request.