Introduction
The Find Phone endpoint discovers professional phone numbers for a person. You can identify the person with a LinkedIn profile URL, or with their full name and company domain. Processing is asynchronous: the API acknowledges the request with a webhookId, then you retrieve the result by polling (recommended, no public endpoint required) or through a webhook callback (advanced, push delivery).
Use this endpoint when you need a phone number for outreach or CRM enrichment. For push delivery, configure a workspace webhook URL in Settings > Webhooks, or provide webhookUrl in the request.
Note
Async, not real-time. We aim to deliver each result in under 15 seconds, but it can take tens of minutes depending on conditions. Built to update databases and feed async pipelines, not to back a synchronous request a user is waiting on. See Polling for delivery details.
Note
Lower coverage than email, billed only when found. Phone numbers are harder to source than email addresses, so expect fewer matches than with the Find Email endpoint. A lookup is billed 20 credits only when at least one phone number is found; a lookup that finds nothing costs 0 credits.
Authorization
apikey
string
required
Authorization: Bearer YOUR_API_KEY header.Request body
Choose one lookup strategy. Use either a LinkedIn profile URL, or a full name with a company domain. The split firstName + lastName form is also accepted.
url
string
conditional
https://www.linkedin.com/in/janedoe. Use this for the URL strategy.fullName
string
conditional
Jane Doe. Use this with companyDomain.firstName
string
conditional
lastName and companyDomain instead of fullName.lastName
string
conditional
firstName and companyDomain instead of fullName.companyDomain
string
conditional
acme.com. Required for the name-based strategies.webhookUrl
string
Note
The request must contain url, or fullName + companyDomain, or firstName + lastName + companyDomain.
Response structure
This endpoint replies immediately with a webhookId. You then have two ways to retrieve the actual result:
- Polling (recommended). Call
GET /v2/webhooks/:webhookIduntil the status issucceeded. No webhook URL needed. See the Polling guide. - Webhook callback (advanced). If you provided a
webhookUrl(or a workspace default is configured), the gateway POSTs the phone numbers to that URL once the lookup completes. See Webhook callback payload (advanced) below.
success
boolean
true if the job was created successfullyerror
null
null on successWebhook callback payload (advanced)
When the lookup succeeds, ReverseContact sends a JSON POST request to your webhookUrl. The callback is not wrapped in the V2 response envelope. It always includes the webhookId from the initial acknowledgement and a data value.
{
"webhookId": "b8c9d0e1-f2a3-4b4c-5d6e-7f8091a2b3c4",
"data": [
{
"value": "+33612345678",
"type": "mobile"
}
]
}
Webhook callback errors (advanced)
When the lookup cannot return a phone number, data is not an array. Instead, it contains an errorCode identifying the failure reason:
{
"webhookId": "b8c9d0e1-f2a3-4b4c-5d6e-7f8091a2b3c4",
"data": {
"errorCode": "phone-not-found"
}
}
data.errorCode will be one of the following values:
| Code | Billed | Description |
|---|---|---|
phone-not-found |
No | No phone number was discovered for the person |
person-not-found |
No | No matching person was found for the supplied identifiers |
invalid-request |
No | The lookup input is malformed or does not match an accepted form |
fetch-data-error |
No | The lookup failed while fetching data; safe to retry |
webhook-url-invalid |
Yes | The callback URL returned a 4xx response |
webhook-url-errored |
Yes | The callback URL returned a 5xx response or a network error |
webhook-url-timeout |
Yes | The callback URL did not respond in time |
webhook-url-unreachable |
Yes | The callback URL could not be reached |
Note
The lookup costs 20 credits only when at least one phone number is found. A lookup that returns phone-not-found, person-not-found, invalid-request, or fetch-data-error costs 0 credits. A delivery failure remains billed when a phone number was successfully found.