LinkedIn Profile Contact Lookup
Pricing
$19.99/month + usage
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
Maintained by CommunityActor stats
0
Bookmarked
27
Total users
6
Monthly active users
6 days ago
Last modified
Categories
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-ppeas a second inputmode: "targeted"(supplytargets[]= profile URL / public-id / name, plus optionalcompany). That consolidated actor also keeps the strong keyword discovery mode. Use it instead — this standalone will not receive updates. (Deployed actor IDKflT8Fnbx6zAfp72Y; 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, orsite:linkedin.com "<name>" "<company>"for a name) through the ApifyGOOGLE_SERPproxy, then parses the result-page snippets. - Phone numbers are validated with the
phonenumberslibrary 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
nulland a note — nothing is fabricated.
Input
| Field | Type | Description |
|---|---|---|
targets | array of strings | One entry per person: a profile URL, a public-id/slug, or a full name. |
company | string (optional) | Company name added to name-mode lookups to disambiguate; ignored for URL/slug targets. |
country | string (enum) | Localises the Google region and interprets national-format numbers. |
maxPagesPerTarget | integer | Google result pages (10 each) read per target. Default 2. |
platform | string (enum) | Site to search. Linkedin. |
proxyConfiguration | object | Proxy toggle (Google requests always use the GOOGLE_SERP group). |
Input modes
| Target you enter | Detected mode | Query built |
|---|---|---|
https://www.linkedin.com/in/williamhgates | url | site:linkedin.com/in/williamhgates (then a name fallback) |
williamhgates | slug | site:linkedin.com/in/williamhgates (then a name fallback) |
Bill Gates (+ company Microsoft) | name | site: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.
| Field | Description |
|---|---|
target | The raw input value. |
inputMode | url / slug / name. |
found | true if a matching LinkedIn result was indexed. |
name / headline / jobTitle / company | Parsed from the LinkedIn result title. |
seniority | Rule-based label (C-Level / VP / Director / Manager / Senior / Entry). |
publicId / profileUrl | Resolved LinkedIn public-id and canonical profile URL. |
phone | Best phone as validated E.164, or null. |
phoneCountry / phoneCountryCode | Country derived from the phone's prefix. |
email / emailDomain | Best email and its domain, or null. |
website | Best non-LinkedIn website from the snippet, or null. |
country / dialCode | The country/dial code you selected. |
sourceUrl / snippet | The result and snippet the contact came from. |
query | The Google query that produced the match. |
scrapedAt | ISO-8601 UTC timestamp. |
error | null, 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.