Skip to main content
Before building a Prospecting Companies request, use the Filters API to retrieve the exact values Lusha accepts. Passing values outside the API’s taxonomy causes searches to return no results, so fetching valid options first ensures your queries work as expected.
V3 change: company filters are no longer one endpoint per filter type (names, sizes, revenues, SIC codes, and so on). V3 collapses discovery and lookup into two generic endpoints - the same two endpoints work for every filter type; the filterType you pass tells the API which dimension you want.

The two-step pattern

1

Discover filter types

Call GET /v3/companies/prospecting/filters. It returns every company filter type and a requiresQuery flag telling you whether that type needs a search term.
2

Fetch values for the filter type you need

Call GET /v3/companies/prospecting/filters/{filterType} with the filterType from step 1. If requiresQuery was true, also pass a query string (2–256 characters).
3

Pass the values into your search request

Nest the selected values under filters.companies.include in POST /v3/companies/prospecting:

Which filter types need a query

sizes, revenues, sics, naics, intentTopics, and industriesLabels return their entire value set in one call. names, technologies, and locations are too large to enumerate, so you search them with a free-text query (for example, "Salesforce" or "Austin") and get back matching values.
sics and naics provide more granular industry targeting than industriesLabels. Use them when you need to narrow a search to a specific sub-sector that doesn’t map cleanly to a label.
sizes, revenues, sics, naics, intentTopics, and industriesLabels rarely change. Cache their values instead of calling the discovery or values endpoints before every search.

Next steps

Company Filter Types

Full reference for the discovery endpoint.

Company Filter Values

Full reference for the values endpoint, including response shapes per filter type.