# Email Address to LinkedIn Profile Lookup — Ravn

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

Claude skill

# Email addresses to LinkedIn profiles

Look up the person behind each email address: their LinkedIn profile URL, and optionally their full business profile (title, seniority, company). Use the lighter tool when only the URL is needed and the fuller one when the user wants context.
[Download SKILL.md](https://askravn.com/skills/email-to-linkedin-profile/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 email-to-linkedin-profile
```

## When to use

- The user has a list of customers or sign-ups and wants their LinkedIn profiles to connect or research.
- "Who are these people?" for a batch of emails.
- Use `email_to_linkedin` when only the URL is needed. Use `reverse_email_lookup` when the user also wants title, company and location.

## Before you start

- Check the connection: call `get_account` with `{}` or run `npx ravn whoami`.
- `email_to_linkedin` and `reverse_email_lookup` 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 which output the user needs. Both tools are one lookup per call, so if there is any chance they want title or company, `reverse_email_lookup` gives more for the same cost.

## Steps

- Clean the list locally: trim, lowercase, remove duplicates and obvious junk.
- Optional but useful for big lists: run `validate_emails` first (ours, 1 lookup each) and skip addresses that are `invalid` or `disposable`. Those rarely match a real profile.

```
{ "emails": ["jane@acme.com", "sam@brightpath.io"] }
```

- URL only, one address:

```
{ "email": "jane@acme.com" }
```

`email_to_linkedin` returns `email`, `linkedin_url` and `full_name`. 4. Full profiles, up to 100 per call over MCP:

```
{ "emails": ["jane@acme.com", "sam@brightpath.io"] }
```

`reverse_email_lookup` returns one item per address with its own `status` and a `result` holding `full_name`, `title`, `headline`, `seniority`, `city`, `state`, `country`, `industry`, `linkedin_url`, `company` and `last_updated_at`. Its `business_email` is re-verified. 5. A CSV with the CLI: dry run, sample, full.

```
npx ravn enrich customers.csv --tool email_to_linkedin --column Email --dry-run
npx ravn enrich customers.csv --tool email_to_linkedin --column Email --limit 10 --out sample.csv
npx ravn enrich customers.csv --tool email_to_linkedin --column Email --out with-linkedin.csv
```

Swap in `--tool reverse_email_lookup` for full profiles. The dry run shows how many lookups the run will use. 6. Check the match. If `full_name` clearly does not fit the name the user already has for that row, flag it as `match_check: review` rather than trusting it. 7. Free-provider addresses (Gmail and similar) match less often. Say so in the summary rather than retrying.

## Output

The CSV keeps every original column and adds:

- `rw_status`: `ok`, `not_found`, `error` or `dropped`.
- For `email_to_linkedin`: `rw_email`, `rw_linkedin_url`, `rw_full_name`.
- For `reverse_email_lookup`: `rw_full_name`, `rw_title`, `rw_seniority`, `rw_city`, `rw_state`, `rw_country`, `rw_industry`, `rw_linkedin_url`, `rw_company` (JSON), `rw_last_updated_at`.
- `match_check` where you flagged a name mismatch.
Summary: emails in, profiles found, match rate for work versus free-provider addresses, and lookups used.

## Rules

- Ravn does not scrape LinkedIn; profiles come from your own data-provider account, and opted-out people are never returned. Do not try to find them another way. See [/privacy#optout](https://askravn.com/privacy#optout).
- No FCRA uses: never look up applicants, tenants or candidates to decide credit, employment, insurance or housing.
- Use profiles for business context and outreach only.
- On a 429 `fair_use_exhausted` or a 403 `provider_key_required`, stop and tell the human.

## Example prompt

Here's a CSV of our 300 paying customers' emails. Find their LinkedIn profiles and job titles so our CS team knows who they're talking to.

## More [skills](https://askravn.com/skills)
Install them all with `npx ravn skill install --all`.
- [Enrich Any CSV with Contact and Company DataUse when someone hands over any CSV and wants it enriched, picking the right tool and column mapping, sampling, then running the full file safely..](https://askravn.com/skills/enrich-csv)
- [Enrich and Score an Inbound LeadUse when a new sign-up or form fill arrives with just an email and someone wants to know who it is, what company, and whether it fits the ICP..](https://askravn.com/skills/enrich-inbound-lead)
- [Enrich a Conference Attendee ListUse when someone has a conference or trade show attendee list with names and companies and wants verified emails and job titles for follow-up..](https://askravn.com/skills/event-attendee-enrichment)
- [Find Decision Makers at Target CompaniesUse when someone has a list of target company domains and needs the actual buyers at each one, with titles and verified work emails..](https://askravn.com/skills/find-decision-makers)
- [Find Someone's Work Email by NameUse when someone needs one person's work email from their name and company, found from the company's own address pattern and then checked..](https://askravn.com/skills/find-work-email)
- [Hashed Email Audience for Meta and Google AdsUse when someone wants to upload their own customer list to Meta or Google Ads as a hashed audience, verifying emails first and hashing locally..](https://askravn.com/skills/hashed-email-audience)
