Company Data

Company Lookalike

Changed on

Find similar companies from a seed domain or description using company context and recorded attributes. Similarity scores describe ranking closeness, not a buying-fit probability. 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.

post/v3/companies/lookalike

Request

  • Base URL
    https://api.leadmagic.io
  • Auth
    API key in header X-API-Key

Request body

company_domainstring

Seed company domain. Aliases include domain, website, company_website, seed.domain. Typos like companny_domain are remapped.

domainstring

Alias for company_domain.

websitestring

Seed website URL or domain.

company_websitestring

Alias for website.

company_namestring

Seed company name used as text intent when no domain is supplied.

namestring

Alias for company_name.

descriptionstring

Free-text seed description.

company_descriptionstring

Alias for description.

seedobject

Optional seed object. Prefer seed.domain.

company_filtersobject

Subset of the Company Search filters: HQ country_codes, employee_ranges, min/max_employees, revenue_ranges, min/max_revenue, industries, sic_codes, naics_codes, founded_after/before, has_funding, min/max_total_funding, has_tech_stack, tech_stack, and the *_tech technographic columns. Follower-count and growth bounds are unsupported. Other Company Search filters (e.g. presence location_country_codes, hq_city) are echoed in interpreted_search but not applied. Check ignored_filters and warnings. Alias filters.

filtersobject

Alias for company_filters.

previewboolean

Free preview: chatbot UI only. API/MCP clients receive 400.

limitinteger

Page size. Pages hold at most 100 companies: values 101-2000 are clamped to 100 (metadata.limit_clamped, requested_limit, applied_limit, and a Warning header); values above 2000 return 400. Page with offset = metadata.next_offset. Typos like limmit are remapped.

offsetinteger

Offset into the similarity ranking (100, 200, …). Lookalike has no cursor. Deeper pages take longer.

Example request

{
  "company_domain": "leadmagic.io"
}

Response

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

messagestring required

"Lookalike companies found", "No lookalike companies found", or a narrow-your-filters-or-retry message when metadata.degraded is true.

credits_consumednumber required

Flat 5 when results returned; 0 when empty or degraded

countinteger required
returned_countinteger required
limit_appliedinteger
offsetinteger
interpreted_searchobject

Normalized seed and company_filters used for the query

Example response

{
  "message": "Lookalike companies found",
  "credits_consumed": 5,
  "companies": [
    {
      "similarity": "0.7801",
      "company_logo_url": "https://logo.leadmagic.io/privy.io"
    }
  ],
  "count": 5,
  "returned_count": 5,
  "limit_applied": 25,
  "metadata": {
    "query_name": "company_lookalike_v3",
    "query_path": "lookalike"
  }
}

Changes

    • breaking

      the // response's property type changed from number to string for status

    • warning

      the request property's max was set to 2000.00

    • warning

      removed the optional property // from the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property // to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • breaking

      added to the response body oneOf list for the response status

    • info

      removed from the response body allOf list for the response status