# People Data Labs

PeopleDataLabs provides B2B data enrichment and identity resolution, empowering organizations to build enriched user profiles and validate customer information

- **Category:** analytics
- **Auth:** API_KEY
- **Tools:** 15
- **Triggers:** 0
- **Slug:** `PEOPLEDATALABS`
- **Version:** 20260211_00

## Tools

### Clean company data

**Slug:** `PEOPLEDATALABS_CLEAN_COMPANY_DATA`

Cleans 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The company's current or known name. At least one of 'name', 'website', or 'profile' must be provided. |
| `pretty` | boolean | No | If true, formats the JSON response with human-readable indentation. |
| `profile` | string | No | The company's social media profile URL (e.g., LinkedIn, Twitter, Facebook). At least one of 'name', 'website', or 'profile' must be provided. |
| `website` | string | No | The company's website URL. At least one of 'name', 'website', or 'profile' must be provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clean company data (POST)

**Slug:** `PEOPLEDATALABS_CLEAN_COMPANY_POST`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The name of the company. At least one of 'name', 'website', or 'profile' must be provided. |
| `pretty` | boolean | No | Whether the output should have human-readable indentation. |
| `profile` | string | No | A social profile used by the company (e.g. LinkedIn/Facebook/Twitter). At least one of 'name', 'website', or 'profile' must be provided. |
| `website` | string | No | A website the company uses. At least one of 'name', 'website', or 'profile' must be provided. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clean location data

**Slug:** `PEOPLEDATALABS_CLEAN_LOCATION_DATA`

Cleans and standardizes a raw, unformatted location string into a structured representation, provided the input is a recognizable geographical place.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `location` | string | Yes | 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clean location data (POST)

**Slug:** `PEOPLEDATALABS_CLEAN_LOCATION_POST`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `pretty` | boolean | No | Whether the output should have human-readable indentation |
| `location` | string | Yes | The raw location string to clean and standardize. Can be a full address, city/state, or place name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clean school data

**Slug:** `PEOPLEDATALABS_CLEAN_SCHOOL_DATA`

Cleans and standardizes school information; provide at least one of the school's name, website, or profile for optimal results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The name of the school. |
| `pretty` | boolean | No | If true, the JSON response is pretty-printed with human-readable indentations. |
| `profile` | string | No | The social media profile URL (e.g., LinkedIn, Twitter) of the school. |
| `website` | string | No | The website URL of the school. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Clean school data (POST)

**Slug:** `PEOPLEDATALABS_CLEAN_SCHOOL_DATA_POST`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The name of the school to clean and standardize. |
| `pretty` | boolean | No | Whether the output should have human-readable indentation. |
| `profile` | string | No | A social profile used by the school (e.g. LinkedIn/Facebook/Twitter). |
| `website` | string | No | A website the school uses. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Enrich Bulk Company Data

**Slug:** `PEOPLEDATALABS_ENRICH_BULK_COMPANY_DATA`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `requests` | array | Yes | Array of 1-100 individual company enrichment requests. Each request must contain a params object with at least one company identifier. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Enrich bulk person data

**Slug:** `PEOPLEDATALABS_ENRICH_BULK_PERSON_DATA`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `requests` | array | Yes | Array of 1-100 individual enrichment requests, each containing a 'params' object with person identifiers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Enrich Company Data

**Slug:** `PEOPLEDATALABS_ENRICH_COMPANY_DATA`

Enriches 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | REQUIRED if no other identifier provided. Company name to search for. At least one of pdl_id/name/profile/ticker/website must be provided. |
| `pdl_id` | string | No | 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. |
| `pretty` | boolean | No | If true, the JSON response will be pretty-printed with human-readable indentation for easier inspection. |
| `region` | string | No | The state, province, or administrative region where the company is located (e.g., 'California' or 'TX'). |
| `ticker` | string | No | REQUIRED if no other identifier provided. Stock market ticker symbol. At least one of pdl_id/name/profile/ticker/website must be provided. |
| `country` | string | No | The country where the company is located. Can be a full name or an ISO country code. |
| `profile` | string | No | REQUIRED if no other identifier provided. Company social media profile URL. At least one of pdl_id/name/profile/ticker/website must be provided. |
| `website` | string | No | REQUIRED if no other identifier provided. Company website URL. At least one of pdl_id/name/profile/ticker/website must be provided. |
| `locality` | string | No | The city or locality where the company is situated (e.g., 'Mountain View'). |
| `location` | string | No | A general text query for the company's location (e.g., 'San Francisco, CA' or 'London'). Can be a partial or complete location string. |
| `titlecase` | boolean | No | 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. |
| `postal_code` | string | No | The postal or ZIP code for the company's location. |
| `street_address` | string | No | The street address component of the company's location. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Enrich IP Data

**Slug:** `PEOPLEDATALABS_ENRICH_IP_DATA`

Enriches an IP address with company, location, metadata, and person data from People Data Labs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ip` | string | Yes | The IP address to enrich. Must be a valid IPv4 or IPv6 address string. |
| `pretty` | boolean | No | If true, the JSON response will be formatted with human-readable indentation for easier manual inspection. |
| `titlecase` | boolean | No | If true, relevant string values in the response data (e.g., names, locations) will be converted to title case. |
| `return_person` | boolean | No | If true, attempts to include person data associated with the IP address, provided a match is found. |
| `min_confidence` | string | No | 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`. |
| `return_ip_location` | boolean | No | If true, includes location data specific to the IP address (e.g., city, region, country, GPS coordinates). |
| `return_ip_metadata` | boolean | No | If true, includes metadata specific to the IP address (e.g., connection type, line speed, ISP). |
| `return_if_unmatched` | boolean | No | If true, IP-specific data (like location or metadata if requested) will be returned even if no company profile is matched to the IP. |
| `updated_title_roles` | boolean | No | 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Enrich job title data

**Slug:** `PEOPLEDATALABS_ENRICH_JOB_TITLE_DATA`

Enhances a job title by providing additional contextual information and details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `job_title` | string | Yes | Job title to be enriched. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Enrich person data

**Slug:** `PEOPLEDATALABS_ENRICH_PERSON_DATA`

Enriches 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lid` | string | No | LinkedIn ID. |
| `name` | string | No | Full name. |
| `email` | string | No | Email address. |
| `phone` | string | No | Phone number; E.164 format recommended. |
| `pdl_id` | string | No | People Data Labs unique record ID. |
| `pretty` | boolean | No | Format JSON response with indentation for readability. |
| `region` | string | No | State, province, or region of residence. |
| `school` | string | No | School name attended. |
| `company` | string | No | Company name where person has worked. |
| `country` | string | No | Country of residence (ISO 3166-1 alpha-2 code or full name). |
| `profile` | string | No | Social profile URL (e.g., LinkedIn, Facebook). |
| `locality` | string | No | City or locality of residence. |
| `location` | string | No | General location (e.g., city, state, country). |
| `required` | string | No | 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` | string | No | Last name. |
| `birth_date` | string | No | Birth date (YYYY-MM-DD format). |
| `email_hash` | string | No | SHA-256 or MD5 hash of an email, for matching without exposing the raw email. |
| `first_name` | string | No | First name. |
| `postal_code` | string | No | Postal or ZIP code of residence. |
| `data_include` | string | No | Comma-separated data fields to include in response (e.g., 'emails,phones'). Refer to People Data Labs docs for all fields. |
| `min_likelihood` | integer | No | Minimum confidence score (0-10) for a match to be returned; higher is stricter. |
| `street_address` | string | No | Street address. |
| `include_if_matched` | boolean | No | Include input parameters used for matching in the response if true. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Enrich skill data

**Slug:** `PEOPLEDATALABS_ENRICH_SKILL_DATA`

Retrieves 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `skill` | string | Yes | The specific skill term to be enriched. This skill will be matched against a skill dataset to retrieve detailed information. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate Search Query

**Slug:** `PEOPLEDATALABS_GENERATE_SEARCH_QUERY`

Converts natural language queries into structured PDL Elasticsearch queries for people or company searches; generates optimized query structure without executing the search.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | A natural language query to search for information about people or companies, interpreted to fetch relevant data from the PeopleDataLabs dataset. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Autocomplete field suggestions

**Slug:** `PEOPLEDATALABS_GET_AUTOCOMPLETE_SUGGESTIONS`

Provides autocompletion suggestions for a specific field (e.g., company, skill, title) based on partial text input.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `size` | integer | No | Maximum number of autocomplete suggestions to return. |
| `text` | string | No | Initial text to autocomplete (e.g., 'goo' for 'google'). |
| `field` | string | Yes | 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. |
| `pretty` | boolean | No | If true, formats the JSON output for human readability. |
| `titlecase` | boolean | No | If true, returns suggestions in title case. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get autocomplete suggestions (POST)

**Slug:** `PEOPLEDATALABS_GET_AUTOCOMPLETE_SUGGESTIONS_POST`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `size` | integer | No | Maximum number of autocomplete suggestions to return. Must be between 1 and 100. |
| `text` | string | No | Initial text to autocomplete (e.g., 'goo' for 'google'). Empty string returns all available values for the field. |
| `field` | string ("company" | "country" | "industry" | "location" | "major" | "region" | "role" | "school" | "sub_role" | "skill" | "title") | Yes | Field for which to request autocompletion suggestions. Determines the type of suggestions returned. |
| `pretty` | boolean | No | If true, formats the JSON output for human readability. |
| `titlecase` | boolean | No | If true, returns suggestions in title case. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get column details

**Slug:** `PEOPLEDATALABS_GET_COLUMN_DETAILS`

Retrieves 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `column` | string | Yes | Name of the column to fetch enum values for; must be a key in `enum_mappings.json`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get schema

**Slug:** `PEOPLEDATALABS_GET_SCHEMA`

Retrieves the schema, including field names, descriptions, and data types, for 'person' or 'company' entity types.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entity_type` | string | Yes | The type of entity for which to retrieve the schema. Must be either 'person' or 'company'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get subject requests

**Slug:** `PEOPLEDATALABS_GET_SUBJECT_REQUESTS`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Identify person data

**Slug:** `PEOPLEDATALABS_IDENTIFY_PERSON_DATA`

Retrieves 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lid` | string | No | The person's LinkedIn ID. This is a numerical ID found in some LinkedIn URLs. |
| `name` | string | No | The full name of the person. |
| `email` | string | No | An email address associated with the person. |
| `phone` | string | No | A phone number associated with the person. |
| `pretty` | boolean | No | If true, the JSON response is pretty-printed for easier human readability. |
| `region` | string | No | The state, province, or region where the person resides or has resided. |
| `school` | string | No | The name of an educational institution the person attended. |
| `company` | string | No | The name of a company where the person is or was employed. |
| `profile` | string | No | A social media profile URL associated with the person, e.g., a LinkedIn or Twitter profile URL. |
| `locality` | string | No | The city or locality where the person resides or has resided. |
| `location` | string | No | A general location query (e.g., 'San Francisco, CA', 'London, UK') associated with the person. |
| `last_name` | string | No | The last name of the person. |
| `titlecase` | boolean | No | If true, returns all text values in title case (e.g., 'John Doe'). Otherwise, text is returned as is. |
| `email_hash` | string | No | An MD5 or SHA-256 hash of the person's email address. |
| `first_name` | string | No | The first name of the person. |
| `postal_code` | string | No | The postal or ZIP code where the person resides or has resided. |
| `street_address` | string | No | The street address where the person resides or has resided. |
| `include_if_matched` | boolean | No | If true, the response will include a 'matched_on' attribute, an array of strings indicating which input parameters led to the match. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### People Search with Elasticsearch

**Slug:** `PEOPLEDATALABS_PEOPLE_SEARCH_ELASTIC`

Searches 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `size` | integer | No | The number of matched person records to return. Must be an integer between 1 and 100, inclusive. |
| `query` | string | Yes | 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 |
| `pretty` | boolean | No | If true, formats the JSON response with human-readable indentation. Defaults to false. |
| `dataset` | string | No | 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. |
| `titlecase` | boolean | No | If true, titlecases the person records in the response. Defaults to false. |
| `scroll_token` | string | No | 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Query person changelog

**Slug:** `PEOPLEDATALABS_QUERY_PERSON_CHANGELOG`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ids` | array | No | List of person IDs to query changes for. Minimum: 1, Maximum: 60000. When provided, type parameter is optional. |
| `type` | string ("added" | "deleted" | "updated" | "merged" | "opted_out") | No | Type of changelog entry. |
| `scroll_token` | string | No | Token for pagination through large result sets. Use the scroll_token returned from a previous request to get the next page of results. |
| `fields_updated` | array | No | 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']). |
| `origin_version` | string | Yes | The older version for comparison (must be valid and consecutive with current_version). Format: 'major.minor' (e.g., '32.1'). |
| `current_version` | string | Yes | The newer version for comparison (must be valid and consecutive to origin_version). Format: 'major.minor' (e.g., '32.2'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Company Search with Elasticsearch

**Slug:** `PEOPLEDATALABS_SEARCH_COMPANY_ELASTIC`

Performs 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `size` | integer | No | The number of matched company records to return. Must be an integer between 1 and 100, inclusive. |
| `query` | string | Yes | 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. |
| `pretty` | boolean | No | If true, the JSON response will be pretty-printed with human-readable indentation. Defaults to false. |
| `titlecase` | boolean | No | If true, an attempt will be made to title-case relevant text fields in the returned company records. Defaults to false. |
| `scroll_token` | string | No | 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Company Records (POST)

**Slug:** `PEOPLEDATALABS_SEARCH_COMPANY_POST`

Tool 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

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sql` | string | No | SQL query format: SELECT * FROM company WHERE [condition]. Either 'query' or 'sql' is required, but not both. |
| `size` | integer | No | Batch size/max records returned. Must be between 1 and 100. Default: 1 |
| `query` | string | No | 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. |
| `pretty` | boolean | No | Human-readable JSON formatting. Default: false |
| `titlecase` | boolean | No | Titlecase response text. Default: false |
| `from_offset` | integer | No | Legacy offset for pagination (0-9999), max 10000 records total. Use scroll_token for unlimited pagination. |
| `scroll_token` | string | No | Pagination token from previous response for unlimited record retrieval. Use this for paginating beyond 10000 records. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
