Growth Intelligence

GetUserEnrichment

Enrich a person by email address. Returns professional title, role, seniority, company details, LinkedIn and social profiles, and location — sourced from third-party enrichment providers. Use this to implement personalized onboarding experiences based on a user's job function and seniority.

Success rates

Work email

50–70% success rate. Work emails from company domains enrich much more reliably.

Personal email

<50% success rate for gmail.com, yahoo.com, and similar free providers.

For best results, collect a work email during signup. Always check the found field before reading enrichedData.

Endpoint

This is a GraphQL query sent over HTTP POST.

POST /growth-intelligence

Authentication

content-type: application/json
x-api-key: YOUR_API_KEY

Input

VariableTypeRequiredDescription
input.emailStringYesThe user's email address. Work emails yield higher enrichment success rates.
input.userIdStringNoOptional user ID to correlate the enrichment result with a known user.

GraphQL query

query GetUserEnrichment($input: GetUserEnrichmentRequest!) {
  getUserEnrichment(input: $input) {
    found
    enrichedData {
      firstName
      lastName
      fullName
      avatarUrl
      contactInfo {
        phoneNumbers
      }
      employmentInfo {
        companyName
        companyDomain
        jobTitle
        jobRole
        seniorityLevel
        jobSubRole
      }
      socialProfiles {
        twitterUrl
        facebookUrl
        githubUrl
        linkedinUrl
      }
      locationInfo {
        city
        country
        countryCode
        fullLocation
        state
        stateCode
        timeZone
      }
    }
  }
}

Example

cURL

curl --location 'https://api.app.thrivestack.ai/growth-intelligence' \
--header 'content-type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
  "operationName": "GetUserEnrichment",
  "variables": {
    "input": {
      "email": "jane.doe@acme.com"
    }
  },
  "query": "query GetUserEnrichment($input: GetUserEnrichmentRequest!) { getUserEnrichment(input: $input) { found enrichedData { firstName lastName fullName employmentInfo { jobTitle jobRole seniorityLevel companyName } locationInfo { city country } socialProfiles { linkedinUrl } } } }"
}'

JavaScript

const response = await fetch("https://api.app.thrivestack.ai/growth-intelligence", {
  method: "POST",
  headers: {
    "content-type": "application/json",
    "x-api-key": "YOUR_API_KEY"
  },
  body: JSON.stringify({
    operationName: "GetUserEnrichment",
    variables: { input: { email: "jane.doe@acme.com" } },
    query: `query GetUserEnrichment($input: GetUserEnrichmentRequest!) {
  getUserEnrichment(input: $input) {
    found
    enrichedData {
      firstName lastName fullName
      employmentInfo { jobTitle jobRole seniorityLevel companyName }
      locationInfo { city country }
      socialProfiles { linkedinUrl }
    }
  }
}`
  })
});
const { data } = await response.json();
if (data.getUserEnrichment.found) {
  console.log(data.getUserEnrichment.enrichedData);
}

Response fields

FieldTypeDescription
foundBooleanWhether enrichment data was found. Always check before reading enrichedData.

enrichedData — Basic

FieldTypeDescription
firstNameStringGiven name. Example: "Jane"
lastNameStringFamily name. Example: "Doe"
fullNameStringFull display name. Example: "Jane Doe"
avatarUrlStringProfile avatar image URL.

enrichedData — employmentInfo

FieldTypeDescription
companyNameStringCurrent employer. Example: "Acme Corp"
companyDomainStringEmployer domain. Example: "acme.com"
jobTitleStringCurrent job title. Example: "Senior Software Engineer"
jobRoleStringHigh-level role. Example: "Engineering", "Sales", "Marketing"
seniorityLevelStringSeniority. Example: "Senior", "Manager", "VP"
jobSubRoleStringMore specific sub-role. Example: "Platform", "Frontend"

enrichedData — socialProfiles

FieldTypeDescription
linkedinUrlStringFull LinkedIn profile URL.
twitterUrlStringFull Twitter profile URL.
githubUrlStringFull GitHub profile URL.
facebookUrlStringFull Facebook profile URL.

enrichedData — locationInfo

FieldTypeDescription
cityStringCity of residence.
stateStringState or region.
stateCodeStringState/region code (e.g., "CA").
countryStringCountry name.
countryCodeStringISO country code (e.g., "US").
fullLocationStringHuman-readable full location.
timeZoneStringIANA time zone (e.g., "America/Los_Angeles").

Example response

{
  "data": {
    "getUserEnrichment": {
      "found": true,
      "enrichedData": {
        "firstName": "Jane",
        "lastName": "Doe",
        "fullName": "Jane Doe",
        "avatarUrl": "https://example.com/avatar.jpg",
        "contactInfo": {
          "phoneNumbers": ["+1-555-0100"]
        },
        "employmentInfo": {
          "companyName": "Acme Corp",
          "companyDomain": "acme.com",
          "jobTitle": "Senior Software Engineer",
          "jobRole": "Engineering",
          "seniorityLevel": "Senior",
          "jobSubRole": "Platform"
        },
        "socialProfiles": {
          "linkedinUrl": "https://linkedin.com/in/janedoe",
          "twitterUrl": "https://twitter.com/janedoe",
          "githubUrl": "https://github.com/janedoe",
          "facebookUrl": "https://facebook.com/janedoe"
        },
        "locationInfo": {
          "city": "San Francisco",
          "state": "California",
          "stateCode": "CA",
          "country": "United States",
          "countryCode": "US",
          "fullLocation": "San Francisco, CA, United States",
          "timeZone": "America/Los_Angeles"
        }
      }
    }
  }
}