Solutions Person Enrichment API
Enrich any B2B contact from an email or a name
Match emails, names, and domains to the right person: confidence-first, with transparent metadata so you know how sure we are.
POST /v2/enrich/persons
Live · production API
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
200 OK19 fieldssample
{
"success": true,
"data": {
"person": {
"id": "prs_01jbd5vewyenebxgaz869ffe5t",
"publicId": "satyanadella",
"linkedinUrl": "https://www.linkedin.com/in/satyanadella",
"firstName": "Satya",
"lastName": "Nadella",
"headline": "Chairman and CEO at Microsoft",
"currentPositionTitle": "Chairman and Chief Executive Officer",
"currentCompanyId": "com_01jb7r4t9k2m5x8q1v3n6c0d4f",
"currentCompanyName": "Microsoft",
"currentCompanyLinkedinId": "1035",
"updateDate": "2026-05-29T20:56:33.000Z",
"location": {
"city": "Redmond",
"state": "Washington",
"country": "United States",
"countryCode": "US",
"rawLocation": "Redmond, Washington, United States"
}
},
"alternativePersons": []
},
"error": null
}curl -X POST https://api.reversecontact.com/v2/enrich/persons \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{}'import requests
res = requests.post(
"https://api.reversecontact.com/v2/enrich/persons",
headers={"Authorization": "Bearer <API_KEY>"},
json={},
)
print(res.json())const url = "https://api.reversecontact.com/v2/enrich/persons";
const res = await fetch(url, {
method: "POST",
headers: {
Authorization: "Bearer <API_KEY>",
"Content-Type": "application/json",
},
body: JSON.stringify({}),
});
console.log(await res.json());Benefits
Reliable data enrichment with confidence-first matching
Confidence-first matching
We'd rather return nothing than match the wrong person.
Multiple input types
Match from an email, a domain, or a full name + company.
Traceable outcomes
Every match includes confidence and freshness metadata.
Use cases
How teams put this data to work
Clean leads in your pipelines
Match incoming leads to one verified person before enrichment. Prevent duplicates and broken routing from messy inputs.
Data unification across systems
Link records across CRM, warehouse, and product events with stable IDs. Get reliable joins without building fuzzy matching in-house.
Fewer wrong matches, less risk
Reduce risky automation by avoiding incorrect matches. Use confidence thresholds to control when to enrich or activate.
AI agents with guardrails
Give agents a verified person to act on. Require a confidence threshold before any action.
Onboarding and signup enrichment
Enrich users at signup to personalize and route accounts. Store match confidence and freshness for transparency.
RevOps dedupe & merge
Detect and merge duplicates across sources based on the matched person. Keep a clean CRM without manual review cycles.
Process
How does it work?
A synchronous flow built for real-time usage.
- 01
Send your inputs
Send an email, a domain, or a full name + company, alone or combined.
- 02
Get a confident match
Get a match status and a confidence score back, or nothing when we're not sure.
- 03
Use the match
Use the matched ID to fetch full profiles, contact data, or monitoring events.
Testimonials
Trusted by data-driven teams
“Our data team built an internal ops product with Reverse Contact. It improved identity resolution across systems and provided a reliable people & company layer.”
Ethan CarterData Team, Gitpod“We use Reverse Contact as a trusted data provider for our product inside our RevOps workflows. It helps our customers unify CRM records and enrich missing context...”
David BrombergCEO, Lantern“Reverse Contact provided a reliable identity resolution layer for our product. The API is straightforward, outputs are consistent, and match quality is strong.”
Lucas PerretHead of Product, lemlistCompliance
Compliance-by-design. Built to be defensible.
Reverse Contact is designed to support GDPR/CCPA-aligned data practices. We maintain clear sourcing principles, respect data subject rights, and prioritize accuracy over guesswork.
- GDPR
- CCPA
FAQ
Frequently Asked Questions
Can't find the answer to your question? Reach out to us via the contact page.
What inputs can I enrich a person from?
A work email, a LinkedIn URL, or a full name combined with a company domain. We resolve the identity first, then return the structured profile.
Which fields does the profile include?
Identity, current position, work history, education, skills, languages, location, industry, seniority, social profiles, plus metadata such as last-updated timestamps and a confidence score.
How do you handle uncertain matches?
We return null instead of a best guess. Every match carries a confidence score, and you can raise the precision threshold in your request.
How fresh is the data?
Fetch profiles live for maximum freshness, or from our database for lower latency. Each response includes a last-updated timestamp.
Am I charged when no match is found?
No. Credits are only debited when a matched profile is returned.
Is Reverse Contact compliant with GDPR and CCPA?
Yes. Compliance is built into how we collect and process data. Full documentation is available in the Trust Center.
The data layer behind your GTM engine
Access fresh people and company data through one API and power every enrichment, prospecting, and automation workflow.
- Profiles
- 1B+
- Refreshes / month
- 200M
- Response time (P95)
- 500ms