Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to People Data Labs

Scalekit connector
Open markdown

The People Data Labs connector lets your AI agent act in each user's People Data Labs account. Each user connects their own People Data Labs API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 14 tools.

Tools
14
What they doRead · write · destructive
14 · 0 · 014 read0 write0 destructive
Users sign in with

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the People Data Labs connection

    In AgentKit > Connections, create a People Data Labs connection. The name you give it is the connection_name your code passes. See Configure connections.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'peopledatalabs'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize People Data Labs:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'peopledatalabs_clean_company',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user opens the link once and enters their People Data Labs credentials there. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • peopledatalabs_autocompleteSuggest valid People Data Labs values for a field, such as company, school, title, skill, industry or location, from a text prefix.Read-only

    Autocomplete Field Values

    Suggest valid People Data Labs values for a field, such as company, school, title, skill, industry or location, from a text prefix. Returns data, an array of suggestions each with name, count and meta (extra details that depend on the field), sorted by most common first. Use autocomplete to find exact values before building search_people or search_companies queries. Use clean_company, clean_school or clean_location to normalize one known input. Provide the field input.

    Inputs

    fieldstringrequired
    The field to suggest values for. One of all_location, class, company, country, industry, location_name, major, region, role, school, sub_role, skill, title, website.one of all_locationclasscompanycountryindustrylocation_namemajorregionroleschoolsub_roleskilltitlewebsite
    sizeinteger
    Number of suggestions to return, from 1 to 100. Defaults to 10.
    textstring
    Starting text to complete, e.g. goog. An empty value returns the most common values.
    titlecaseboolean
    When true, text in the response is titlecased instead of the default lowercase.
  • peopledatalabs_bulk_enrich_companiesEnrich up to 100 companies in one request; each entry behaves like a separate company enrichment call.Read-only

    Bulk Enrich Companies

    Enrich up to 100 companies in one request; each entry behaves like a separate company enrichment call. Returns an array in request order, each item with status, likelihood and data; credits are used per 200 result. Use bulk_enrich_companies for lists of known companies. Use enrich_company for a single lookup. Each request needs the same identifying details enrich_company requires.

    Inputs

    requestsarrayrequired
    Array of 1 to 100 request objects, each with a params object holding company enrichment inputs such as name, website or profile. Example: [{"params": {"website": "google.com"}}]
  • peopledatalabs_bulk_enrich_personsEnrich up to 100 people in one request; each entry behaves like a separate person enrichment call.Read-only

    Bulk Enrich Persons

    Enrich up to 100 people in one request; each entry behaves like a separate person enrichment call. Returns an array in request order, each item with status, likelihood, data and any metadata you attached; credits are used per 200 result. Use bulk_enrich_persons for lists of known people and to raise throughput. Use enrich_person for a single lookup. Each request needs the same identifying details enrich_person requires.

    Inputs

    requestsarrayrequired
    Array of 1 to 100 request objects, each with a params object holding person enrichment inputs and an optional metadata object that is returned unchanged. Example: [{"params": {"profile": "linkedin.com/in/seanthorne"}, "metadata": {"id": "1"}}]
    data_includestring
    Comma-separated list of fields the response should include; use dot notation for subfields. Start with - to exclude fields instead. Example: full_name,emails.address
    include_if_matchedboolean
    When true, the response lists which of the request inputs matched this profile.
    min_likelihoodinteger
    Minimum likelihood score (1 to 10) applied to every request unless its own params override it.
    requiredstring
    Boolean expression of fields a match must contain, applied to every request unless overridden. Example: work_email AND experience
    titlecaseboolean
    When true, text in the response is titlecased instead of the default lowercase.
  • peopledatalabs_clean_companyNormalize a messy company name, website or social profile URL into the standard People Data Labs company identity.Read-only

    Clean Company

    Normalize a messy company name, website or social profile URL into the standard People Data Labs company identity. Returns the cleaned name, id, size, founded year, industry, location, social URLs, website, ticker, type, score and fuzzy_match flag. Use clean_company to standardize a company before searching. Use enrich_company for the full company profile. Provide at least one of name, website or profile.

    Inputs

    namestring
    Company name to normalize, in any capitalization, e.g. People data Labs.
    profilestring
    Company social profile URL to normalize, e.g. linkedin.com/company/google.
    websitestring
    Company website to normalize, e.g. www.peopledatalabs.com.
  • peopledatalabs_clean_locationNormalize a free-text location into the standard People Data Labs location.Read-only

    Clean Location

    Normalize a free-text location into the standard People Data Labs location. Returns the cleaned name, locality, region, subregion, country, continent, type and geo coordinates. Use clean_location to standardize a place before searching people or companies. Use autocomplete with field location_name to browse valid values. Provide the location input.

    Inputs

    locationstringrequired
    Location text to normalize, in any capitalization, e.g. 239 NW 13th Ave, Portland, Oregon 97209, US.
  • peopledatalabs_clean_schoolNormalize a messy school name, website or social profile URL into the standard People Data Labs school identity.Read-only

    Clean School

    Normalize a messy school name, website or social profile URL into the standard People Data Labs school identity. Returns the cleaned name, type, id, location, social URLs, website and domain. Use clean_school to standardize a school before searching people. Use autocomplete with field school to browse valid names. Provide at least one of name, website or profile.

    Inputs

    namestring
    School name to normalize, in any capitalization, e.g. Harvard.
    profilestring
    School social profile URL to normalize, e.g. linkedin.com/school/harvard-university.
    websitestring
    School website to normalize, e.g. harvard.edu.
  • peopledatalabs_enrich_companyFind the single best-matching company profile for a name, website, LinkedIn URL, ticker or PDL ID.Read-only

    Enrich Company

    Find the single best-matching company profile for a name, website, LinkedIn URL, ticker or PDL ID. Returns likelihood (1 to 10) and the full company profile fields such as size, industry, location, funding and social URLs; a 404 means no match was found and is not charged. Use enrich_company for one known company. Use search_companies to find companies by criteria, or clean_company to only normalize a company name or URL. Provide at least one of pdl_id, name, ticker, website or profile.

    Inputs

    countrystring
    Country of the company HQ, e.g. United States.
    data_includestring
    Comma-separated list of fields the response should include; use dot notation for subfields. Start with - to exclude fields instead. Example: name,location.metro
    include_if_matchedboolean
    When true, the response lists which of the request inputs matched this company.
    localitystring
    City of the company HQ, e.g. Mountain View.
    locationstring
    Location of the company's headquarters, from street address to country, e.g. 1600 Amphitheatre Pkwy, Mountain View, CA 94043.
    min_likelihoodinteger
    Minimum likelihood score (1 to 10) for a company to count as a match. Default is 2; use 6 or more for high precision.
    namestring
    The company's name, e.g. Google, Inc.
    pdl_idstring
    PDL company ID or LinkedIn slug, e.g. aKCIYBNF9ey6o5CjHCCO4goHYKlf or google. When set, other match inputs are ignored.
    postal_codestring
    Postal code of the company HQ, e.g. 94043.
    profilestring
    The company's social profile URL, e.g. linkedin.com/company/google.
    regionstring
    State or region of the company HQ, e.g. California.
    requiredstring
    Boolean expression of top-level company fields a match must contain, so you are only charged for useful matches. Example: location AND (website OR linkedin_url)
    street_addressstring
    Street address of the company HQ, e.g. 1600 Amphitheatre Pkwy.
    tickerstring
    Stock ticker of a publicly traded company, e.g. GOOGL.
    titlecaseboolean
    When true, text in the response is titlecased instead of the default lowercase.
    websitestring
    The company's website, e.g. google.com.
  • peopledatalabs_enrich_ipLook up the company, and optionally location, metadata and person details, associated with an IP address.Read-only

    Enrich IP Address

    Look up the company, and optionally location, metadata and person details, associated with an IP address. Returns data with ip (address, optional metadata and location), company (id, name, website, size, industry, confidence) and optional person fields; a 404 means no match was found. Use enrich_ip to identify the organization behind a visitor's IP. Use enrich_company when you already know the company. Provide the ip input.

    Inputs

    ipstringrequired
    IPv4 or IPv6 address to enrich, e.g. 72.212.42.169.
    min_confidencestring
    Only return results at or above this confidence for company and person. One of very high, high, moderate, low, very low.one of very highhighmoderatelowvery low
    return_if_unmatchedboolean
    When true, return IP location or metadata even when no company matches the IP.
    return_ip_locationboolean
    When true, include location data for the IP regardless of a company match.
    return_ip_metadataboolean
    When true, include IP metadata (mobile, hosting, proxy, VPN, tor, relay flags) regardless of a company match.
    return_personboolean
    When true, include person fields (job title role, sub-role and levels) associated with the IP.
    titlecaseboolean
    When true, text in the response is titlecased instead of the default lowercase.