Connect · Contact Enrichment API

Add available contact data to known professional profiles.

Submit a LinkedIn, GitHub, X, or Facebook account. Retrieve available emails and phone numbers, with a verification status for each returned contact.

Supported profile URL Available contact data
Contact Enrichment API POST /v1/contact-enrichments
POST
{
  "profile_url": "https://www.linkedin.com/in/alex-kim-example"
}
200 OKCompleted response · illustrative
{
  "request_id": "31111111-1111-4111-8111-111111111111",
  "status": "completed",
  "result": {
    "emails": [
      {
        "email": "alex-kim-example@example.com",
        "type": "work",
        "verification": {
          "status": "verified",
          "checked_at": "2026-10-15T12:00:00.000Z"
        }
      }
    ],
    "phones": []
  }
}

Quick Facts

The contact-enrichment contract at a glance.

Supported inputsProfile URL or account identifier
OutputEmails + phones + verification
Credits15 / request
No usable resultAPI-specific settlement
Request scopeOne social account
Best forPeople-data enrichment & activation

How It Works

From a known profile to available contact data.

Choose one supported account input, save request_id, and inspect the processing state before reading available contacts.

01

Contact enrichment request lifecycle

Existing results can return immediately. Otherwise, poll the saved request ID until completed or failed.

  1. 01SubmitOne supported account
  2. 02Save IDComplete or pending
  3. 03Poll if neededRespect wait interval
  4. 04Read contactsInspect verification
Input
Profile URL / LinkedIn IDPlatform + account ID
Possible outcome
Contact availableCompleted, empty contacts

Result Behavior

Contact availability and verification are separate.

A completed lookup can contain verified, unverified, or no contacts. A failed lookup is a different state; inspect errors and warnings.

CONTACT AVAILABLE

Available contact data is returned.

The response contains available email and phone arrays. Each accepted request reserves 15 credits.

Email returned15 credits reserved
NO USABLE RESULT

No usable contacts were returned.

A completed result can contain empty emails and phones arrays. Charges follow the API settlement rules.

No contact dataAPI-specific settlement

Availability, Privacy & Limits

Know what the contact result means before you use it.

Read contact types, verification states, and lookup limitations separately from your own permitted-use requirements.

01 · INPUTS

Supported profile types

Accepts personal LinkedIn, GitHub, X/Twitter, and Facebook accounts through one documented input form.

02 · AVAILABILITY

Contact is not guaranteed

A valid profile input does not imply that usable contact information will be available for every person or region.

03 · CONTACT TYPE

Work / personal semantics

Email type is work, personal, or unknown. Phone type is mobile, landline, or unknown. Availability varies by record.

04 · GOVERNANCE

Permissible use & rights

Review Data Trust and the applicable policies before storing or using contact information. A returned contact is not permission to use it for any purpose.

Capabilities

A contact layer for existing professional identities.

Contact Enrichment complements ProfileOut’s people-data layer; it is not positioned as a standalone prospecting application.

01

Profile URL enrichment

Start from a supported professional or social profile URL rather than an open-ended people-search query.

02

Available contact output

Read available emails and phone numbers in the completed result; either array can be empty.

03

No-result aware behavior

Design downstream workflows around the fact that a supported input can legitimately produce no usable contact result.

04

Contact-level verification

Inspect verification.status and checked_at on each contact. The public response has no confidence score.

05

Request-based progress

Submit one account per request and poll by request_id. The documented allowance is 100 new contact requests per hour per account.

06

Shared developer layer

Use Bearer authentication and the request_id, status, and result envelope. Other APIs expose their own result structures.

Integration

Send one supported profile URL.

This server-side example submits one illustrative account. Save request_id and, if pending, poll GET /v1/contact-enrichments/{request_id} at the returned interval. Stop at completed or failed.

curl --request POST 'https://api.profileout.com/v1/contact-enrichments' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"profile_url": "https://www.linkedin.com/in/alex-kim-example"}'

Contact Response

Separate returned contact data from metadata semantics.

This completed response uses an illustrative email value. Check each contact’s type and verification object; returned does not automatically mean verified.

Contact Enrichment responseCompleted response · illustrative
200 OK
{
  "request_id": "31111111-1111-4111-8111-111111111111",
  "status": "completed",
  "result": {
    "emails": [
      {
        "email": "alex-kim-example@example.com",
        "type": "work",
        "verification": {
          "status": "verified",
          "checked_at": "2026-10-15T12:00:00.000Z"
        }
      }
    ],
    "phones": []
  }
}

Use Cases

Add a contact layer where your product already knows the person.

Contact Enrichment fits broader professional-data workflows across products, marketplaces, AI systems, internal operations, and approved outreach.

Data Enrichment

Add available contact information to professional records your application already stores or retrieves.

EnrichmentInternal data

People-data Products & Marketplaces

Support permitted connection workflows around known member or professional profiles when contact data is available.

MarketplacesMember profiles

AI Agents & Data Products

Let downstream agents move from a known professional identity to contact-aware actions under your product’s permission rules.

AI systemsAgents

Recruiting & HR Tech

Enrich known professional profiles before outreach workflows that follow the applicable product, privacy, and regional policies.

RecruitingOutreach

Pricing Rule

15 credits per request.

Each accepted request reserves 15 credits, then charges or releases them under the API settlement rules.

See Pricing
15credits

per accepted request

Accepted request
15 credits reserved
No usable result
API-specific settlement
Multiple contacts
No per-contact fee
Request unit
One social account

FAQ

Contact Enrichment API questions.

Which profile URLs are supported?

Personal LinkedIn, GitHub, X/Twitter, and Facebook accounts are supported. Send exactly one input form: profile_url, linkedin_id, or platform with account_id.

What contact data can the API return?

The completed result contains emails and phones arrays. Available items include their type and verification object; either or both arrays can be empty.

Are credits charged when no contact is found?

Empty contact arrays do not automatically mean 0 credits. Each accepted request reserves 15 credits and follows API settlement rules.

How is email verification represented?

Each contact has verification.status and checked_at. Status can be verified, unverified, risky, or unknown. Invalid emails are excluded from the returned email array.

Does the API return personal email addresses?

Available email contacts can be classified as work, personal, or unknown. The type does not guarantee availability for a particular record or region.

Are there regional restrictions?

The public response does not establish permission for every use or region. Review Data Trust and the applicable policies for your own application requirements.

Can I enrich multiple profiles in one request?

No. Submit one supported account per request. Arrays of profile URLs and other additional fields are not accepted.

How is Contact Enrichment different from People Data API?

People Data retrieves profile details and inferred labels. Contact Enrichment returns available email and phone contacts with per-contact verification information.

Add contact enrichment to your people-data workflow.

Start with a supported professional profile, evaluate result behavior, and integrate contact data where it fits your product and permitted use case.