post /v2/lookup/people

Lookup multiple people by LinkedIn handle or Ocean ID

Lookup and enrich multiple people by LinkedIn handles and/or Ocean.io IDs (max 1000 total). This endpoint provides simple, per-result pricing.

Key features:

  • Batch lookup up to 1000 people (combined total of linkedinHandles + oceanIds)
  • Provide either linkedinHandles, oceanIds, or both lists

Returns only successfully matched people in the response.


Endpoint POST /v2/lookup/people
Credit cost 0.05 credits / result
Response Synchronous
Max per request 1,000 combined identifiers

Quickstart#

LinkedIn handle format

Use the URL slug only — the part after linkedin.com/in/. For https://linkedin.com/in/jane-doe-123, pass "jane-doe-123".

curl -X POST "https://api.ocean.io/v2/lookup/people" \
  -H "X-Api-Token: YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "linkedinHandles": ["jane-doe-123", "john-smith-456"],
    "oceanIds": ["ocean-id-abc"]
  }'
import requests

response = requests.post(
    'https://api.ocean.io/v2/lookup/people',
    headers={'X-Api-Token': 'YOUR_API_TOKEN'},
    json={
        'linkedinHandles': ['jane-doe-123', 'john-smith-456'],
        'oceanIds': ['ocean-id-abc'],
    },
)
data = response.json()
const response = await fetch('https://api.ocean.io/v2/lookup/people', {
  method: 'POST',
  headers: { 'X-Api-Token': 'YOUR_API_TOKEN', 'Content-Type': 'application/json' },
  body: JSON.stringify({
    linkedinHandles: ['jane-doe-123', 'john-smith-456'],
    oceanIds: ['ocean-id-abc'],
  }),
});
const data = await response.json();

Example response:

{
  "people": [
    {
      "id": "abc123",
      "name": "Jane Doe",
      "jobTitle": "Head of Product",
      "domain": "example.com",
      "linkedinUrl": "https://linkedin.com/in/jane-doe-123"
    }
  ],
  "totalRequested": 3,
  "totalFound": 2
}

Unmatched identifiers are silently omitted. Compare totalRequested vs totalFound to identify gaps.

Authorizations

apiToken string
x-api-token string

Body application/json

List of LinkedIn profile handles to lookup (e.g., ['john-doe', 'jane-smith'])
Array of string
List of Ocean.io person IDs to lookup (e.g., ['abc123', 'def456'])
Array of string

Responses

200 Successful Response
List of enriched people found. Only includes successfully matched people.
Array of LookalikePerson
id string Required
Internal ocean id of the person
domain string Required
Domain of the company the person is working for
name string
Full name of the person
firstName string
First name of the person
lastName string
Last name of the person
country string
Country code of the person
state string
State code of the person
location string
Location of the person
linkedinUrl string
Link to the linkedin profile of the person
List of seniorities computed from the job title of the person
Array of Seniority
enum
"Owner""Founder""Board Member""C-Level""Partner""VP""Head""Director""Manager""Other"
List of departments computed from the job title of the person
Array of Department
enum
"Accounting and Finance""Board""Business Support""Customer Relations""Design""Editorial Personnel""Engineering""Founder/Owner""Healthcare""HR""Legal""Management""Manufacturing""Marketing and Advertising""Operations""PR and Communications""Procurement""Product""Quality Control""R&D""Sales""Security""Supply Chain""Other"
photo string
Link to the person's profile picture on LinkedIn
jobTitle string
Job title of the person
jobTitleEnglish string
English translation of the person's job title
currentJobDescription string
Current job description of the person
List of experiences of the person
Array of Experience
domain string
Domain of the company the person is working for
jobTitle string
Job title of the person
dateFrom string
Start date of the experience
dateTo string
End date of the experience
description string
Description of the experience
linkedinCompanyHandle string
Linkedin handle of the company the person is working for
summary string
Summary of the person
Skills of the person
Array of string
Phone numbers of the person
Phone numbers
Array of string
status enum Required
Status of the phone numbers: verified or not found
"verified""notFound""inProgress"
Email of the person
address string Required
Email address
status enum Required
Status of the address: verified, catchAll or guessed
"verified""guessed""catchAll""notFound"
List of inferred email addresses for the person. This is only available for enterprise subscriptions.
Array of string
updatedAt string
When has the person data been updated for the last time
connectionsCount integer
Number of LinkedIn connections of the person
followersCount integer
Number of LinkedIn followers of the person
headline string
Headline of the person
Company size range
enum
"0-1""2-10""11-50""51-200""201-500""501-1000""1001-5000""5001-10000""10001-50000""50001-100000""100001-500000""500000+"
logo string
Logo of the company (URL)
name string
Name of the company
Revenue range
enum
"0-1M""1-10M""10-50M""50-100M""100-500M""500-1000M"">1000M"
employeeCountOcean integer
Number of people working at the company in our database.
Industries of the company<br>Available values can be found at /v2/data-fields endpoint.
Array of string
Software technologies used by the company
Array of string
Funding round of the company
date string
Date of the funding round
Type of the funding round
enum
"Seed""Series A""Angel""Series B""Series Unknown""Pre-Seed""Grant""Series C""Convertible Note""Debt Financing""Non-Equity Assistance""Undisclosed""Series D""Corporate Round""Equity Crowdfunding""Product Crowdfunding""Series E""Private Equity""Secondary Market""Initial Coin Offering""Post-IPO Equity""Series F""Post-IPO Debt""Series H""Series G""Post-IPO Secondary""Series I""Series J"
moneyRaisedInUsd integer
Amount of money raised in USD
cbUrl string
URL of the funding round on Crunchbase
relevance enum
Relevance category (A - the most relevant)
"A""B""C"
totalRequested integer Required
Total number of identifiers requested
totalFound integer Required
Total number of people found
creditsUsed number Required
Number of credits charged for this request.
400 Bad Request
detail enum Required
"Conflicting API tokens provided in query parameters and headers"
402 Payment Required
detail enum Required
"Insufficient credits"
403 Forbidden
detail enum Required
"API token should be provided in headers or query parameters""Current API token is not registered in our database"
404 Not found
422 Validation Error
Array of ValidationError
Array of string | integer
string | integer
msg string Required
type string Required
input any
object

FAQs#

Can I mix LinkedIn handles and Ocean IDs in the same request?

Yes. Both parameters are optional individually, but at least one must be provided. Combined total must not exceed 1,000.

Can I get email addresses from this endpoint?

No. Lookup People returns profile data only. To get emails, pass the returned id values to Reveal Emails.