---
title: "Company Lookalike"
method: POST
path: "/v3/companies/lookalike"
tags: ["Company Data"]
---

# Company Lookalike

`POST /v3/companies/lookalike`

Find similar companies from a seed domain or description with full company output.
Costs **5 credits** when one or more lookalikes are returned; **free** when empty.
Common aliases (`domain`, `website`, `company_website`, `name`) and misspellings
(`companny_domain`, `limmit`, …) are accepted and remapped. `preview: true` is
chatbot-UI only — API keys receive 400.

## Request body

- object
  - `company_domain` string — Seed company domain. Aliases include domain, website, company_website, seed.domain. Typos like companny_domain are remapped.
  - `domain` string — Alias for company_domain.
  - `website` string — Seed website URL or domain.
  - `company_website` string — Alias for website.
  - `company_name` string — Seed company name used as text intent when no domain is supplied.
  - `name` string — Alias for company_name.
  - `description` string — Free-text seed description.
  - `company_description` string — Alias for description.
  - `seed` object — Optional seed object. Prefer seed.domain.
  - `company_filters` object — Same full company filter family as Company Search. Alias filters.
  - `filters` object — Alias for company_filters.
  - `preview` boolean — Free preview — chatbot UI only. API/MCP clients receive 400.
  - `limit` integer — Page size. Typos like limmit are remapped.
  - `offset` integer

## Response `200`

Company lookalike results (flat JSON body — not wrapped in data)

- object
  - `message` string, required
  - `credits_consumed` number, required — Flat 5 when results returned; 0 when empty
  - `companies` object[], required
    - `company_domain` string
    - `company_name` string
    - `company_website` string
    - `company_industry_linkedin` string
    - `employee_range` string
    - `employee_min` integer
    - `employee_max` integer
    - `linkedin_employee_count` integer
    - `revenue_range` string
    - `revenue_min` string
    - `revenue_max` string
    - `hq_country` string
    - `hq_country_code` string
    - `hq_city` string
    - `hq_state` string
    - `similarity` number — Lookalike similarity score when available
    - `source_seed_domain` string
    - `match_context` string
  - `count` integer, required
  - `returned_count` integer, required
  - `limit_applied` integer
  - `offset` integer
  - `interpreted_search` object — Normalized seed and company_filters used for the query
  - `metadata` object
    - `query_name` string
    - `query_path` string
    - `preview` boolean
    - `degraded` boolean — True when upstream was briefly unavailable and an empty free response was returned

## Other responses

- `400` — Bad Request - The request was malformed or contains invalid parameters. **Common causes:** - Missing required fields - Invalid field format (e.g., malformed email) - Invalid JSON syntax - Invalid parameter values
- `401` — Unauthorized - Authentication failed. **Common causes:** - Missing X-API-Key header - Invalid or expired API key - Malformed API key
- `402` — Payment Required - Insufficient credits for this request. **Action required:** Add credits to your account at https://app.leadmagic.io/settings/billing
- `429` — Too Many Requests - Rate limit exceeded. **Action required:** Check the `Retry-After` header for when to retry. **Headers returned:** - `Retry-After`: Seconds until you can retry - `RateLimit-Limit`: Your limit per minute - `RateLimit-Remaining`: Remaining requests this minute - `RateLimit-Reset`: Seconds until limit resets

---

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