---
title: "Prospecting Companies"
method: POST
path: "/v3/companies/prospecting"
tags: ["Prospecting"]
---

# Prospecting Companies

`POST /v3/companies/prospecting`

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, LinkedIn activity intent)

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.

> **Persisting to a table:** Pass `tableId` to also persist matching results into an existing table. This is additive — the primary response is unchanged, and a `tableWrite` object is added showing what happened on the table side. See [Companies Tables](#tag/Companies-Tables).

## Request body

- V3ProspectingCompaniesRequest
  - `pagination` V3PaginationRequest, required
    - `page` integer, required
    - `size` integer, required
  - `filters` object, required — `filters.contacts` cannot be combined with company `searchText`, `signals`, `intent`, or `technologies` on the same request — doing so returns `400` (contact filters are never silently ignored).
    - `companies` object, required
      - `include` V3CompanyProspectingFilters, required
        - `names` string[]
        - `domains` string[]
        - `ids` string[]
        - `searchText` string
        - `locations` V3Location[]
          - `city` string
          - `state` string
          - `country` string
          - `continent` string
          - `countryGrouping` string
          - `region` string
          - `countryIso2` string
        - `sizes` V3Range[]
          - `min` integer
          - `max` integer
        - `revenues` V3Range[]
          - `min` integer
          - `max` integer
        - `technologies` string[]
        - `technologiesCondition` 'or' | 'and'
        - `mainIndustriesIds` integer[]
        - `subIndustriesIds` integer[]
        - `intentTopics` string[]
        - `intentTopicsCondition` 'or' | 'and'
        - `intentMinScore` integer
        - `intentMaxScore` integer
        - `intentTopicsOperator` 'or' | 'and' | 'any' | 'all' — Recommended over `intentTopicsCondition`. `any`/`all` are aliases for `or`/`and`. `intentTopicsCondition` is not deprecated and remains accepted.
        - `topicCountThreshold` V3Range[]
          - `min` integer
          - `max` integer
        - `sicCodes` string[]
        - `naicsCodes` string[]
        - `signals` object
          - `types` string[]
          - `startDate` string, date
          - `filterByLocation` object[]
            - `country` string
            - `state` string
            - `startDate` string, date
          - `filterByDepartment` object[]
            - `department` string, required
            - `startDate` string, date
          - `filterByIntentCategory` string[] — Refines linkedinActivityIntent results by Bombora intent category. Applied only when linkedinActivityIntent is present in `types` (or selected via allSignals). Omit to match all categories. See GET /v3/companies/signals/filters/intentCategories for the full list of valid values.
        - `foundedYear` object[] — Filter by year the company was founded. Supports `min` (greater than or equal) and `max` (less than or equal) range operators.
          - `min` integer
          - `max` integer
        - `businessModel` string[] — Filter by business model. Accepted values: B2B, B2C, B2G.
        - `companyType` string[] — Filter by company type. Accepted values: Government, Private Company, Public Company, Educational, Non Profit, Self Employed.
        - `linkedinUrls` string[] — Filter by company LinkedIn URLs.
        - `keywords` string[] — Filter by keywords associated with the company.
        - `specialities` string[]
        - `exactSpecialities` string[]
        - `exactKeywords` string[]
        - `keywordsSearchFields` string[]
        - `previousCompanyDomains` string[]
        - `previousCompanyNames` string[]
        - `geographicDetails` object[]
          - `country` string
          - `zipcode` string
          - `distance` integer — Radius in miles.
        - `locationsZipcodes` object[]
          - `countryIso2` string
          - `zipcode` string
        - `headquarterZipcodes` object[]
          - `countryIso2` string
          - `zipcode` string
      - `exclude` V3CompanyProspectingFilters
        - `names` string[]
        - `domains` string[]
        - `ids` string[]
        - `searchText` string
        - `locations` V3Location[]
          - `city` string
          - `state` string
          - `country` string
          - `continent` string
          - `countryGrouping` string
          - `region` string
          - `countryIso2` string
        - `sizes` V3Range[]
          - `min` integer
          - `max` integer
        - `revenues` V3Range[]
          - `min` integer
          - `max` integer
        - `technologies` string[]
        - `technologiesCondition` 'or' | 'and'
        - `mainIndustriesIds` integer[]
        - `subIndustriesIds` integer[]
        - `intentTopics` string[]
        - `intentTopicsCondition` 'or' | 'and'
        - `intentMinScore` integer
        - `intentMaxScore` integer
        - `intentTopicsOperator` 'or' | 'and' | 'any' | 'all' — Recommended over `intentTopicsCondition`. `any`/`all` are aliases for `or`/`and`. `intentTopicsCondition` is not deprecated and remains accepted.
        - `topicCountThreshold` V3Range[]
          - `min` integer
          - `max` integer
        - `sicCodes` string[]
        - `naicsCodes` string[]
        - `signals` object
          - `types` string[]
          - `startDate` string, date
          - `filterByLocation` object[]
            - `country` string
            - `state` string
            - `startDate` string, date
          - `filterByDepartment` object[]
            - `department` string, required
            - `startDate` string, date
          - `filterByIntentCategory` string[] — Refines linkedinActivityIntent results by Bombora intent category. Applied only when linkedinActivityIntent is present in `types` (or selected via allSignals). Omit to match all categories. See GET /v3/companies/signals/filters/intentCategories for the full list of valid values.
        - `foundedYear` object[] — Filter by year the company was founded. Supports `min` (greater than or equal) and `max` (less than or equal) range operators.
          - `min` integer
          - `max` integer
        - `businessModel` string[] — Filter by business model. Accepted values: B2B, B2C, B2G.
        - `companyType` string[] — Filter by company type. Accepted values: Government, Private Company, Public Company, Educational, Non Profit, Self Employed.
        - `linkedinUrls` string[] — Filter by company LinkedIn URLs.
        - `keywords` string[] — Filter by keywords associated with the company.
        - `specialities` string[]
        - `exactSpecialities` string[]
        - `exactKeywords` string[]
        - `keywordsSearchFields` string[]
        - `previousCompanyDomains` string[]
        - `previousCompanyNames` string[]
        - `geographicDetails` object[]
          - `country` string
          - `zipcode` string
          - `distance` integer — Radius in miles.
        - `locationsZipcodes` object[]
          - `countryIso2` string
          - `zipcode` string
        - `headquarterZipcodes` object[]
          - `countryIso2` string
          - `zipcode` string
    - `contacts` object
      - `include` V3ContactsOnCompanySearchFilters — Restricted contact-attribute filters usable within a company prospecting request.
        - `jobTitles` string[]
        - `departments` string[]
        - `seniorityIds` integer[]
        - `skills` string[]
        - `locations` V3Location[]
          - `city` string
          - `state` string
          - `country` string
          - `continent` string
          - `countryGrouping` string
          - `region` string
          - `countryIso2` string
        - `existingDataPoints` string[]
      - `exclude` V3ContactsOnCompanySearchFilters — Restricted contact-attribute filters usable within a company prospecting request.
        - `jobTitles` string[]
        - `departments` string[]
        - `seniorityIds` integer[]
        - `skills` string[]
        - `locations` V3Location[]
          - `city` string
          - `state` string
          - `country` string
          - `continent` string
          - `countryGrouping` string
          - `region` string
          - `countryIso2` string
        - `existingDataPoints` string[]
  - `tableId` string — Optional. If provided, results are also persisted to this table. See the Tables API.
  - `options` object
    - `includePartialProfiles` boolean

## Response `200`

Successful response

- V3ProspectingCompaniesResponse
  - `requestId` string, uuid
  - `results` V3CompanyPreview[]
    - `clientReferenceId` string
    - `id` string
    - `name` string
    - `domain` string
    - `employeeCount` object
      - `exact` integer
      - `min` integer
      - `max` integer
    - `industry` string
    - `location` object
      - `city` string
      - `state` string
      - `stateCode` string — Free field. ISO/postal state or region code, when available.
      - `country` string
      - `countryIso2` string
      - `continent` string
    - `socialLinks` object
      - `linkedin` string
    - `has` string[] — 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, estimatedAnnualItSpend, monthlyWebsiteTraffic.
    - `canReveal` V3CanRevealItem[] — 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.
      - `field` 'emails' | 'phones'
      - `credits` integer — Credit cost (0 when already revealed for this account)
    - `signalTypes` string[]
    - `error` V3ItemError — Per-item error in a batch response
      - `code` 'NOT_FOUND' | 'COMPLIANCE_RESTRICTED' | 'ENRICH_FAILED'
      - `message` string
  - `pagination` V3PaginationResponse
    - `page` integer
    - `size` integer
    - `total` integer
  - `tableWrite` TableWrite — Added to a Prospecting, Enrich, Signals, or Lookalike response when `tableId` is passed on the request. The primary response is unaffected even if the table write fails.
    - `tableId` string
    - `added` integer — Number of new entities added to the table by this call.
    - `alreadyPresent` integer — Number of entities from this call that were already in the table.
    - `columnsCreated` integer — Number of columns auto-created by this call (e.g. a Signals column created on first use).
    - `rowsProcessed` integer — Number of rows the column-run touched as part of this call.
    - `rowsCharged` integer — Number of those rows that incurred a credit charge.
    - `rowsAlreadyPaidInTable` integer — Number of those rows that were already paid for in this table and were not re-charged.
    - `creditsCharged` integer — Credits charged specifically for this table write.
  - `billing` V3Billing — Credit usage summary for a V3 API request
    - `creditsCharged` integer — Total credits charged for this request
    - `resultsReturned` integer — Number of successful results returned

## Other responses

- `400` — Bad request - invalid input data
- `401` — Unauthorized - invalid or missing API key
- `402` — Payment required - insufficient credits
- `403` — Forbidden - account inactive, V3 access not enabled, or plan does not include this feature
- `429` — Too many requests - rate limit exceeded

---

[API](https://skmtc.net/lusha/apis/lusha-api-documentation.md) · [All operations](https://skmtc.net/lusha/apis/lusha-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lusha/lusha-api-documentation/revisions/4c51e40e3e67/schema)
