Person LinkedIn URL Resolver
Pricing
from $29.75 / 1,000 person searcheds
Person LinkedIn URL Resolver
Find a person's LinkedIn profile URL from their name and company. One row per person with the profile URL, headline, follower count, and a match confidence that says if the company is current or former. Reads Google results only, never opens LinkedIn. Batch up to 500. Clay ready.
Pricing
from $29.75 / 1,000 person searcheds
Rating
0.0
(0)
Developer
Mamba Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Find a person's LinkedIn profile URL from their name and the company they work at. You get one row per person with the profile URL, the headline and follower count Google shows for it, and a match confidence that says whether the company appears as current or former.
The actor reads Google result pages through the Apify Google SERP proxy and never opens LinkedIn. It needs no LinkedIn account, no cookies, and no API key, so there is no account of yours to restrict.
Rows are flat and snake_case, so they load straight into a spreadsheet, a CRM, or a Clay table.
✨ Features
- Name plus company in.
Armon Dadgarandhashicorp.com, or a company name such asHashiCorp. - A confidence you can filter on.
foundneeds 0.8 or more and a clear lead over every other profile. A likely profile that is not certain comes backambiguous, with its URL, and is not charged. - Current or former.
company_matchsays whether the company sits in the headline or a present role (current), is marked prev, ex, or former (former), or is only mentioned. - Look alike guard. When two profiles share the name and the company, the one Google shows with ten times the followers wins only when the gap is that wide; otherwise you get
ambiguousand the runner up's name. - Never a post. Results that are LinkedIn posts or articles are dropped; only
/in/profile URLs are returned. - Batch input. Up to 500 persons per run, five at a time.
- One flat price per person searched.
found,ambiguous, andnot_foundrows cost the same;blockedanderrorrows are free. At most 2 Google result pages per person, so the price never moves with how hard a name is.
📥 Input
| Field | Type | Description |
|---|---|---|
full_name | string | First and last name, for example Armon Dadgar |
company_domain | string | The company domain, for example hashicorp.com |
company_name | string | Optional. The company name as people write it; used instead of the word in the domain |
job_title | string | Optional. A headline that agrees gets a small boost |
location | string | Optional city or country, a small boost when the snippet agrees |
keywords | string | Optional extra words for the Google query |
persons | list | Several persons, one per line as Full Name | company.com | job title, or a JSON list of objects. Up to 500 |
country | string | Google country code, default us |
allow_name_only | string | true searches a person with no company. Such a row is never found |
max_charge_usd | string | Optional cost cap for the run |
Example:
{ "full_name": "Armon Dadgar", "company_domain": "hashicorp.com" }
📤 Output
One row per person. Every row carries every field; a field that does not apply is null.
| Field | Example | Notes |
|---|---|---|
full_name, company_domain, company_name, job_title | Armon Dadgar, hashicorp.com | What you entered |
linkedin_url | https://www.linkedin.com/in/armon-dadgar | For found and ambiguous rows |
linkedin_slug | armon-dadgar | |
match_status | found | found, ambiguous, not_found, blocked |
match_confidence | 1 | 0 to 1 |
name_match | exact | exact, first_last, initial, none |
company_match | current | current, former, mentioned, none, not_given |
profile_name, profile_headline | Co-Founder and CTO of HashiCorp | As Google shows them |
profile_snippet, profile_location | The Google snippet, and the location when it prints one | |
profile_followers | 28800 | Rounded as Google prints it |
candidates_count | 9 | Profile results scored |
runner_up_name, runner_up_confidence | Alex Dadgar, 0.4 | The next best profile |
search_requests | 1 | Google result pages read for this person |
row_status | ok | ok, no_match, blocked, error |
error_reason | null | Why a row is not ok |
billable_events_json | {"person-searched":1} | What the row was billed as; {} is free |
source, checked_at | google_search_results |
No email address, phone number, or street address is returned. There is no field for one.
📏 Measured accuracy
Measured on 2026-10-21 over four runs of 20 named public people (founders, executives, and engineers at 18 companies) plus two common name controls:
- Precision: 45 of 45 found profiles were the right person, checked by hand or matched to a hand checked URL.
- Hit rate: 11 of 20 named people found on the latest build, which reads at most 2 Google result pages per person; 13 of 20 on the build before it, which read up to 6. 3 of 22 came back
blocked(free) when Google did not answer on both page requests. The rest came backambiguous(the right URL with a former or unconfirmed company, for example a founder who has left) ornot_found(a profile Google does not show for the name). - Common name controls: 0 of 6 marked found. Jane Smith at acme.com and John Smith at ibm.com came back
ambiguousornot_foundin every run. - Speed: about 10 s per person on average with five persons at a time; a single Google page takes 2 to 40 s through the SERP proxy.
💵 Pricing
Pay per event. You pay once for each input person searched, plus a small start fee per run.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
Person searched (person-searched), per input person | $0.03500 ($35.00 per 1,000) | $0.03325 ($33.25 per 1,000) | $0.03150 ($31.50 per 1,000) | $0.02975 ($29.75 per 1,000) |
Actor start (apify-actor-start), per run | $0.0005 | $0.0005 | $0.0005 | $0.0005 |
found,ambiguous, andnot_foundrows each cost one person searched.blockedrows (Google did not answer) anderrorrows cost nothing.- Each person costs Mamba Labs one or two Google result pages through the Apify SERP proxy, found or not. The actor reads at most 2 pages per person, retries included.
- A run stops at the maximum cost per run you set in Apify, and at
max_charge_usdif you set it. - Free Apify plan: 1.50 USD of evaluation a month, which is 42 persons searched at the free plan price. Any paid Apify plan removes the cap.
- The events above are all you pay this actor. Mamba Labs pays the platform costs of your run, Apify proxy traffic included.
🚀 Usage examples
Console or API. POST https://api.apify.com/v2/acts/mambalabs~person-linkedin-url-resolver/runs with the input above, then read the default dataset.
Batch.
{ "persons": ["Armon Dadgar | hashicorp.com", "Kipp Bodnar | hubspot.com | CMO", "Zeno Rocha | Resend"] }
Clay. Call the actor from a Clay column with the name column mapped to full_name and the domain column to company_domain. Clay sends every field as a string, which this actor expects. Filter on match_status = found, or on match_confidence.
MCP. The @mambalabsdev/mcp-person-linkedin-url-resolver server exposes the tool resolve_person_linkedin_url to AI agents.
⚠️ Error handling
| Situation | What you get |
|---|---|
| No profile with the name and company | One row, match_status not_found, charged as one person searched |
| A likely profile that is not certain | ambiguous, with the URL, its confidence, and the runner up; charged as one person searched |
| Google does not answer through the proxy | Up to three attempts per query on fresh proxy sessions, then a free blocked row |
| A result link that is a post, not a profile | The next result is tried |
| Anything else | One free error row with the reason |
⚠️ Limitations and responsible use
- Only profiles Google has indexed can be found. Some people hide their profile from search engines; they return
not_found. - A headline Google cached can be out of date.
company_matchreads the headline and snippet Google shows, not the live profile. - A name with no company (
allow_name_only) is never markedfound. - LinkedIn is never opened. The profile URL is the redirect target of the Google result link, read without following it.
- You are the data controller under GDPR, CCPA, and applicable privacy laws for the rows you collect, and you are responsible for using them within LinkedIn's and your own market's rules on contacting people. The actor keeps no personal data after the run.
🧩 Want other GTM data?
Mamba Labs builds custom actors for B2B go-to-market teams. The public versions of that work live here on the Store.
Every actor in the suite takes a domain, a company, or a person and returns flat rows, so they stack in the same table without reshaping anything.
🛠️ Need something custom built? Talk to Mamba Labs.
🆘 Support
Found a bug? Open an issue on the Issues tab. Response time is typically within 48 hours.
ℹ️ Sourcing. Profile URLs, names, headlines, and follower counts come from Google result pages read through the Apify Google SERP proxy. You are responsible for how you use the output.
Built by Mamba Labs.