Requested fields
Use the person lookup API when the request should name exact fields, such as emails, phones, work history, social profiles, or other targeted profile attributes.
Targeted lookup: resolve a person from one or more identifiers and return only the fields (and/or profile_urls) you ask for. Requires at least one of email, phone, social_media_url, or name, plus at least one requested field or profile-url key. Credits are billed per requested unit. Use /person/email when you only need the best work email, and /person/phone when you only need the mobile number. The request is queued and returns a request_id; poll the status endpoint or supply a callback_url.
Manual credentials take precedence over your account key.
Lookup Fields is a selective person lookup API: provide identifiers and request only the fields your workflow needs, from contact details to work history or social context.
Use the person lookup API when the request should name exact fields, such as emails, phones, work history, social profiles, or other targeted profile attributes.
Start from the strongest identifier you have, then include fallback context such as name, company, location, or social URL to improve match quality.
The response stays focused on the requested fields, making it easier to control payload size, credits, and downstream schema mapping.
example.com is rejected as fake/test; lowercased.social_url/profile_url/url). At least one identifier is required.city/state on the first comma.profile_urls is supplied. Supported: displayname, firstname, lastname, best_work_email, best_personal_email, mobile, address, location, headline, current_company, current_title, photo_url. The mobile selector returns phone data under result.fullphone; each phone object uses phone_type for classification and does not return a type alias.fast returns sooner with a lighter search, balanced allows more time to improve the chance of returning requested fields, and deep gives the search the most time for harder-to-find data when omitted.This endpoint is asynchronous. A successful submit returns a request_id while the job runs in the background. Poll the same path with a GET request - same authentication headers - passing the request_id as a
query parameter:
Each poll returns the job's current status; once it is completed the payload carries the result shown under Responses. Polling an
unknown or expired request_id returns 404 request_not_found.
| Status | Meaning |
|---|---|
| queued · processing · pending | The job is still running - keep polling. |
| completed | The job finished; the payload carries the result and completed: true. |
| failed | Terminal - the job could not complete; the error field explains why. |
Poll every few seconds at first, backing off for long-running jobs. Polling is free - status checks never burn credits.
callback_url parameter and the completed payload is POSTed to your endpoint
when the job finishes - no polling required. Delivery is retried up to 5 times with exponential backoff (1s,
5s, 15s, 1m, 5m) and a 30-second timeout per attempt; respond with a 2xx status to acknowledge receipt.Credits are charged based on the matched configuration. The listed cost is the per-result unit price.
| Feature | Credits | Notes |
|---|---|---|
| Lookup Fields | - | Billed per requested unit (count of fields + profile_urls) |
| Email field | 1 | /person/email - billed when an email field is requested |
| Phone field | - | /person/phone - billed when a phone field is requested |
| No match | 0 | Empty results never burn credits |
A successful response wraps the payload in the { success, data, timestamp } envelope (also shown live in the panel on the right):
{
"success": true,
"data": {
"request_id": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4_1717000000_4271",
"status": "completed",
"lookup_mode": "balanced",
"completed": true,
"result": {
"best_work_email": "[email protected]",
"fullphone": [
{
"fullphone": "+1-555-123-4567",
"phone_type": "mobile"
}
],
"organizations": [
{
"name": "Acme",
"title": "Senior Product Manager",
"is_current": true
}
]
},
"completed_on": "2026-01-15T10:31:00Z"
},
"timestamp": "2026-01-01T00:00:00"
}