Skip to main content
Lookalike Search finds people similar to a seed cohort across Sixtyfour’s people index, ranks them by similarity, and leaves the seed people out. It finds people only.

Endpoint

Prepare the seed cohort

Every request accepts exactly one seed source. For CSV seeds, a LinkedIn profile URL column produces the most reliable identity matches. Recognized headers include linkedin, linkedin url, linkedin profile, and profile url. Rows without a LinkedIn URL need a full name plus supporting identity data such as company, company domain, role, location, or education. Sixtyfour drops weak or ambiguous identity matches instead of guessing. guidance adds requirements the seeds do not imply, such as "Only people in the United States with 8+ years of experience". The seeds define the audience. Submit the seed cohort, poll the dedicated status endpoint until the search completes, then pass its search_id to /search/query. The start request resolves the seeds before it returns, which takes up to 90 seconds. Set your client timeout to at least 100 seconds.
Poll lookalike tasks with GET /search/lookalike/{task_id}, not GET /search/status/{task_id}. If your client gives up on the start request before it returns, do not submit it again automatically—the search may already be running.

Start response

The start endpoint returns HTTP 202 after resolving the seeds and launching the search.
seed_diagnostics reports how many seeds Sixtyfour resolved. The search runs when at least one seed resolves.

Completed status

Poll every 10 seconds or slower, and stop on any status other than running: completed, failed, cancelled, terminated, or timed_out.
The status response also carries filters, which has no fixed shape. Set include_filters=false to omit it. total_results counts everyone who matches guidance, without the seeds; POST /search/query returns up to max_results of them. excluded_public_ids lists the seed people, who are left out of results, replays, and exports. While the search is running, the response carries progress_message. Fields without a value are omitted.

Page ranked results

Use the completed search_id for the first page:
Rows are standard people-search rows, ordered by similarity to the cohort, with the score in raw_score. The seed people are excluded, so total_available is omitted:
Paging follows the shared cursor rules, and the full response is described in Query response. For every later page, send only the cursor returned by the previous response:

Use a CSV seed cohort

A CSV seed file:
Upload it, then pass the returned handle_id as csv_resource_handle_id.
After the start call, use the same status and result-pagination flow shown above.

Export results

Pass the completed lookalike search_id to POST /search/export, poll the returned export task through GET /search/status/{task_id}, then download the generated CSV. See Export Search Results.

Rate limits

For per-endpoint limits, see Rate Limits.

Pricing

See Credit Costs for more information.

Errors

For error responses (400, 402, 403, 404, 422, 429, 504, etc.), see Handling Errors.