Introducing web search monitors

An email or a name. A profile you can use.

Find a person profile from an email, social URL, or name with company context. Bring available roles, experience, and profile links into your application.

Identity

alex@example.com

Work email

Candidate
Alex TaylorProduct engineer at Example

92match score, out of 100

JSON response

match.json

{
  "match": {
    "status": "candidate",
    "score": 92,
    "person": {
      "name": { "full": "Alex Taylor" },
      "current_role": {
        "title": "Product engineer",
        "organization": { "domain": "example.com" }
      },
      "current_role_status": "present"
    }
  }
}

Powering agents and products with the world's data.

Super.com logo
Passionfroot logo
Zero logo
Upstash logo
Mintlify logo
Chatwoot logo
Similarweb logo
Klarna logo
Ferndesk logo
DocsBot logo
Daily.dev logo
Sixtyfour logo
Comp AI logo
Squad logo

Start with an identifier. Get context you can check.

Send what you know about a person and get back the available profile details, with a match status and score to review.

  • Start with what you know

    Use an email or social profile URL, or combine a name with company, education, or location details.

    • Emailalex@example.com
    • Social URLx.com/alextaylor
    • Name and companyAlex Taylor, Example
  • Keep the useful context

    Get available profile details such as a current role, work history, education, location, and social links.

    Alex Taylorexample.com
    Role
    Product engineer
    Experience
    3 roles
    Education
    1 school
    Profile links
    2 links
  • Inspect the match

    Use the returned candidate status and match score to decide how your application handles the profile.

    candidatescore 92

    Use the profile

    not_foundscore null

    Ask for more context

One identifier. More context.

Send the identity details you have and inspect match.status. Candidate profiles include a score; a not_found result lets your product handle missing data explicitly.

npm install context.dev
TypeScript
people-enrichment.ts
import ContextDev from 'context.dev';

const client = new ContextDev({ apiKey: 'YOUR_API_KEY' });

const { match } = await client.people.enrich({
  email: 'alex@example.com',
});

if (match.status === 'candidate') {
  console.log(match.person, match.score);
} else {
  console.log('No matching profile found.');
}

From your first request to a working feature.

  1. Provide an identity

    Send an email, social URL, or a name with enough context to distinguish the person.

  2. Review the candidate

    Inspect the match score and available profile fields before using the result.

  3. Connect person and company

    Enrich the organization domain with Retrieve Brand to give your agent both sides of the relationship.

A few things to know.

More details in the API documentation.

What can I use to find someone?

Use an email or social profile URL. A name can also be combined with company, education, or location context to help identify the right person.

Is every field available for every person?

No. Profile fields depend on the available data. Treat missing values as unknown and check current_role_status before interpreting an absent current role.

What happens when no profile is found?

The response returns match.status as not_found, with null person and score fields. Your application can request more identifying context or continue without an enriched profile.

How does this work with company enrichment?

People Enrichment returns person context. When an organization domain is available, use Retrieve Brand for that company’s logos, colors, description, and other available brand fields.

Start with your next request.

One API key for scraping, research, brand data, batches, and monitoring.

1,000free credits

Every month. No credit card required.

Start for freeRead the docs