---
updatedAt: 2026-05-19T20:32:06.000Z
agentTools:
  projectIndex: https://docs.gtm.ai/llms.txt
---

# Get Contact Lookalikes

Contact Lookalikes can be used to retrieve a ranked list of people who are most similar to a given reference person. 
The recommendations are generated by a machine learning model that compares the reference person's profile to other contacts. 
The profile includes person characteristics such as title, seniority, department, as well as company characteristics such as industry and company size.
These lookalike contacts can be used to identify additional stakeholders, expand buyer networks, or build targeted prospecting lists based on known high-priority contacts.

To find Contact Lookalikes, select the `referencePersonId`, which identifies the person whose profile you want to use as the
basis for finding lookalikes. You can optionally provide a `targetCompanyId` to constrain the search to a specific
company. If `targetCompanyId` is not provided, the model will search for similar contacts across all companies in the Zoominfo database.

Behind the scenes, the model uses a semantic vector representation of the reference person's profile to efficiently find similar contact profiles in the ZoomInfo database. 
It then applies a re-ranking algorithm to the set of similar contacts found, in order to boost relevance in the final return list. 

The endpoint returns up to 100 lookalike contacts ordered from the most similar contact to the least similar contact (descending order by similarity score `attributes.score`). 
To control the number of lookalikes returned, use the `page[size]` parameter with any integer value between 1 and 100. Each lookalike contact contains additional metadata (`meta`)
that describes the reference person used as the basis of the lookalike.

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "title": "Copilot API V1",
    "version": "1.0",
    "contact": {
      "name": "ZoomInfo Customer Support",
      "email": "help@zoominfo.com"
    },
    "description": "Copilot API for interacting with the Copilot related services."
  },
  "tags": [
    {
      "name": "Recommendations"
    }
  ],
  "paths": {
    "/copilot/v1/contacts/lookalikes": {
      "get": {
        "operationId": "ContactLookalikesInterface_getContactLookalikes",
        "summary": "Get Contact Lookalikes",
        "description": "Contact Lookalikes can be used to retrieve a ranked list of people who are most similar to a given reference person. \nThe recommendations are generated by a machine learning model that compares the reference person's profile to other contacts. \nThe profile includes person characteristics such as title, seniority, department, as well as company characteristics such as industry and company size.\nThese lookalike contacts can be used to identify additional stakeholders, expand buyer networks, or build targeted prospecting lists based on known high-priority contacts.\n\nTo find Contact Lookalikes, select the `referencePersonId`, which identifies the person whose profile you want to use as the\nbasis for finding lookalikes. You can optionally provide a `targetCompanyId` to constrain the search to a specific\ncompany. If `targetCompanyId` is not provided, the model will search for similar contacts across all companies in the Zoominfo database.\n\nBehind the scenes, the model uses a semantic vector representation of the reference person's profile to efficiently find similar contact profiles in the ZoomInfo database. \nIt then applies a re-ranking algorithm to the set of similar contacts found, in order to boost relevance in the final return list. \n\nThe endpoint returns up to 100 lookalike contacts ordered from the most similar contact to the least similar contact (descending order by similarity score `attributes.score`). \nTo control the number of lookalikes returned, use the `page[size]` parameter with any integer value between 1 and 100. Each lookalike contact contains additional metadata (`meta`)\nthat describes the reference person used as the basis of the lookalike.",
        "parameters": [
          {
            "name": "filter[targetCompanyId]",
            "in": "query",
            "required": false,
            "description": "Unique identifier (ZoomInfo Company ID) for the target company where lookalike contacts are searched. If not provided, the search is performed within the reference person's company.\n\nExample:\n* If Apple's Zoominfo Company ID is provided, the endpoint will search for contacts within Apple that have similar persona attributes to the provided `referencePersonId`.\n* If `targetCompanyId` **IS NOT** provided, the endpoint will search for contacts across all company that have similar persona attributes to the provided `referencePersonId`.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "explode": false
          },
          {
            "name": "filter[referencePersonId]",
            "in": "query",
            "required": true,
            "description": "Unique identifier for the reference person (ZoomInfo Person ID) that is used to search contact lookalikes. This is a required field.\n\nExample:\n* If a `referencePersonId` pointing to a person in Microsoft is provided, and if Apple's Zoominfo Company ID is provided as `targetCompanyId`, the endpoint will search for contacts within Apple that have similar persona attributes to this reference person from Microsoft.\n* Using the same example but if `targetCompanyId` **IS NOT** provided, the endpoint will search for contacts across all companies with similar persona attributes to the reference person from Microsoft.",
            "schema": {
              "type": "integer",
              "format": "int64"
            },
            "explode": false
          },
          {
            "name": "page[size]",
            "in": "query",
            "required": false,
            "description": "Number of records to return per page. Default is 25, maximum is 100.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "explode": false
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactLookalikeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "$ref": "#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "$ref": "#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "$ref": "#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/vnd.api+json": {
                "schema": {
                  "$ref": "#/components/schemas/ZoomInfo.Core.Foundations.ErrorResponseModel"
                }
              }
            }
          }
        },
        "tags": [
          "Recommendations"
        ],
        "security": [
          {
            "OAuth2Auth": [
              "api:recommendations:read"
            ]
          }
        ],
        "x-api-roles": [
          "fea:zia",
          "fea:api"
        ],
        "x-api-role-requirement": "ANY_REQUIRED"
      }
    }
  },
  "security": [
    {
      "OAuth2Auth": []
    }
  ],
  "components": {
    "schemas": {
      "ZoomInfo.Core.Foundations.ErrorSourceModel": {
        "type": "object",
        "properties": {
          "cookie": {
            "type": "string",
            "description": "Identifies the cookie name that caused the issue"
          },
          "header": {
            "type": "string",
            "description": "Identifies the header name that caused the error"
          },
          "pointer": {
            "type": "string",
            "description": "An RFC 6901 compliant JSON pointer to the entity in the request body that caused the error"
          },
          "parameter": {
            "type": "string",
            "description": "The name of the path or query parameter that caused the error"
          }
        }
      },
      "ZoomInfo.Core.Foundations.ErrorModel": {
        "type": "object",
        "required": [
          "id",
          "code",
          "status"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique id used to identify this specific error instance"
          },
          "code": {
            "type": "string",
            "description": "The error code describing the error category. A full list of error codes can be found in the documentation for each service"
          },
          "detail": {
            "type": "string",
            "description": "Message containing the specific details about this occurrence of the error"
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ZoomInfo.Core.Foundations.ErrorSourceModel"
              }
            ],
            "description": "An optional object identifying which part of the request caused the error"
          },
          "status": {
            "type": "string",
            "description": "The HTTP status code for the error"
          },
          "title": {
            "type": "string",
            "description": "The error name that describes this type of error"
          }
        },
        "description": "The object describing a specific error from the API"
      },
      "ZoomInfo.Core.Foundations.ErrorResponseModel": {
        "type": "object",
        "required": [
          "errors"
        ],
        "properties": {
          "detail": {
            "type": "string",
            "description": "A high-level detail of the error(s) that occurred during the request"
          },
          "title": {
            "type": "string",
            "description": "A high-level summary of the error(s) detected"
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ZoomInfo.Core.Foundations.ErrorModel"
            },
            "description": "The list of errors raised during the request"
          }
        },
        "description": "The standard error response body model for the ZoomInfo API."
      },
      "ContactLookalikeAttributes": {
        "type": "object",
        "required": [
          "rank",
          "score",
          "lookalikePersonBrief"
        ],
        "properties": {
          "rank": {
            "type": "integer",
            "format": "int32",
            "description": "Rank of the lookalike contact, with 1 being the most similar to the reference person."
          },
          "score": {
            "type": "number",
            "format": "double",
            "description": "Similarity score between the reference person and the lookalike contact, ranging from 0 to 1. Higher values indicate higher similarity."
          },
          "lookalikePersonBrief": {
            "type": "string",
            "description": "Brief description of the lookalike contact."
          }
        },
        "description": "Attributes for a contact lookalike entity."
      },
      "LookalikeMetadata": {
        "type": "object",
        "required": [
          "referencePersonId",
          "referencePersonBrief"
        ],
        "properties": {
          "referencePersonId": {
            "type": "integer",
            "format": "int64",
            "description": "Unique identifier for the reference person (ZoomInfo Person ID) that is used to search contact lookalikes."
          },
          "referencePersonBrief": {
            "type": "string",
            "description": "Brief description of the reference person used to find lookalike contacts."
          }
        },
        "description": "Metadata for a lookalike contact entity."
      },
      "ContactLookalike": {
        "type": "object",
        "required": [
          "id",
          "type",
          "attributes"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier for the resource"
          },
          "type": {
            "type": "string",
            "description": "The type of the resource",
            "default": "ContactLookalike",
            "pattern": "ContactLookalike"
          },
          "attributes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ContactLookalikeAttributes"
              }
            ],
            "description": "The attributes defining the resource"
          },
          "meta": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LookalikeMetadata"
              }
            ],
            "description": "Non-standard meta information about the resource"
          }
        },
        "description": "Contact lookalikes resource"
      },
      "ContactLookalikeResponse": {
        "type": "object",
        "required": [
          "data"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactLookalike"
            },
            "description": "The primary data of the document"
          }
        },
        "description": "Response model for contact lookalikes."
      }
    },
    "securitySchemes": {
      "OAuth2Auth": {
        "type": "oauth2",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://login.zoominfo.com",
            "tokenUrl": "https://okta-login.zoominfo.com/oauth2/default/v1/token",
            "scopes": {
              "api:account-summary:read": "Read Copilot Account Summary Data",
              "api:insights:read": "Read Insights Data",
              "api:recommendations:read": "Read Copilot recommendation data",
              "api:gtm-config:read": "Read GTM configuration data",
              "api:gtm-config:manage": "Manage GTM configuration data (create, update, delete)"
            }
          }
        }
      }
    }
  },
  "servers": [
    {
      "url": "https://api.zoominfo.com/gtm",
      "description": "Base URL for the Copilot API"
    }
  ]
}
```

# Sibling pages

* [Find Similar Companies](https://docs.gtm.ai/zoominfoenterprise/reference/companylookalikesinterface_companylookalikes.md)
* [Get Contact Recommendations](https://docs.gtm.ai/zoominfoenterprise/reference/contactrecommendationsinterface_getcontactrecommendations.md)