LinkedIn Profile Contact Lookup avatar

LinkedIn Profile Contact Lookup

Pricing

$19.99/month + usage

Go to Apify Store
LinkedIn Profile Contact Lookup

LinkedIn Profile Contact Lookup

LinkedIn Profile Phone Number Scraper collects phone contact data to support workforce research and outreach. Analyze roles, sectors, or regions while identifying direct contact points efficiently.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

SimpleAPI

SimpleAPI

Maintained by Community

Actor stats

0

Bookmarked

27

Total users

6

Monthly active users

6 days ago

Last modified

Share

DEPRECATED — folded into linkedin-lead-contact-finder-ppe (targeted mode)

This actor is deprecated and is no longer maintained or deployed. Its targeted per-profile lookup has been folded into productive_enclosure/linkedin-lead-contact-finder-ppe as a second input mode: "targeted" (supply targets[] = profile URL / public-id / name, plus optional company). That consolidated actor also keeps the strong keyword discovery mode. Use it instead — this standalone will not receive updates. (Deployed actor ID KflT8Fnbx6zAfp72Y; you can hide/delete it in the Apify Console.)

The content below is retained for reference only.


🔎 LinkedIn Profile Contact Lookup

Targeted contact lookup for specific LinkedIn people. You supply who you are looking for — a LinkedIn profile URL, a public-id / vanity slug, or a person's name (optionally with a company) — and the actor returns one consolidated best-contact row per target: phone, email, website, and the resolved profile identity, taken from what Google has publicly indexed.

What it does (and does not do)

  • It builds a targeted Google search for each target (site:linkedin.com/in/<slug> for a URL/slug, or site:linkedin.com "<name>" "<company>" for a name) through the Apify GOOGLE_SERP proxy, then parses the result-page snippets.
  • Phone numbers are validated with the phonenumbers library and normalized to E.164; digit runs that are not valid phone numbers (years, "500+ connections", follower/connection counts) are rejected.
  • Email and website are extracted from the same snippet text; the LinkedIn title is parsed into name / headline / job title / company; seniority, phone-country and email-domain are derived locally.
  • It does not log into LinkedIn, does not visit LinkedIn profile pages, and does not read the LinkedIn contact-info overlay. It only surfaces contact details that already leaked into Google-indexed public snippets. If a target's phone/email was never indexed by Google, the row is returned with those fields null and a note — nothing is fabricated.

Input

FieldTypeDescription
targetsarray of stringsOne entry per person: a profile URL, a public-id/slug, or a full name.
companystring (optional)Company name added to name-mode lookups to disambiguate; ignored for URL/slug targets.
countrystring (enum)Localises the Google region and interprets national-format numbers.
maxPagesPerTargetintegerGoogle result pages (10 each) read per target. Default 2.
platformstring (enum)Site to search. Linkedin.
proxyConfigurationobjectProxy toggle (Google requests always use the GOOGLE_SERP group).

Input modes

Target you enterDetected modeQuery built
https://www.linkedin.com/in/williamhgatesurlsite:linkedin.com/in/williamhgates (then a name fallback)
williamhgatesslugsite:linkedin.com/in/williamhgates (then a name fallback)
Bill Gates (+ company Microsoft)namesite:linkedin.com "Bill Gates" "Microsoft" (then without company)

Example input

{
"targets": [
"https://www.linkedin.com/in/williamhgates",
"satyanadella",
"Melinda French Gates"
],
"company": "",
"country": "United States (+1)",
"maxPagesPerTarget": 2,
"platform": "Linkedin"
}

Output

One row per target. Contact fields are null when Google did not index that detail for the target.

FieldDescription
targetThe raw input value.
inputModeurl / slug / name.
foundtrue if a matching LinkedIn result was indexed.
name / headline / jobTitle / companyParsed from the LinkedIn result title.
seniorityRule-based label (C-Level / VP / Director / Manager / Senior / Entry).
publicId / profileUrlResolved LinkedIn public-id and canonical profile URL.
phoneBest phone as validated E.164, or null.
phoneCountry / phoneCountryCodeCountry derived from the phone's prefix.
email / emailDomainBest email and its domain, or null.
websiteBest non-LinkedIn website from the snippet, or null.
country / dialCodeThe country/dial code you selected.
sourceUrl / snippetThe result and snippet the contact came from.
queryThe Google query that produced the match.
scrapedAtISO-8601 UTC timestamp.
errornull, or a note when the profile/contact was not indexed.

Example output

{
"target": "https://www.linkedin.com/in/williamhgates",
"inputMode": "url",
"found": true,
"name": "Bill Gates",
"headline": "Chair, Gates Foundation",
"jobTitle": "Chair",
"company": "Gates Foundation",
"seniority": "C-Level",
"publicId": "williamhgates",
"profileUrl": "https://www.linkedin.com/in/williamhgates",
"phone": null,
"phoneCountry": null,
"email": null,
"website": null,
"country": "United States",
"dialCode": "+1",
"sourceUrl": "https://www.linkedin.com/in/williamhgates",
"snippet": "Chair of the Gates Foundation ...",
"query": "site:linkedin.com/in/williamhgates",
"scrapedAt": "2026-07-03T12:00:00Z",
"error": "Profile resolved, but no phone/email/website was present in Google's indexed snippet."
}

Coverage and limitations

  • Yield depends entirely on what Google has indexed. Public figures and business/creator profiles that publish a contact in a searchable snippet return the most data; most private individuals expose no indexed phone/email, so those fields come back null.
  • The Google result markup can change; parsing targets the current SERP layout.
  • Use the collected public data in line with applicable laws and LinkedIn's terms.

Billing

Charged per result row (row_result) only when a row surfaces at least one real contact value (phone, email, or website). Rows where no contact was indexed are returned uncharged.