Person Lookup
How the Person Lookup endpoint works, how credits are charged, and how to avoid unnecessary credit burn.
The Person Lookup endpoint (/api/v2/profile/resolve) resolves a person's name and company to their LinkedIn profile URL. Use it when you have a name and employer but not a profile URL.
What it does
Given a person's first name and company domain, the endpoint searches for a matching LinkedIn profile and returns the profile URL. You can optionally include last name, job title, and location to improve accuracy.
GET /api/v2/profile/resolve
?first_name=Bill
&last_name=Gates
&company_domain=gatesfoundation.orgRequired parameters: first_name, company_domain
Optional parameters: last_name, title, location
A successful match returns the LinkedIn profile URL and, if enrich_profile=enrich is set, the full profile data in the same response (costs 1 additional credit).
How credits are charged
Cost: 2 credits per 200 OK response.
Credits are charged whenever the API returns HTTP 200, even if the result is null — meaning no match was found. This is because the endpoint uses external search (SERP) under the hood, and that lookup cost is incurred regardless of whether a profile is returned.
The similarity_checks parameter
By default, the endpoint performs similarity checks to filter out false positives. For example, if you search for "Jane Smith" and the closest result is "Tom Garcia", the check discards the mismatch and returns null — but credits are still charged.
Set similarity_checks=skip to change this behavior:
- Similarity checks are bypassed — the closest match is returned as-is
- No credits are charged if the result is
null
GET /api/v2/profile/resolve
?first_name=Bill
&company_domain=gatesfoundation.org
&similarity_checks=skipUse skip when you are searching at scale and want to avoid paying for empty results. Be aware that you may receive more false positives in return.
Best practices
- Include last name and title — More signal leads to fewer false positives and better accuracy regardless of which similarity mode you use.
- Use
similarity_checks=skipfor bulk lookups — If you are processing large lists, this avoids paying for non-matches while still returning the closest result when one exists. - Deduplicate before calling — If your list has duplicate name + company combinations, deduplicate first to avoid paying for the same lookup twice.
- Chain with Person Profile for fresh data — The lookup returns a cached profile snapshot. For up-to-date data, follow up with the Person Profile endpoint using
use_cache=if-recent.
Coming in API v3
API v3 will not charge credits when the response is null or empty, for all lookup endpoints. If you are migrating to v3, this billing behavior will change automatically — you will only be charged when a result is actually returned.