To find a LinkedIn profile URL from a name and company, run Cargo’s linkedin.findProfileUrl action with fullName and companyName, then enrich each URL it returns and keep it only if the profile’s current company is the one you expected. Expect a URL for roughly one row in four: the action answers only when exactly one LinkedIn profile matches, and a miss costs 0 credits.
That is the find-linkedin-url skill for go-to-market lists: resolve, then validate, and leave a row empty rather than guess.
What 72k lookups show #
Cargo platform data, 90 days to Oct 16 2026:
| Measure | Value |
|---|---|
| Name-to-LinkedIn-URL runs | 72,240, across 47 workspaces |
| Runs that returned a URL | 23.9% |
| Credits charged on misses | 0, on every miss |
| Credits per URL found | 0.25 |
Why the found rate is low #
The action is strict by design. It runs a LinkedIn people search for the exact phrase of the full name and the exact phrase of the company name, and it returns a profile only when that search resolves to a single person. Two results is not a match, it is a miss. So is zero. The common reasons a real person does not come back:
- The name is not written the way the profile writes it. A nickname (Bill for William), a dropped middle name, a maiden name, missing accents.
- The company is not written the way the profile writes it. A legal name against a brand (“Alphabet” for “Google”), a suffix (“Acme Inc”), an old name after a rebrand.
- The person has moved on. CRM records age; the profile now shows a new employer.
- The name is common. Two Sam Lees at the same company is an ambiguous search, and the action refuses to pick one.
The trade is deliberate: a missing URL costs a row, while a wrong URL attaches someone else’s profile, history and contact details to your contact. Clean the inputs before running (the name as it appears on LinkedIn, the company’s brand name) rather than loosening the match.
Run it #
1. Install and sign in
npm install -g @cargo-ai/cli
cargo-ai login --email you@company.com # sends a code
cargo-ai login --email you@company.com --code 123456 # creates the account on first use
No LinkedIn account is needed: the lookup runs on identities Cargo operates and bills credits.
2. Resolve a candidate URL
cargo-ai orchestration action execute-batch \
--action '{"kind":"connector","integrationSlug":"linkedin","actionSlug":"findProfileUrl"}' \
--records '[{"fullName":"Ada Lovelace","companyName":"Analytical Engines"}]' \
--limit 5 --wait-until-finished
--limit 5 pilots the first five rows. companyName is optional, but without it only the name is searched, and a name alone is rarely unique. A found row returns linkedin_profile_url, full_name, current_title, headline, company_name and location; a miss returns nothing and is not charged.
3. Validate it
A single search hit can still be the wrong person: the company phrase can match a past employer or a line in the headline (“ex-Analytical Engines”). Enrich each found URL and compare the current employer to your record:
cargo-ai orchestration action execute-batch \
--action '{"kind":"connector","integrationSlug":"linkedin","actionSlug":"enrichProfile"}' \
--records '[{"linkedinUrl":"https://www.linkedin.com/in/ada-lovelace-example"}]' \
--wait-until-finished
Read company, company_domain and the experiences entry with is_current set. Keep the URL when company_domain matches the domain you hold for the account (or the current experience’s company matches by name); write the row back as unresolved when it does not. enrichProfile costs 0.25 credits per profile returned.
One call instead of two
linkedin.enrichProfileFromName runs the same strict search and returns the full enriched profile in one step, for 0.5 credits when it finds someone and 0 when it does not. It takes name and companyName. Use it when you want the profile anyway; use the two steps when most rows will miss, since misses on the first step are free and the second step only runs on the hits.
What it costs #
| Action | Credits | Charged when |
|---|---|---|
linkedin.findProfileUrl | 0.25 | a URL is returned |
linkedin.enrichProfile | 0.25 | a profile is returned |
linkedin.enrichProfileFromName | 0.5 | a profile is returned |
At the 23.9% platform found rate, 1,000 rows cost about 60 credits to resolve and about 60 more to validate the hits: roughly 0.5 credits per URL found, and nothing for the rows that miss.
Once you hold the URL, enrich the LinkedIn profile for the rest of the record, or find the person’s work email.
Frequently asked questions #
The action returns a URL only when the exact name and exact company resolve to a single LinkedIn profile. Ambiguous and empty searches both return nothing. Across 72,240 runs in the 90 days to Oct 16 2026, 23.9% returned a URL.
No. A lookup that returns no URL is not charged; the 0.25 credits apply only to a URL found.
Yes, if a wrong match matters to you. The search can match the company in a past role or the headline. Enrich the profile and check that the current company domain is the one you hold.
No. The lookup runs on identities Cargo operates and is billed in credits.