PeopleDataLabs provides B2B data enrichment and identity resolution, empowering organizations to build enriched user profiles and validate customer information
PeopleDataLabs provides B2B data enrichment and identity resolution, empowering organizations to build enriched user profiles and validate customer information On Nagent, People Data Labs is exposed as a fully-configurable analytics integration that any agent can call — 24 actions, and API key authentication. No code is required to wire People Data Labs into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use People Data Labs to automate the kinds of tasks analytics teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire People Data Labs into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against People Data Labs, with input parameters and output schema. Drop these into any step of an agent built in Helix.
PEOPLEDATALABS_CLEAN_COMPANY_DATACleans and standardizes company information based on a name, website, or profile URL; providing at least one of these inputs is highly recommended for meaningful results.
Input parameters
The company's current or known name. At least one of 'name', 'website', or 'profile' must be provided.
If true, formats the JSON response with human-readable indentation.
The company's social media profile URL (e.g., LinkedIn, Twitter, Facebook). At least one of 'name', 'website', or 'profile' must be provided.
The company's website URL. At least one of 'name', 'website', or 'profile' must be provided.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_CLEAN_COMPANY_POSTTool to clean and standardize company data using POST method. Use when you need to standardize company information by providing company name, website, or social profile. Returns standardized company information including name, website, LinkedIn profile, and other company identifiers.
Input parameters
The name of the company. At least one of 'name', 'website', or 'profile' must be provided.
Whether the output should have human-readable indentation.
A social profile used by the company (e.g. LinkedIn/Facebook/Twitter). At least one of 'name', 'website', or 'profile' must be provided.
A website the company uses. At least one of 'name', 'website', or 'profile' must be provided.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_CLEAN_LOCATION_DATACleans and standardizes a raw, unformatted location string into a structured representation, provided the input is a recognizable geographical place.
Input parameters
The raw, unformatted location string to be cleaned and standardized. This can be a full address, a city/state pair, or just a place name.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_CLEAN_LOCATION_POSTTool to clean and standardize location data using POST method. Use when you need to normalize raw location strings into structured location information including city, region, and country.
Input parameters
Whether the output should have human-readable indentation
The raw location string to clean and standardize. Can be a full address, city/state, or place name.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_CLEAN_SCHOOL_DATACleans and standardizes school information; provide at least one of the school's name, website, or profile for optimal results.
Input parameters
The name of the school.
If true, the JSON response is pretty-printed with human-readable indentations.
The social media profile URL (e.g., LinkedIn, Twitter) of the school.
The website URL of the school.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_CLEAN_SCHOOL_DATA_POSTTool to clean and standardize school data using POST method. Use when you need to clean school information by providing name, website, or profile.
Input parameters
The name of the school to clean and standardize.
Whether the output should have human-readable indentation.
A social profile used by the school (e.g. LinkedIn/Facebook/Twitter).
A website the school uses.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_ENRICH_BULK_COMPANY_DATATool to enrich up to 100 companies in a single request using the Bulk Company Enrichment API. Use when you need to enrich multiple company profiles efficiently. Each request must include at least one company identifier (website, profile, name, ticker, or pdl_id). Results are returned in the same order as the input requests, with individual status codes indicating success (200) or failure (404).
Input parameters
Array of 1-100 individual company enrichment requests. Each request must contain a params object with at least one company identifier.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_ENRICH_BULK_PERSON_DATATool to enrich up to 100 person profiles in a single API request using the Bulk Person Enrichment API. Use when you need to enrich multiple people efficiently, as this effectively increases the rate limit by up to 100x compared to individual enrichment calls. Each request in the array can use the same parameters as the single person enrichment endpoint.
Input parameters
Array of 1-100 individual enrichment requests, each containing a 'params' object with person identifiers.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_ENRICH_COMPANY_DATAEnriches company data from People Data Labs with details like firmographics and employee counts. CRITICAL: This action REQUIRES at least one company identifier. DO NOT send empty {} requests. You MUST provide at least one of: pdl_id, name, profile, ticker, or website. Valid request examples: - {"name": "Apple Inc."} - enrich by company name - {"website": "google.com"} - enrich by website URL - {"ticker": "MSFT"} - enrich by stock ticker - {"profile": "linkedin.com/company/microsoft"} - enrich by social profile. Each call consumes API credits; use specific identifiers rather than exploratory requests.
Input parameters
REQUIRED if no other identifier provided. Company name to search for. At least one of pdl_id/name/profile/ticker/website must be provided.
REQUIRED if no other identifier provided. People Data Labs unique ID for a company. At least one of pdl_id/name/profile/ticker/website must be provided.
If true, the JSON response will be pretty-printed with human-readable indentation for easier inspection.
The state, province, or administrative region where the company is located (e.g., 'California' or 'TX').
REQUIRED if no other identifier provided. Stock market ticker symbol. At least one of pdl_id/name/profile/ticker/website must be provided.
The country where the company is located. Can be a full name or an ISO country code.
REQUIRED if no other identifier provided. Company social media profile URL. At least one of pdl_id/name/profile/ticker/website must be provided.
REQUIRED if no other identifier provided. Company website URL. At least one of pdl_id/name/profile/ticker/website must be provided.
The city or locality where the company is situated (e.g., 'Mountain View').
A general text query for the company's location (e.g., 'San Francisco, CA' or 'London'). Can be a partial or complete location string.
If set to true, textual data in the API response will be converted to title case. If omitted, the API's default casing is used.
The postal or ZIP code for the company's location.
The street address component of the company's location.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_ENRICH_IP_DATAEnriches an IP address with company, location, metadata, and person data from People Data Labs.
Input parameters
The IP address to enrich. Must be a valid IPv4 or IPv6 address string.
If true, the JSON response will be formatted with human-readable indentation for easier manual inspection.
If true, relevant string values in the response data (e.g., names, locations) will be converted to title case.
If true, attempts to include person data associated with the IP address, provided a match is found.
Specifies the minimum confidence level required for a company match to be returned. Matches below this threshold are excluded. If unspecified, the API's default (often 'very low') is used. Accepted values: `very low`, `low`, `medium`, `high`, `very high`.
If true, includes location data specific to the IP address (e.g., city, region, country, GPS coordinates).
If true, includes metadata specific to the IP address (e.g., connection type, line speed, ISP).
If true, IP-specific data (like location or metadata if requested) will be returned even if no company profile is matched to the IP.
If true, the API will use an updated taxonomy for job title roles in the response. Refer to People Data Labs documentation for specifics on this taxonomy.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_ENRICH_JOB_TITLE_DATAEnhances a job title by providing additional contextual information and details.
Input parameters
Job title to be enriched.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_ENRICH_PERSON_DATAEnriches person data using various identifiers; requires a primary ID (profile, email, phone, email_hash, lid, pdl_id) OR a name (full, or first and last) combined with another demographic detail (e.g., company, school, location).
Input parameters
LinkedIn ID.
Full name.
Email address.
Phone number; E.164 format recommended.
People Data Labs unique record ID.
Format JSON response with indentation for readability.
State, province, or region of residence.
School name attended.
Company name where person has worked.
Country of residence (ISO 3166-1 alpha-2 code or full name).
Social profile URL (e.g., LinkedIn, Facebook).
City or locality of residence.
General location (e.g., city, state, country).
Boolean expression of top-level fields required in enriched profile for match. Use AND/OR operators and parentheses for logic (e.g., 'emails AND phone_numbers', 'education AND (emails OR phone_numbers)'). Valid fields: emails, phone_numbers, experience, education, job_title, job_company_name, full_name, location_country, work_email, personal_emails, mobile_phone, linkedin_url, profiles, skills, etc.
Last name.
Birth date (YYYY-MM-DD format).
SHA-256 or MD5 hash of an email, for matching without exposing the raw email.
First name.
Postal or ZIP code of residence.
Comma-separated data fields to include in response (e.g., 'emails,phones'). Refer to People Data Labs docs for all fields.
Minimum confidence score (0-10) for a match to be returned; higher is stricter.
Street address.
Include input parameters used for matching in the response if true.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_ENRICH_SKILL_DATARetrieves detailed, standardized information for a given skill by querying the People Data Labs Skill Enrichment API; for best results, provide a recognized professional skill or area of expertise.
Input parameters
The specific skill term to be enriched. This skill will be matched against a skill dataset to retrieve detailed information.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_GENERATE_SEARCH_QUERYConverts natural language queries into structured PDL Elasticsearch queries for people or company searches; generates optimized query structure without executing the search.
Input parameters
A natural language query to search for information about people or companies, interpreted to fetch relevant data from the PeopleDataLabs dataset.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_GET_AUTOCOMPLETE_SUGGESTIONSProvides autocompletion suggestions for a specific field (e.g., company, skill, title) based on partial text input.
Input parameters
Maximum number of autocomplete suggestions to return.
Initial text to autocomplete (e.g., 'goo' for 'google').
Field for which to request autocompletion suggestions. Supported values: all_location, class, company, country, industry, location, location_name, major, region, role, school, skill, sub_role, title, website.
If true, formats the JSON output for human readability.
If true, returns suggestions in title case.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_GET_AUTOCOMPLETE_SUGGESTIONS_POSTTool to get autocompletion suggestions using POST method for complex query parameters. Use when building type-ahead interfaces or needing to suggest values for Search API queries. Supports company, location, skill, title, and other fields with configurable result size.
Input parameters
Maximum number of autocomplete suggestions to return. Must be between 1 and 100.
Initial text to autocomplete (e.g., 'goo' for 'google'). Empty string returns all available values for the field.
Field for which to request autocompletion suggestions. Determines the type of suggestions returned.
If true, formats the JSON output for human readability.
If true, returns suggestions in title case.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_GET_COLUMN_DETAILSRetrieves predefined enum values for a column name from `enum_mappings.json`; `is_enum` in the response will be false if the column is not found or is not an enum type.
Input parameters
Name of the column to fetch enum values for; must be a key in `enum_mappings.json`.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_GET_SCHEMARetrieves the schema, including field names, descriptions, and data types, for 'person' or 'company' entity types.
Input parameters
The type of entity for which to retrieve the schema. Must be either 'person' or 'company'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_GET_SUBJECT_REQUESTSTool to retrieve subject access requests for data privacy compliance. Use when you need to manage or review data subject requests related to person data in your PeopleDataLabs account.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_IDENTIFY_PERSON_DATARetrieves detailed profile information for an individual from People Data Labs (PDL), requiring at least one identifier such as email, phone, or profile URL. If using name alone, it must be paired with at least one additional attribute (company, location, school, etc.) — name-only queries return no match.
Input parameters
The person's LinkedIn ID. This is a numerical ID found in some LinkedIn URLs.
The full name of the person.
An email address associated with the person.
A phone number associated with the person.
If true, the JSON response is pretty-printed for easier human readability.
The state, province, or region where the person resides or has resided.
The name of an educational institution the person attended.
The name of a company where the person is or was employed.
A social media profile URL associated with the person, e.g., a LinkedIn or Twitter profile URL.
The city or locality where the person resides or has resided.
A general location query (e.g., 'San Francisco, CA', 'London, UK') associated with the person.
The last name of the person.
If true, returns all text values in title case (e.g., 'John Doe'). Otherwise, text is returned as is.
An MD5 or SHA-256 hash of the person's email address.
The first name of the person.
The postal or ZIP code where the person resides or has resided.
The street address where the person resides or has resided.
If true, the response will include a 'matched_on' attribute, an array of strings indicating which input parameters led to the match.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_PEOPLE_SEARCH_ELASTICSearches for person profiles in the People Data Labs (PDL) database using an Elasticsearch Domain Specific Language (DSL) query. This action allows for highly targeted searches based on criteria such as job titles, skills, company details, location, experience, and more. Preconditions: - The provided Elasticsearch query (in the `query` field) must be a syntactically correct JSON object representing a valid Elasticsearch query. - The query must utilize fields that are defined in the People Data Labs person schema. - The `dataset` parameter must specify one of the allowed dataset categories.
Input parameters
The number of matched person records to return. Must be an integer between 1 and 100, inclusive.
Elasticsearch DSL query string (JSON object) for searching PDL person profiles. Provide just the DSL body (e.g., '{"bool": {...}}') without an outer 'query' wrapper. Supported query types: term, terms, match, match_phrase, prefix, wildcard, range, exists, bool (must/should/filter/must_not). ALL field names MUST use snake_case, NOT camelCase. Valid queryable fields include: - Name: full_name, first_name, last_name, middle_name - Job: job_title, job_title_role, job_title_class, job_company_name, job_company_industry, job_company_size, job_company_website, job_company_location_* - Location (NOT 'location' alone): location_country, location_region, location_locality, location_metro, location_geo - Social: linkedin_url, linkedin_username, linkedin_id, facebook_url, facebook_username, twitter_url, twitter_username, github_url, github_username - Nested profiles: profiles.network, profiles.url, profiles.username, profiles.id - Other: industry, skills, interests, countries, sex, work_email, personal_emails NOT queryable as fields (use 'dataset' parameter instead): email, phone. 'experience_level' is not valid — use 'job_title_levels'. 'job_company_domain' is not valid — use 'job_company_website'. 'minimum_should_match' is not supported by PDL's API. Full field reference: https://docs.peopledatalabs.com/docs/fields-person
If true, formats the JSON response with human-readable indentation. Defaults to false.
Specifies the dataset category to search against, filtering results to profiles that have the specified type of data available. Allowed values are: 'resume', 'email', 'phone', 'mobile_phone', 'street_address', 'consumer_social', 'developer', 'all'. Note: Use 'email' here to filter for profiles with email addresses available, rather than querying 'email' as a field in the query parameter.
If true, titlecases the person records in the response. Defaults to false.
A token returned in a previous search response. Provide this token to retrieve the next page of results. Omit or pass an empty string for the first request.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_QUERY_PERSON_CHANGELOGTool to query the changelog of person records between two consecutive dataset versions. Returns information about updates, additions, deletions, merges, and opt-outs for individuals. Use when you need to track changes to person profiles across PDL dataset versions or monitor specific person IDs for updates.
Input parameters
List of person IDs to query changes for. Minimum: 1, Maximum: 60000. When provided, type parameter is optional.
Type of changelog entry.
Token for pagination through large result sets. Use the scroll_token returned from a previous request to get the next page of results.
Specifies which fields were updated between versions. Only allowed when type is 'updated'. Use to filter for specific field changes (e.g., \['email', 'phone_numbers', 'job_title'\]).
The older version for comparison (must be valid and consecutive with current_version). Format: 'major.minor' (e.g., '32.1').
The newer version for comparison (must be valid and consecutive to origin_version). Format: 'major.minor' (e.g., '32.2').
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_SEARCH_COMPANY_ELASTICPerforms a search for company profiles within People Data Labs using a custom Elasticsearch Domain Specific Language (DSL) query. This action allows for detailed and complex filtering based on various attributes of a company, such as name, industry, employee_count, founded year, location, and more. Results can be paginated using the `size` and `scroll_token` parameters. Preconditions: - The `query` parameter must contain a valid Elasticsearch DSL query string, structured as a JSON object. - This action queries the People Data Labs company search endpoint (`/v5/company/search`) and returns company records.
Input parameters
The number of matched company records to return. Must be an integer between 1 and 100, inclusive.
Elasticsearch DSL query string (JSON object) for searching People Data Labs company profiles. **Supported query types:** term, terms, match, match_phrase, range, exists, bool (must/should/filter/must_not), wildcard, prefix. **Common Company Fields:** name, display_name, website, industry, employee_count, founded, size, location.country, location.region, location.locality, location.name, tags, linkedin_url, type, summary. **Location Searches:** Use nested fields: `location.country`, `location.region`, `location.locality`, `location.name`. Example: `{"term": {"location.country": "united states"}}`. **Important Restrictions:** - Do NOT include `size` or `scroll_token` in this query; use the dedicated request fields. - Do NOT use `minimum_should_match` in bool queries. For complete field mappings, see https://docs.peopledatalabs.com/docs/company-search-api.
If true, the JSON response will be pretty-printed with human-readable indentation. Defaults to false.
If true, an attempt will be made to title-case relevant text fields in the returned company records. Defaults to false.
A token returned from a previous search response, used for paginating through large result sets. Provide this token to retrieve the next batch of `size` records. Leave empty or omit for the first request.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
PEOPLEDATALABS_SEARCH_COMPANY_POSTTool to search and filter company records from the full Company Dataset using Elasticsearch or SQL queries via POST method. Use when you need to find multiple companies matching specific criteria with complex filtering.
Input parameters
SQL query format: SELECT * FROM company WHERE \[condition\]. Either 'query' or 'sql' is required, but not both.
Batch size/max records returned. Must be between 1 and 100. Default: 1
An Elasticsearch (v7.7) DSL query for searching company data. Must be a valid JSON object as a string. Either 'query' or 'sql' is required, but not both.
Human-readable JSON formatting. Default: false
Titlecase response text. Default: false
Legacy offset for pagination (0-9999), max 10000 records total. Use scroll_token for unlimited pagination.
Pagination token from previous response for unlimited record retrieval. Use this for paginating beyond 10000 records.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 39 agents privately built on Nagent that already use People Data Labs.
Build on Nagent
Connect People Data Labs to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find People Data Labs, and click "Connect Now." You'll authenticate with an API key — Nagent handles credential storage and refresh automatically. Once connected, People Data Labs is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once People Data Labs is connected, you configure its 24 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop People Data Labs steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a People Data Labs event fires, the agent kicks off automatically.
Every People Data Labs action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While People Data Labs ships with 24 pre-built analytics actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching People Data Labs together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build People Data Labs-based workflows tailored to your business.