> ## 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.

# Find similar companies with POST /v3/companies/lookalike

> Identify new target accounts that share firmographics with your best customers by submitting seed company domains or LinkedIn URLs to the lookalikes endpoint.

The company lookalikes endpoint takes a set of seed companies and returns accounts with similar firmographics - including industry, employee count, and geography. Use it to build account lists that mirror your current customer base without manually defining every filter criterion.

**Endpoint:** `POST https://api.lusha.com/v3/companies/lookalike`

## Request body

| Field             | Type    | Required | Description                                                                                                                |
| ----------------- | ------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |
| `seeds`           | object  | Yes      | Seed companies, identified via `domains` and/or `linkedinUrls`. Provide 5–100 unique identifiers total across both arrays. |
| `dedupeSessionId` | string  | No       | Session token from a previous call. Omit on the first request.                                                             |
| `exclude`         | object  | No       | Companies to exclude from results, in the same shape as `seeds`.                                                           |
| `limit`           | integer | No       | Results per call. Range `1`–`100`, default `25`.                                                                           |

## Paginating without duplicates

The endpoint uses the same `dedupeSessionId` deduplication mechanism as contact lookalikes. On the first request the server generates a session; on subsequent requests you pass that session ID back to receive only new results.

<Steps>
  <Step title="First call - start a new session">
    Send your seed companies without a `dedupeSessionId`. The response includes the first batch of lookalike companies and a `dedupeSessionId` to use in follow-up calls.

    ```json theme={null}
    {
      "seeds": {
        "domains": ["sap.com", "oracle.com"]
      }
    }
    ```
  </Step>

  <Step title="Subsequent calls - continue the session">
    Pass the `dedupeSessionId` from the previous response. The server skips companies it has already returned for this session.

    ```json theme={null}
    {
      "dedupeSessionId": "58adaa77-7a6e-4c9b-8c2d-820a6538e613",
      "seeds": {
        "domains": ["sap.com"]
      }
    }
    ```
  </Step>
</Steps>

<Note>
  Sessions are retained for **30 days** from the last activity (sliding window). After 30 days of inactivity the session expires and the next call starts a new one.
</Note>

## Example: first request

```bash theme={null}
curl --request POST \
  --url https://api.lusha.com/v3/companies/lookalike \
  --header 'api_key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "seeds": {
      "domains": ["sap.com", "oracle.com"],
      "linkedinUrls": ["https://www.linkedin.com/company/google"]
    },
    "exclude": {
      "domains": ["existingcustomer.com"]
    },
    "limit": 100
  }'
```

## Example: get more results

```bash theme={null}
curl --request POST \
  --url https://api.lusha.com/v3/companies/lookalike \
  --header 'api_key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "dedupeSessionId": "58adaa77-7a6e-4c9b-8c2d-820a6538e613",
    "seeds": {
      "domains": ["sap.com"]
    },
    "limit": 100
  }'
```

## Example response

```json theme={null}
{
  "dedupeSessionId": "58adaa77-7a6e-4c9b-8c2d-820a6538e613",
  "results": [
    {
      "id": "16303253",
      "name": "Marriott International",
      "domain": "marriott.com",
      "employeeCount": { "exact": 255334 },
      "industry": "Hospitality",
      "location": {
        "country": "United States",
        "state": "Maryland",
        "city": "Bethesda"
      },
      "socialLinks": {
        "linkedin": "https://www.linkedin.com/company/marriott-international"
      }
    }
  ],
  "meta": {
    "returned": 1,
    "hasMore": true
  },
  "billing": {
    "creditsCharged": 1,
    "resultsReturned": 1
  }
}
```

Carry `dedupeSessionId` from the response into your next request, and check `meta.hasMore` to know whether more results are available.

Results are lightweight previews. Pipe each `id` into [Enrich Companies](/api-reference/enrich/enrich-companies) to retrieve full firmographic data.

## Identifying seed companies

You can identify each seed company using either of these fields inside `seeds`:

| Field          | Example                                    |
| -------------- | ------------------------------------------ |
| `domains`      | `["sap.com", "oracle.com"]`                |
| `linkedinUrls` | `["https://www.linkedin.com/company/sap"]` |

## Use cases

* **Mirror your customer base** - feed in your top accounts and get back companies with similar headcount and industry.
* **Prioritize outbound accounts** - use lookalike results to rank new target accounts before handing them off to your sales team.

<Tip>
  Seed the endpoint with closed-won or high-LTV accounts for the highest-quality results. A focused seed set of 5–20 accounts typically outperforms a broad one.
</Tip>

See the [full API reference](/api-reference/lookalikes/company-lookalikes) for request/response schemas and error codes.
