# People Enrichment

> LeadMagic people enrichments beyond email — B2B Profile search, mobile finder, role finder, employee finder, job change detection. Use when enriching a known person from a B2B Profile URL, finding a mobile number, finding who holds a role at a company, listing employees, or checking whether a contact changed jobs.

- Skill: `leadmagic/people-enrichment` (Agent Skill)
- Install (CLI): `npx skillmds@latest add leadmagic/people-enrichment`
- Raw SKILL.md: https://api.skillmd.com/api/skills/leadmagic/people-enrichment/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- License: MIT
- Author: LeadMagic (https://skillmd.com/u/leadmagic)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/leadmagic/people-enrichment

---


# LeadMagic — People enrichment

For **finding people by ICP filters**, use `people-search`. For **email** find/validate, use `email-enrichment`.

## Endpoints

| Goal | Endpoint | Credits | Rate/min |
|---|---|---|---|
| Enrich from B2B Profile URL | `POST /v1/people/profile-search` | 1 | 300 |
| Find mobile number | `POST /v1/people/mobile-finder` | 5 (free on miss) | 25,000 |
| Person holding a role at a company | `POST /v1/people/role-finder` | 2 | 300 |
| List employees at a company | `POST /v1/people/employee-finder` | 0.05 per employee | 300 |
| Did this person change jobs? | `POST /v1/people/job-change-detector` | 3 (0 on `PROFILE_NOT_FOUND`) | 1,500 |

## Field contracts

- **profile-search**: `{profile_url}` — common CRM synonym keys are accepted; full URL or bare `/in/{slug}`, normalized server-side. Company URLs are rejected (use Company Search).
- **mobile-finder**: any of `profile_url`, `work_email`, `personal_email`. Free when not found. For lawful business use; calling/texting compliance is the customer's responsibility.
- **role-finder**: `job_title` (required; aliases `role`, `title`, `jobTitle` map in) + one of `company_domain` / `company_name` / a B2B profile URL (a person URL resolves to their current company).
- **employee-finder**: company identifier; For filtered employee lists (level/function), prefer `POST /v3/people/employees` (see `people-search`).
- **job-change-detector**: profile URL plus the expected company (`company_name` is authoritative; `company_domain` only adds matcher aliases). Act only on `job_change_detected: true` (`status: JOB_CHANGE_DETECTED` — includes "expected employer absent from history but another primary employer is current"). `NO_CHANGE` = still there; `NEVER_WORKED_THERE` = absent and nothing current; `AMBIGUOUS_CURRENT_EMPLOYMENT` / `CURRENT_EMPLOYMENT_UNKNOWN` = inconclusive → recheck next sweep, not a change; `PROFILE_NOT_FOUND` = URL did not resolve, billed **0** credits (all other statuses bill 3).

```bash
curl -sS -X POST "https://api.leadmagic.io/v1/people/profile-search" \
  -H "X-API-Key: $LEADMAGIC_API_KEY" -H "Content-Type: application/json" \
  -d '{"profile_url":"in/janedoe"}'

curl -sS -X POST "https://api.leadmagic.io/v1/people/role-finder" \
  -H "X-API-Key: $LEADMAGIC_API_KEY" -H "Content-Type: application/json" \
  -d '{"job_title":"VP Sales","company_domain":"acme.com"}'
```

## Cost-order rules

- Profile fields from a URL you already hold → `profile-search` (1), never `b2b-profile` (10).
- Mobile last in any waterfall (5, priciest common step) and only when a phone channel is actually needed.
- Champion tracking: monthly `job-change-detector` sweep over CRM champions (3/contact) is the highest-converting outbound trigger — see `outbound-recipes` recipe 8.
- MCP equivalents: `search_profile`, `find_mobile_number`, `find_people_by_role`, `find_company_employees`, `detect_job_change`.

