# Prospecting Companies

Search for companies that match your target market using rich filter criteria.

Filter by:
- Size, revenue range, industry, sub-industry
- Technologies in use
- Locations (HQ country, state, city)
- SIC and NAICS codes
- Buyer intent topics
- Signal activity (headcount changes, hiring surges, news events)

Results are paginated up to 50,000 total. Use the returned company id values with Enrich Companies to get full firmographic data.

> Billing: Charged per result via api_search. If signals are requested, an additional charge applies per matched signal per result.

Endpoint: POST /v3/companies/prospecting
Security: ApiKeyAuth

## Request fields (application/json):

  - `pagination` (object, required)

  - `pagination.page` (integer, required)

  - `pagination.size` (integer, required)
    Example: 25

  - `filters` (object, required)

  - `filters.companies` (object, required)

  - `filters.companies.include` (object, required)

  - `filters.companies.include.names` (array)

  - `filters.companies.include.domains` (array)

  - `filters.companies.include.ids` (array)

  - `filters.companies.include.searchText` (string)

  - `filters.companies.include.locations` (array)

  - `filters.companies.include.locations.city` (string)
    Example: "San Francisco"

  - `filters.companies.include.locations.state` (string)
    Example: "California"

  - `filters.companies.include.locations.country` (string)
    Example: "United States"

  - `filters.companies.include.locations.continent` (string)
    Example: "North America"

  - `filters.companies.include.locations.countryGrouping` (string)
    Example: "EMEA"

  - `filters.companies.include.sizes` (array)

  - `filters.companies.include.sizes.min` (integer)
    Example: 1

  - `filters.companies.include.sizes.max` (integer)
    Example: 1000

  - `filters.companies.include.revenues` (array)

  - `filters.companies.include.technologies` (array)

  - `filters.companies.include.technologiesCondition` (string)
    Enum: "or", "and"

  - `filters.companies.include.mainIndustriesIds` (array)

  - `filters.companies.include.subIndustriesIds` (array)

  - `filters.companies.include.intentTopics` (array)

  - `filters.companies.include.intentTopicsCondition` (string)
    Enum: "or", "and"

  - `filters.companies.include.topicCountThreshold` (array)

  - `filters.companies.include.sicCodes` (array)

  - `filters.companies.include.naicsCodes` (array)

  - `filters.companies.include.signals` (object)

  - `filters.companies.include.signals.types` (array)
    Example: ["headcountIncrease3m","surgeInHiring"]

  - `filters.companies.include.signals.startDate` (string)

  - `filters.companies.include.signals.filterByLocation` (array)

  - `filters.companies.include.signals.filterByLocation.country` (string)

  - `filters.companies.include.signals.filterByLocation.state` (string)

  - `filters.companies.include.signals.filterByLocation.startDate` (string)

  - `filters.companies.include.signals.filterByDepartment` (array)

  - `filters.companies.include.signals.filterByDepartment.department` (string, required)
    Example: "Engineering & Technical"

  - `filters.companies.include.signals.filterByDepartment.startDate` (string)

  - `filters.companies.include.foundedYear` (array)
    Filter by year the company was founded. Supports min (greater than or equal) and max (less than or equal) range operators.

  - `filters.companies.include.foundedYear.min` (integer)
    Example: 1990

  - `filters.companies.include.foundedYear.max` (integer)
    Example: 2020

  - `filters.companies.include.businessModel` (array)
    Filter by business model. Accepted values: B2B, B2C, B2G.
    Enum: "B2B", "B2C", "B2G"

  - `filters.companies.include.companyType` (array)
    Filter by company type. Accepted values: Government, Private Company, Public Company, Educational, Non Profit, Self Employed.
    Enum: "Government", "Private Company", "Public Company", "Educational", "Non Profit", "Self Employed"

  - `filters.companies.include.linkedinUrls` (array)
    Filter by company LinkedIn URLs.
    Example: ["https://www.linkedin.com/company/microsoft"]

  - `filters.companies.include.keywords` (array)
    Filter by keywords associated with the company.
    Example: ["cloud","artificial intelligence"]

  - `filters.companies.exclude` (object)

  - `options` (object)

  - `options.includePartialProfiles` (boolean)

## Response 200 fields (application/json):

  - `requestId` (string)

  - `results` (array)

  - `results.clientReferenceId` (string)
    Example: "comp-ref-1"

  - `results.id` (string)
    Example: "16303253"

  - `results.name` (string)
    Example: "Lusha"

  - `results.domain` (string)
    Example: "www.lusha.com"

  - `results.employeeCount` (object)

  - `results.employeeCount.exact` (integer)
    Example: 364

  - `results.employeeCount.min` (integer)
    Example: 201

  - `results.employeeCount.max` (integer)
    Example: 500

  - `results.industry` (string)
    Example: "Technology, Information & Media"

  - `results.location` (object)

  - `results.location.city` (string)
    Example: "London"

  - `results.location.state` (string)
    Example: "England"

  - `results.location.country` (string)
    Example: "United Kingdom"

  - `results.location.countryIso2` (string)
    Example: "GB"

  - `results.location.continent` (string)
    Example: "Europe"

  - `results.socialLinks` (object)

  - `results.socialLinks.linkedin` (string)
    Example: "https://www.linkedin.com/company/lushadata"

  - `results.has` (array)
    Available data points that can be revealed via Enrich Companies. Includes base firmographic fields plus new revealable fields: employeesByDepartment, employeesByLocation, employeesBySeniority, competitors, businessModel, phones, emails, keywords, socialLinks.
    Example: ["alternativeName","alternativeDomains","description","companyType","yearFounded","subIndustry","specialities","sicCodes","naicsCodes","additionalLocations","linkedinFollowers","popularityTier","logoUrl","employeesByDepartment","employeesByLocation","employeesBySeniority","competitors","businessModel","phones","emails","keywords","socialLinks"]

  - `results.canReveal` (array)
    Data fields that can be revealed via Enrich Companies, with the credit cost per field. A cost of 0 means the field has already been revealed for this account.
    Example: [{"field":"employeesByDepartment","credits":1},{"field":"employeesByLocation","credits":1},{"field":"employeesBySeniority","credits":1},{"field":"competitors","credits":1},{"field":"intent","credits":0}]

  - `results.canReveal.field` (string)
    Enum: "emails", "phones"

  - `results.canReveal.credits` (integer)
    Credit cost (0 when already revealed for this account)
    Example: 1

  - `results.signalTypes` (array)
    Example: ["headcountIncrease3m"]

  - `results.error` (object)
    Per-item error in a batch response

  - `results.error.code` (string)
    Enum: "NOT_FOUND", "COMPLIANCE_RESTRICTED", "ENRICH_FAILED"

  - `results.error.message` (string)
    Example: "Contact not found"

  - `pagination` (object)

  - `pagination.page` (integer)

  - `pagination.size` (integer)
    Example: 25

  - `pagination.total` (integer)
    Example: 150

  - `billing` (object)
    Credit usage summary for a V3 API request

  - `billing.creditsCharged` (integer)
    Total credits charged for this request
    Example: 3

  - `billing.resultsReturned` (integer)
    Number of successful results returned
    Example: 1

## Response 400 fields (application/json):

  - `statusCode` (integer, required)
    HTTP status code
    Example: 400

  - `message` (string, required)
    Error message
    Example: "Validation failed"

  - `errors` (array)
    Detailed error messages (optional, only for validation errors)
    Example: ["entityType must be one of: contact, company"]


