Logo

Moltsets

Authentication Type: API Key
Description: B2B people and company search with email discovery. Search people and companies, resolve LinkedIn profiles, and find verified business or personal emails by name or LinkedIn URL.


Authentication

To authenticate, you'll need a Moltsets API key:

  1. Log in to your Moltsets account
  2. Open Settings → API Keys and create a key (keys look like ms_XXXXXXXXXXX) — copy it, as it may be shown only once
  3. Provide it as the apiKey field when connecting Moltsets in Cotera

Your key is sent to the Moltsets API as a bearer token on every request. Bring your own key — Cotera does not provide a shared Moltsets account.


Search the Moltsets database for people and companies, and resolve LinkedIn profiles.

Search People

Search for people that match a free-text query, with optional country and seniority filters.

Operation Type: Query (Read)

Parameters:

  • query string (required): Free-text search for people (e.g., "VP of Marketing at fintech startups").
  • country string (nullable): Filter results to a country (e.g., "United States").
  • seniority string (nullable): Filter by seniority level (e.g., "c_suite", "vp", "director", "manager").
  • limit number (nullable): Maximum number of results to return per page.
  • offset number (nullable): Number of results to skip, for pagination.

Returns:

  • results array: Matching people, each as the raw person record from Moltsets (name, title, company, location, etc.).
  • total number: Total number of people matching the query.
  • status string (nullable): Request status as reported by the API.
  • metadata object (nullable): Request metadata (e.g., tokens charged, quota remaining).

Example Usage:

{
  "query": "VP of Marketing fintech",
  "country": "United States",
  "seniority": "vp",
  "limit": 10
}

Search Companies

Search for companies by keyword, with optional industry and employee-range filters.

Operation Type: Query (Read)

Parameters:

  • query string (required): Free-text search for companies (e.g., "B2B fintech startups").
  • industry string (nullable): Filter by industry (e.g., "Software").
  • employee_range string (nullable): Filter by employee-count range (e.g., "11-50", "1001-5000").
  • limit number (nullable): Maximum number of results to return per page.
  • offset number (nullable): Number of results to skip, for pagination.

Returns:

  • results array: Matching companies, each as the raw company record from Moltsets (fields such as logo, domain, revenue, employee_count, linkedin_company_id).
  • total number: Total number of companies matching the query.
  • status string (nullable): Request status.
  • metadata object (nullable): Request metadata.

Example Usage:

{
  "query": "B2B fintech",
  "industry": "Software",
  "employee_range": "11-50"
}

Search LinkedIn Profile

Find LinkedIn profile(s) for a person by name and optional company. Use count_only to check how many matches exist before fetching details.

Operation Type: Query (Read)

Parameters:

  • name string (required): Name of the person to look up.
  • company string (nullable): Company to disambiguate the person.
  • count_only boolean: When true, return only the number of matching profiles (no details). Defaults to false.

Returns:

  • count number (nullable): Number of matching LinkedIn profiles.
  • profiles array: Matching profiles (empty when count_only is true).
  • status string (nullable): Request status.
  • metadata object (nullable): Request metadata.

Example Usage:

{
  "name": "Jane Doe",
  "company": "Stripe",
  "count_only": false
}

Business Lookups by Name

Resolve a business email or full business profile from a person's name and company.

Search Business Email By Name

Find a person's business email and LinkedIn URL from their name and company information.

Operation Type: Query (Read)

Parameters:

  • name string (nullable): Full name of the person. Provide either this, or first_name and last_name.
  • first_name string (nullable): First name (use with last_name).
  • last_name string (nullable): Last name (use with first_name).
  • company string (nullable): Company name. Provide either this or company_domain.
  • company_domain string (nullable): Company domain (e.g., "acme.com").

Returns:

  • email string (nullable): The business email address found.
  • linkedinUrl string (nullable): The person's LinkedIn URL, if returned.
  • status string (nullable): Request status.
  • metadata object (nullable): Request metadata.

Example Usage:

{
  "first_name": "Jane",
  "last_name": "Doe",
  "company_domain": "acme.com"
}

Search Business Profile By Name

Find a full business profile (person details plus company firmographics) by name and company.

Operation Type: Query (Read)

Parameters:

  • name string (nullable): Full name of the person. Provide either this, or first_name and last_name.
  • first_name string (nullable): First name (use with last_name).
  • last_name string (nullable): Last name (use with first_name).
  • company string (nullable): Company name. Provide either this or company_domain.
  • company_domain string (nullable): Company domain (e.g., "acme.com").

Returns:

  • profile object (nullable): The matched business profile — person details plus company firmographics.
  • status string (nullable): Request status.
  • metadata object (nullable): Request metadata.

Example Usage:

{
  "name": "Jane Doe",
  "company": "Acme"
}

Email by LinkedIn URL

Resolve a validated email directly from a LinkedIn profile URL. All four tools take a single linkedin_url.

LinkedIn to Best Email

Return the best available email for a LinkedIn profile (business preferred, falling back to personal).

Operation Type: Query (Read)

Parameters:

Returns:

  • email string (nullable): The best email address found.
  • type string (nullable): The type of email returned (e.g., "business").
  • lastValidatedAt string (nullable): ISO timestamp of when the email was last validated.
  • status string (nullable): Request status.
  • metadata object (nullable): Request metadata.

Example Usage:

{
  "linkedin_url": "https://www.linkedin.com/in/janedoe"
}

LinkedIn to Business Email

Return the business (work) email for a LinkedIn profile.

Operation Type: Query (Read)

Parameters:

  • linkedin_url string (required): LinkedIn profile URL.

Returns:

  • email string (nullable): The business email address found.
  • status string (nullable): Request status.
  • metadata object (nullable): Request metadata.

Example Usage:

{
  "linkedin_url": "https://www.linkedin.com/in/janedoe"
}

LinkedIn to Personal Email

Return the personal email for a LinkedIn profile.

Operation Type: Query (Read)

Parameters:

  • linkedin_url string (required): LinkedIn profile URL.

Returns:

  • email string (nullable): The personal email address found.
  • lastValidatedAt string (nullable): ISO timestamp of when the email was last validated.
  • status string (nullable): Request status.
  • metadata object (nullable): Request metadata.

Example Usage:

{
  "linkedin_url": "https://www.linkedin.com/in/janedoe"
}

LinkedIn to Best Personal Email

Return the best available personal email for a LinkedIn profile.

Operation Type: Query (Read)

Parameters:

  • linkedin_url string (required): LinkedIn profile URL.

Returns:

  • email string (nullable): The best personal email address found.
  • lastValidatedAt string (nullable): ISO timestamp of when the email was last validated.
  • status string (nullable): Request status.
  • metadata object (nullable): Request metadata.

Example Usage:

{
  "linkedin_url": "https://www.linkedin.com/in/janedoe"
}

Common Use Cases

Prospecting:

  • Search people by title, seniority, and country to build a targeted lead list
  • Search companies by industry and size to find target accounts
  • Resolve a name + company to a LinkedIn profile, then to a verified email

Enrichment:

  • Append business emails to a CRM export using names and company domains
  • Pull full business profiles (role + firmographics) for inbound signups
  • Find personal emails for candidates or hard-to-reach contacts from LinkedIn URLs

Outreach Workflows:

  • Convert a list of LinkedIn URLs into validated best emails before a sequence
  • Prefer business email for B2B outreach, falling back to personal when needed
  • Use last_validated_at to skip or re-verify stale email addresses