People Enrichment API
with 90+ datapoints.
Pass a profile URL, public ID or X handle. Get the full person record in real time, then add the professional email, the personal email or the phone number as separate flags. Pay only for what you request.
social.com/in/sarah-martinez-vpprof_PVXj1LZJg54zXKcnKNBusu8LgvJX5SYm5QYj@tomas_buildspriya-anand-rampx.com/linear_engWhat is a people enrichment API?
A people enrichment API takes one identifier for a person, a profile URL, a public ID or a social handle, and returns a structured record: current role, work history, education, skills, and contact data: professional email, personal email and phone number. It turns a bare link or a CRM row into a profile an application or an AI agent can act on.
DataForB2B runs that lookup in real time against 800M+ professional profiles aggregated from 20+ sources. You choose the data types to enrich on every call and pay only for those.
- Profile alone: 1.5 credits. Professional email: 1 credit. Personal email: 3 credits. Phone number: 10 credits. Each one is its own flag.
- One endpoint, three surfaces: REST, the enrich_profile tool in the MCP server, and the natural follow-up to a People Search result.
- Search returns encoded IDs; enrichment resolves them into the full record and contact data.
- Endpoint
- POST https://api.dataforb2b.ai/enrich/profile
- Auth
- api_key header
- Input
- Profile URL, public ID, encoded prof_ ID, or X / Twitter handle
- Output
- Profile, professional email, personal email, phone number, GitHub profile
- Coverage
- 800M+ profiles · 20+ data sources · real-time fetch
- Delivery
- REST · MCP tool enrich_profile · pairs with monitors / webhooks
One request. One verified person.
POST /enrich/profile with an identifier and the enrich_* flags you need. The response contains only the blocks you asked for, plus credits_used. Full schema in the docs.
Pass any profile identifier with enrich_profile: true. You get the canonical person record, headline, current role, every past position, education, skills, certifications, languages.
Resolve any person from any identifier.
URL, public ID, encoded ID or X handle in. Profile, contact and GitHub blocks out, each one opt-in, each one billed on its own.
Any identifier in
Full profile URL, short URL, public ID, encoded prof_ ID, or an X / Twitter URL or handle. The encoded ID is the fastest and most reliable input, it is what search results return.
profile_identifierprof_…public_id@handleWork email, personal email, phone
Enrich the professional email, the personal email and the phone number as three independent flags, next to the full profile and the GitHub profile. Combine them freely; credits are charged only for the types you ask for.
enrich_profileenrich_work_emailenrich_personal_emailenrich_phoneenrich_githubComplete career record
Work history, education, skills, certifications and languages in one structured record, enough context to rank, route or personalise without a second call.
experienceeducationskillscertificationslanguagesGitHub for technical sourcing
When the person links a GitHub account: repositories, stars, contributions over the last year and pinned projects. Built for recruiting agents, not for sales outreach.
git_profilerepos_countcontributions_last_yearSix fields. Nothing hidden.
One identifier and five boolean flags. Set the flags for the data you need; the credit column is what each one costs when it is on.
| Field | Type | Credits | Description |
|---|---|---|---|
| request body | |||
profile_identifier | string | required | Full URL, short URL, public ID, encoded prof_ ID (recommended), or X / Twitter URL or handle. |
enrich_profile | boolean | 1.5 credits | Full profile: experience, education, skills, certifications, languages, metrics. |
enrich_work_email | boolean | 1 credit | Professional email address. |
enrich_personal_email | boolean | 3 credits | Personal email address. |
enrich_phone | boolean | 10 credits | Phone number. |
enrich_github | boolean | 1 credit | GitHub profile data. Requires the person to link a GitHub account. |
Enrichment endpoint, dataset, or platform.
Three ways to get person data into a product. Each is the right answer for a different team, this is where DataForB2B sits.
| // criterion | DataForB2B People Enrichment API | Dataset vendors (People Data Labs, Coresignal, Crustdata) | GTM platforms (Apollo, ZoomInfo) |
|---|---|---|---|
| What you integrate | An endpoint. Your product or agent calls it and keeps its own UX. | A dataset or an enrichment endpoint on top of a licensed database. | A finished application with its own UI; the API extends that app. |
| Freshness | Fetched at request time from 20+ sources, so a job change shows up in the response, not in your bounce rate. | Refreshed on the vendor's crawl cycle; strong for bulk matching against a stable snapshot. | Tied to the platform's own database refresh. |
| Input accepted | Profile URL, public ID, encoded ID, X handle. Search results give you the IDs directly. | Typically name + company, email or profile URL, with a match score. | Usually email or name + domain, inside the platform's contact model. |
| Billing unit | Per data type requested on each call (profile, work email, personal email, phone, GitHub). | Per successful match or per record, often with annual dataset commitments. | Per seat and per credit bundle attached to the subscription. |
| Agent integration | Native MCP tool (enrich_profile) plus REST; monitors push job-change and funding events to a webhook. | REST only in most cases; the agent wraps the call itself. | REST and native integrations, designed for humans using the platform first. |
| Best fit | Teams building a sales, recruiting or investment product or agent that needs person data inside their own stack. | Teams that need bulk offline matching or want to license a dataset. | Sales and marketing teams that want a ready-made tool, not infrastructure. |
Source data across 20+ points
Continuous global refresh from public sources — not a stale quarterly snapshot. Profiles, companies, and contact data verified in real time.
Data delivered where your stack lives.
Same dataset, three transports. Pull it via REST, plug it into your agent through MCP, or stream changes to your webhook in real time.
API
Pull on demand.
One JSON request. 60+ columns. 8 operators. Authenticate with your api_key header, point at the endpoint, get verified data back in 142ms (p50).
/search/people- api_key header auth
- JSON in, JSON out
MCP
Native tools for agents.
Drop our MCP server into Claude, Cursor, or any agent runtime. The model picks the tool, builds the filters and reads the response — no glue code, no schemas to maintain.
search_people · enrich_profile- Claude · OpenAI · Cursor
- tool-call native
- no schema babysitting
Webhooks
Get notified the moment it changes.
Subscribe to ICP events — new matches, role changes, funding rounds. We POST to your endpoint with the delta. Your sequence reacts before the data goes stale.
→ your_endpoint- ICP delta events
- signed payloads
- exponential retry
What can you build with our API.
One POST request, four product surfaces. Each layered on top of the same endpoint — only the question changes.
AI Recruiting product
Past employers, top schools, degrees, certifications and tenure in the same payload. Your agent shortlists ex-FAANG, ex-Big4 and Ivy/MIT graduates — and the data refreshes itself.
past_companyschooldegree_levelskillcertificationyears_of_experienceAI SDR
Wire funding triggers and ICP filters into your agent. Stream verified profiles into the sequence. Re-query when the ICP changes — the agent owns the list, not a CSV exported in March.
current_company_funding_stagecurrent_titlecurrent_company_sizeprofile_countryis_currently_employedInvestment platform
Catch stealth founders, track investor overlap, funding stage and tenure across thousands of operators. Pipe raw JSON into your scoring model — no scrapers, no stale lists, no broken refresh jobs.
current_title ~ "Stealth Founder"current_company_investorcurrent_company_funding_stagecurrent_company_sizeyears_at_current_companycurrent_company_industrySales automation platform
Power people search, enrichment and ICP refresh inside your product — one endpoint, MCP-ready, GDPR-compliant. Stop maintaining brittle scrapers; ship the feature instead.
current_companycurrent_titlecurrent_company_categorylanguage_proficiencyfollower_countBuilding something we haven't listed? Tell us what you're wiring it into. Half the columns we ship today came from a customer asking for one.

GDPR compliant
Full compliance with European data protection regulations. Your data privacy is our priority.

CCPA compliant
Adhering to California Consumer Privacy Act standards for maximum data protection.
Publicly available data
All data sourced from publicly available and verified sources, ensuring ethical collection.
Related solutions
People Search API
Find the people first, 40+ filters over 800M+ profiles, returns the IDs enrichment consumes.
Lead Enrichment API
The enrichment surface behind inbound routing, CRM hydration and lead scoring.
Candidate Sourcing API
Resolve profiles into structured candidates for ATS and AI sourcers, GitHub included.
Four formats: a full profile URL, a short URL, the public ID (the last segment of the profile URL), the encoded prof_ ID returned by People Search, or an X / Twitter URL or handle. The encoded ID is the recommended input, it is unambiguous and resolves fastest. With an X handle, the person is matched to their professional profile and contact data is best-effort, so pass the professional identifier when you have it.
Search finds people you do not know yet: you pass filters (title, company size, skills, funding stage) and get a list of matching profiles. Enrichment hydrates one person you already have an identifier for. In practice they chain: People Search returns encoded IDs, People Enrichment turns each ID into the full record plus contact data.
Per data type, per call. The full profile is 1.5 credits, the work email 1 credit, the GitHub profile 1 credit, the personal email 3 credits and the phone number 10 credits. If you set only enrich_work_email, you are charged 1 credit and nothing else. At least one enrich_* flag must be true on every request.
Enrichment fetches at request time and aggregates from 20+ sources, which is why a role change or a new employer appears in the response as soon as it is public. If you only need cached attributes for a large list, People Search with enrich_live: false returns stored data at 0.75 credit per result.
Yes. The DataForB2B MCP server exposes enrich_profile as a tool next to search_people, search_company and the other endpoints. Claude, Cursor, OpenAI-based agents or any MCP runtime can pick the tool, pass the identifier and read the structured response, no glue code and no schema to maintain on your side.
For technical recruiting: it returns repositories, languages, stars and last-year contributions when the person links a GitHub account, which is a strong signal for sourcing engineers. It adds nothing to a sales use case, so leave enrich_github off in outbound workflows.
Build with us. Now.
Get an API key in 60 seconds. Plug your AI agent into 800M+ verified profiles and 75M+ companies — today.