> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lusha.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search prospecting companies by firmographic filters

> Query Lusha's company database using firmographic filters - industry, size, revenue, location, technologies, and more - to get a paginated list of company previews.

`POST https://api.lusha.com/v3/companies/prospecting` takes firmographic filters describing your target account profile and returns a paginated list of matching **company previews**, each with an `id`. It does not return full firmographic records. To get those, pass the `id` values you want to [Enrich Companies](/api-reference/enrich/enrich-companies).

Before building your request, use the [company filter types](/api-reference/filters/company-filter-types) and [company filter values](/api-reference/filters/company-filter-values) endpoints to look up valid values for each field.

## Request body

Send a JSON body with `pagination` and `filters.companies.include` (required). All filter fields are optional - include only the ones relevant to your target accounts.

```json theme={null}
{
  "pagination": { "page": 0, "size": 25 },
  "filters": {
    "companies": {
      "include": {
        "mainIndustriesIds": [4, 5],
        "sizes": [{ "min": 51, "max": 500 }],
        "revenues": [{ "min": 10000000, "max": 50000000 }],
        "locations": [{ "country": "United States", "state": "New York" }],
        "technologies": ["Salesforce", "HubSpot"],
        "technologiesCondition": "or"
      }
    }
  }
}
```

### Common filter fields

| Field                                                              | Type       | Description                                                                      |
| ------------------------------------------------------------------ | ---------- | -------------------------------------------------------------------------------- |
| `filters.companies.include.mainIndustriesIds` / `subIndustriesIds` | integer\[] | Industry IDs                                                                     |
| `filters.companies.include.sizes`                                  | object\[]  | Employee count ranges as `{ "min": ..., "max": ... }`                            |
| `filters.companies.include.revenues`                               | object\[]  | Revenue ranges as `{ "min": ..., "max": ... }`                                   |
| `filters.companies.include.locations`                              | object\[]  | Geographic filters                                                               |
| `filters.companies.include.sicCodes`                               | string\[]  | SIC industry classification codes                                                |
| `filters.companies.include.naicsCodes`                             | string\[]  | NAICS industry classification codes                                              |
| `filters.companies.include.technologies`                           | string\[]  | Technologies the company uses, combined via `technologiesCondition` (`or`/`and`) |
| `filters.companies.include.intentTopics`                           | string\[]  | Buyer intent topics, combined via `intentTopicsCondition` (`or`/`and`)           |
| `filters.companies.exclude.domains`                                | string\[]  | Domains to remove from results                                                   |
| `pagination.page` / `pagination.size`                              | integer    | Pagination - `page` ranges `0–1000`, `size` ranges `10–100`                      |

See the [full field reference](/api-reference/prospecting/prospecting-companies) for every available filter, including founded year, funding, business model, and company type.

## Signal filtering

Narrow results to companies that have recently undergone a specific business event.

<Note>
  Credits are charged for each matched signal type per result, on top of the standard per-result charge.
</Note>

Add a `signals` object under `filters.companies.include`:

```json theme={null}
{
  "filters": {
    "companies": {
      "include": {
        "mainIndustriesIds": [4, 5],
        "sizes": [{ "min": 500, "max": 5000 }],
        "signals": {
          "types": ["headcountIncrease3m", "surgeInHiring"],
          "startDate": "2025-01-01"
        }
      }
    }
  },
  "pagination": { "page": 0, "size": 25 }
}
```

Company signal filters also accept `filterByLocation` and `filterByDepartment` to scope matching to a specific geography or department. See [Signals](/signals/overview) for background on available signal types.

## Example request

<CodeGroup>
  ```bash cURL theme={null}
  curl --request POST \
    --url https://api.lusha.com/v3/companies/prospecting \
    --header 'api_key: YOUR_API_KEY' \
    --header 'Content-Type: application/json' \
    --data '{
      "pagination": { "page": 0, "size": 25 },
      "filters": {
        "companies": {
          "include": {
            "sizes": [{ "min": 1, "max": 1000 }],
            "locations": [{ "country": "United States" }],
            "technologies": ["React", "Node.js"],
            "mainIndustriesIds": [1, 5]
          }
        }
      }
    }'
  ```

  ```json Request body theme={null}
  {
    "pagination": { "page": 0, "size": 25 },
    "filters": {
      "companies": {
        "include": {
          "sizes": [{ "min": 1, "max": 1000 }],
          "locations": [{ "country": "United States" }],
          "technologies": ["React", "Node.js"],
          "mainIndustriesIds": [1, 5]
        }
      }
    }
  }
  ```
</CodeGroup>

## Example response

```json theme={null}
{
  "requestId": "5ad275c8-7dd4-462a-bd45-6bc1970da64e",
  "pagination": { "page": 0, "size": 25, "total": 874 },
  "results": [
    {
      "id": "16303253",
      "name": "Lusha",
      "domain": "www.lusha.com",
      "employeeCount": { "min": 201, "max": 500 },
      "industry": "Technology, Information & Media"
    }
  ],
  "billing": {
    "creditsCharged": 1,
    "resultsReturned": 1
  }
}
```

Each result's `id` is what you pass to [Enrich Companies](/api-reference/enrich/enrich-companies) to reveal full firmographic records. Previews may also include `has` (fields already populated) and `canReveal` (fields you can reveal, and at what credit cost) - see the [full API reference](/api-reference/prospecting/prospecting-companies) for the complete response schema.

<Tip>
  Use the [company filter types](/api-reference/filters/company-filter-types) and [company filter values](/api-reference/filters/company-filter-values) endpoints to fetch valid values for `mainIndustriesIds`, `sizes`, `revenues`, `sicCodes`, `naicsCodes`, `intentTopics`, and `technologies` before building your search request.
</Tip>
