Skip to main content
POST
/
v1
/
companies
/
{company_identifier}
/
similar
Find Similar Companies
curl --request POST \
  --url https://api.extruct.ai/v1/companies/{company_identifier}/similar \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "filters": {
    "include": {
      "size": [],
      "country": [
        "<string>"
      ],
      "city": [
        "<string>"
      ]
    },
    "exclude": {
      "size": [],
      "country": [
        "<string>"
      ],
      "city": [
        "<string>"
      ],
      "domains": [
        "<string>"
      ]
    },
    "range": {
      "founded": {
        "min": 123,
        "max": 123
      }
    }
  },
  "pagination": {
    "offset": 123,
    "limit": 123
  }
}
'
{
  "results": [
    {
      "id": "<string>",
      "domain": "<string>",
      "name": "<string>",
      "short_description": "<string>",
      "full_description": "<string>",
      "products_services": "<string>",
      "use_cases": "<string>",
      "target_audience": "<string>",
      "other_considerations": "<string>",
      "founding_year": 123,
      "employee_count": "<string>",
      "hq_country": "<string>",
      "hq_state_province": "<string>",
      "hq_city": "<string>",
      "hq_full_address": "<string>",
      "social_profiles": {},
      "website_authority": {
        "score": 123,
        "tier": "<string>",
        "tier_label": "<string>"
      },
      "relevance_score": 123
    }
  ],
  "request": {
    "offset": 123,
    "limit": 123,
    "query": "<string>",
    "filters": {
      "include": {
        "size": [],
        "country": [
          "<string>"
        ],
        "city": [
          "<string>"
        ]
      },
      "exclude": {
        "size": [],
        "country": [
          "<string>"
        ],
        "city": [
          "<string>"
        ],
        "domains": [
          "<string>"
        ]
      },
      "range": {
        "founded": {
          "min": 123,
          "max": 123
        }
      }
    },
    "reference_company_id": "<string>"
  },
  "reference_company": {
    "id": "<string>",
    "domain": "<string>",
    "name": "<string>",
    "short_description": "<string>",
    "full_description": "<string>",
    "products_services": "<string>",
    "use_cases": "<string>",
    "target_audience": "<string>",
    "other_considerations": "<string>",
    "founding_year": 123,
    "employee_count": "<string>",
    "hq_country": "<string>",
    "hq_state_province": "<string>",
    "hq_city": "<string>",
    "hq_full_address": "<string>",
    "social_profiles": {},
    "website_authority": {
      "score": 123,
      "tier": "<string>",
      "tier_label": "<string>"
    },
    "relevance_score": 123
  }
}

Overview

The POST variant of Lookalike Search takes filters as a native JSON object in the body instead of a URL-encoded string. The reference company stays in the path. Use it when an exclude.domains list is too large to fit a GET URL.

Example request

export EXTRUCT_API_TOKEN="YOUR_API_TOKEN"

curl -X POST "https://api.extruct.ai/v1/companies/stripe.com/similar" \
  -H "Authorization: Bearer ${EXTRUCT_API_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "filters": {"exclude": {"domains": ["stripe.com", "adyen.com"]}},
    "pagination": {"offset": 0, "limit": 20}
  }'

Key parameters

  • company_identifier (path, required): Reference company UUID or domain.
  • filters (optional): SearchFilters as a JSON object. See Search Filters Reference.
  • pagination (optional): { "offset": <int>, "limit": <int> }; limit up to 250 per request.

Endpoint behavior

  • Identical ranking and results to the GET lookalike endpoint; only the transport differs.
  • The reference company is excluded from its own results; exclude.domains is additive.
  • A single request returns at most 250 results. Page with pagination.offset to read deeper.

Success signal

Returns results, the reference_company, and request metadata, the same shape as the GET endpoint.

Common errors

401 Unauthorized

Check that your header is Authorization: Bearer ${EXTRUCT_API_TOKEN}.

404 Not Found

The reference company was not found in the index. Verify the UUID or domain.

422 Unprocessable Entity

An invalid domain in exclude.domains, more than 1000 domains after de-duplication, or a malformed body.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

company_identifier
string
required

Reference company UUID or domain.

Body

application/json

Request body for POST lookalike search. The reference company is in the path.

filters
SearchFilters · object

Structured filters (same contract as the GET filters string).

pagination
Pagination · object

Offset/limit pagination.

Response

Successful Response

Lookalike search response wrapper.

results
CompanySearchResult · object[]
required

Search results

request
LookalikeRequestInfo · object
required

Request parameters echo

reference_company
CompanySearchResult · object

Reference company for lookalike searches