# LinkedIn Profile URL to Verified Email — Ravn

Canonical: https://askravn.com/skills/linkedin-to-email

Claude skill

# LinkedIn profile URLs to verified emails

Turn a list of LinkedIn profile URLs into verified email addresses. Ravn matches each URL against your own data provider (it never scrapes LinkedIn) and returns only addresses that passed its own check.
[Download SKILL.md](https://askravn.com/skills/linkedin-to-email/SKILL.md) [Start free](https://askravn.com/#start)

Install
## One command.
Installs into `~/.claude/skills` for Claude Code. In Claude, upload the downloaded file under Settings → Capabilities → Skills.
```
npx ravn skill install linkedin-to-email
```

## When to use

- The user has saved profile URLs from a search, a spreadsheet or a CRM field and wants emails.
- One URL or a list of hundreds.
- Use `linkedin_to_business_email` when only work emails are acceptable (B2B outreach). Use `linkedin_to_best_email` when a personal address is an acceptable fallback.

## Before you start

- Check the connection: call `get_account` with `{}` or run `npx ravn whoami`.
- `linkedin_to_business_email` and `linkedin_to_best_email` need your own provider key connected — run `ravn keys add pdl` first; these tools run on your own provider account. If a tool returns 403 `provider_key_required`, stop and tell the human to add their key. Every call is one lookup; misses are free.
- Ask the user which tool fits: work only, or best available. If unsure, default to `linkedin_to_business_email`.
- Check the URLs look like profiles. The tools accept `linkedin.com/in/...`, `linkedin.com/pub/...` and `linkedin.com/company/...` URLs; anything else is rejected as `invalid_input`.

## Steps

- Clean the URLs locally: trim spaces, remove tracking query strings, and drop duplicates.
- One person over MCP:

```
{ "linkedin_url": "https://www.linkedin.com/in/janedoe" }
```

- Up to 100 at once over MCP:

```
{ "linkedin_urls": ["https://www.linkedin.com/in/janedoe", "https://www.linkedin.com/in/samlee"] }
```

The response is one item per URL with its own `status` (`ok` or `not_found`) and `result`. 4. A CSV with the CLI: dry run, sample, full. The `--column` fills the `linkedin_url` field.

```
npx ravn enrich profiles.csv --tool linkedin_to_business_email --column LinkedIn --dry-run
npx ravn enrich profiles.csv --tool linkedin_to_business_email --column LinkedIn --limit 10 --out sample.csv
npx ravn enrich profiles.csv --tool linkedin_to_business_email --column LinkedIn --out with-emails.csv
```

The dry run shows how many lookups the run will use. 5. Read each hit: `email`, `status` (the email verdict), `risk_score`, `validated_at` and `type` (`business` or `personal`). Invalid addresses are never returned. 6. For `risky` results (catch-all domains), tell the user they are lower confidence. 7. For misses, if the CSV has the person's name and company domain, you can try `search_business_email_by_name` instead. That is ours, 1 lookup, and needs no provider key.

## Output

The CSV keeps every original column and adds:

- `rw_status`: `ok`, `not_found`, `error` or `dropped`.
- `rw_email`, `rw_verdict` (`valid`, `risky` or `unknown`), `rw_risk_score`, `rw_validated_at`, `rw_type`.
- `rw_full_name` and `rw_linkedin_url` to confirm the match.
Summary: URLs in, emails found, split by business and personal, verdict counts, and lookups used.

## Rules

- Only use personal emails where the user has a lawful reason to contact someone at a personal address; for cold B2B outreach prefer `linkedin_to_business_email`.
- People who opted out are removed from the data and will not be returned. Do not try other routes to reach them. See [/privacy#optout](https://askravn.com/privacy#optout).
- Leave risky and unknown results out of any automated send.
- No FCRA uses: never look up candidates, tenants or applicants to decide credit, employment, insurance or housing.
- On a 429 `fair_use_exhausted` or a 403 `provider_key_required`, stop and tell the human.

## Example prompt

I've got 150 LinkedIn URLs in a sheet (column "Profile") of people I met at events. Get me their work emails, and only ones you're confident in.

## More [skills](https://askravn.com/skills)
Install them all with `npx ravn skill install --all`.
- [Meeting Prep Brief on a Person and CompanyUse before a call or meeting when someone wants a short brief on the person they are meeting and that person's company, from an email, name or LinkedIn URL..](https://askravn.com/skills/meeting-prep)
- [Monitor Ravn Usage and Credit SpendUse when an agent or person needs to stay within a Ravn budget by checking lookups and provider-key status before, during and after a job..](https://askravn.com/skills/monitor-usage-and-credits)
- [Ravn Core Skill for ClaudeUse Ravn from Claude or the terminal to validate emails, find work emails, enrich CSVs, and look up companies, phones and people..](https://askravn.com/skills/ravn)
- [Reduce Email Bounce Rate on a Stale ListUse when bounces are hurting deliverability and someone wants a stale list re-verified, segmented by risk score and given a clear re-send policy..](https://askravn.com/skills/reduce-bounce-rate)
- [Sales Territory Planning by State and IndustryUse when a sales leader wants a territory mapped, listing companies by state, industry and size and then the decision makers at the best-fit accounts..](https://askravn.com/skills/territory-planning)
- [Verify an Email List Before a CampaignUse when someone wants to verify and clean an email list before a campaign, dropping invalid and risky addresses so only send-ready contacts remain..](https://askravn.com/skills/verify-email-list)
