People lookalike

9 min read

Find the people who look like one seed profile, given by Social URL or Reverse Contact person id.

POST

Introduction

The People Lookalike endpoint returns the people who look like one seed profile. You name the seed by its Social profile URL or by its Reverse Contact person id (prs_...), and the search is built from what the seed does today: its current function and sub-function, with the time it has spent in them when it is known, its current seniority and its location (country and city). The seed itself is never part of the results.

Every result is a complete profile, the same shape People search returns, with the same cursor pagination and the same price: 1 credit per profile delivered. Results are drawn from our cache-based search index. This endpoint never triggers a live fetch.

Use it when you know one good profile and want more people like it. To choose the criteria yourself, use People search.

Authorization

apikey string required
Your API key from the developer dashboard. Pass it via Authorization: Bearer YOUR_API_KEY header.

Request body

Provide exactly one seed: url or id. Sending both returns HTTP 422, because a lookalike is built from a single profile.

url string conditional
Public Social profile URL of the seed (e.g. https://social.com/in/janedoe). Required unless id is given.
id string conditional
Reverse Contact person id of the seed (e.g. prs_01jbd5vewyenebxgaz869ffe5t), as returned in the id field of any person response. Required unless url is given.
cursor string
Opaque cursor returned as metadata.nextCursor; request the next page
perPage number
Profiles per page (1 to 100, default 25)

No filters: the search criteria come from the seed, so the request takes no search filter. Any other field, such as location or currentSeniority, returns HTTP 422 with error.code LOOKALIKE_FILTERS_NOT_SUPPORTED and the offending fields in error.details.fields, and costs 0 credits. A filter is refused rather than ignored, because an ignored filter would return results you did not ask for.

Seed checks: the seed must already be in our search index. A profile that is not indexed yet returns HTTP 404 and costs 0 credits: no lookalike can be built from it, so try another seed. An id that matches no profile returns HTTP 422 with error.code VALIDATION_ERROR, and a seed under an active data subject request (GDPR/CCPA) returns HTTP 451 with error.code DATA_SUBJECT_BLOCKED. Neither costs credits.

Pagination and credits

People lookalike uses cursor pagination, like People search. Each response returns up to perPage profiles (1 to 100, default 25) and a metadata.nextCursor value. To get the following page, send the same seed again with that value as cursor; nextCursor is null on the last page. The cursor is opaque: send it back unchanged, without parsing or altering it. There is no page parameter.

perPage above 100 returns HTTP 422 with error.code PAGINATION_LIMIT_EXCEEDED, and a perPage that is not a whole number returns HTTP 422 with error.code INVALID_PAGINATION.

People lookalike costs 1 credit per profile delivered. Compliance-blocked profiles are removed before the response and are not billed. A page that returns 25 profiles costs 25 credits, and a page that returns no profile costs 0 credits. Lower perPage to control how many credits a single request can spend.

Response structure

Note: This endpoint uses a nested envelope. The top-level V2 data field wraps an inner search payload that contains the actual results array (data.data) and the pagination info (data.metadata). See the example response for the exact shape.

success boolean
true if the request was processed successfully
error null
Always null on success
data.dataobject[]
Full profiles of the people who look like the seed, wrapped under data.data in the envelope. The seed is never among them. Empty array if no one matches. Each item is the same full profile shape as the Profile endpoint; the table below lists its main fields.
Show child attributesHide child attributes
id string
Reverse Contact person id (prs_...). Send it back as id to use this profile as the next seed
publicId string
Social public identifier (the /in/xxx slug)
memberId string | null
Upstream member identifier when available
linkedinUrl string
Full Social profile URL
firstName string | null
First name
lastName string | null
Last name
headline string | null
Profile headline
summary string | null
Profile summary
isOpenToWork boolean
Whether the profile is flagged open to work
hasPremium boolean
Whether the profile has Social Premium
hasVerificationBadge boolean
Whether the profile has a verification badge
photoUrl string | null
Profile photo URL
creationDate string | null
When the profile was created (ISO 8601)
followersCount number | null
Follower count
connectionsCount number | null
Connection count
currentPosition object | null
Current job position (how it is chosen)
experience array
Professional experiences, same shape as currentPosition
education array
Education history
skills string[]
Skills listed on the profile
languages array
Spoken languages
certifications array
Professional certifications
recommendations array
Received recommendations
locationobject
Geographic location (null if unknown)
Show child attributesHide child attributes
city string | null
City
state string | null
State or region
country string | null
Country name
countryCode string | null
ISO country code (e.g. "US")
rawLocation string | null
Raw location string as displayed on the profile
currentPositionobject
Current job position (null if no current position)
Show child attributesHide child attributes
title string | null
Job title
description string | null
Position description
contractType string | null
Contract type
companyName string | null
Company name
companyLinkedinId string | null
Company Social identifier
companyUrl string | null
Company Social URL
companyLocation string | null
Company location
companyLogoUrl string | null
Company logo URL
startEndDate object | null
Period boundaries (DateRange)
data.metadataobject
Pagination metadata wrapped under data.metadata in the envelope.
Show child attributesHide child attributes
perPage number
Profiles requested per page
count number
Profiles returned in this page
nextCursor string | null
Opaque cursor for the next page, null on the last page
quotasobject
Credits and rate limit usage after this request
Show child attributesHide child attributes
creditsConsumed number
Credits consumed by this request
workspaceobject
Workspace-level limits
Show child attributesHide child attributes
id string
Your workspace identifier
hasUnlimitedCredits boolean
Whether workspace credits are unlimited
allowDailyOvercost boolean
Whether the workspace may exceed its daily cap
creditsobject
Credit balance
Show child attributesHide child attributes
total number
Total credits in your plan
used number
Credits consumed so far
left number
Remaining credits
dailyLimitobject
Daily request limit (null if not configured)
Show child attributesHide child attributes
limit number
Maximum requests per day
used number
Requests made today
left number
Remaining requests today
nextReset string
When the daily window resets (ISO 8601)
minuteRateLimitobject
Per-minute rate limit
Show child attributesHide child attributes
limit number
Maximum requests per minute
used number
Requests made in the current minute
left number
Remaining requests in the current minute
nextReset string
When the minute window resets (ISO 8601)
keyobject
API key-level limits (null when request is from dashboard)
Show child attributesHide child attributes
id string
API key identifier
dailyLimitobject
Daily limit for this key (null if not configured)
Show child attributesHide child attributes
limit number
Maximum requests per day
used number
Requests made today
left number
Remaining requests today
nextReset string
When the daily window resets (ISO 8601)
minuteRateLimitobject
Minute rate limit for this key
Show child attributesHide child attributes
limit number
Maximum requests per minute
used number
Requests made in the current minute
left number
Remaining requests in the current minute
nextReset string
When the minute window resets (ISO 8601)
metadataobject
Request tracking information (not to be confused with data.metadata which is pagination)
Show child attributesHide child attributes
requestId string
Unique identifier for this request
executionTimeMs number
Total execution time in milliseconds

Previous

Company search

Next

People search by prompt