> ## Documentation Index
> Fetch the complete documentation index at: https://developer.moltsets.com/llms.txt
> Use this file to discover all available pages before exploring further.

# LinkedIn to Business Email

> Retrieve the valid business (work) email address for any LinkedIn profile. Only returns corporate email addresses — no personal inboxes. Use this when you need to reach contacts at their workplace domain, such as for B2B outreach, CRM enrichment, or account-based marketing campaigns. If you also want a personal email fallback, use `linkedin_to_best_email` instead.



## OpenAPI

````yaml /openapi.json post /linkedin_to_business_email
openapi: 3.1.0
info:
  title: MoltSets API
  version: 1.0.0
  description: >-
    Identity resolution API. Resolve emails, LinkedIn profiles, IP addresses,
    and emails into enriched contact and company data.
servers:
  - url: https://api.moltsets.com/api/v1/tools
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Search
    description: >-
      Search and filter company and business profiles by name, domain, industry,
      size, or revenue.
  - name: Get Valid Emails
    description: Resolve and enrich valid business and personal email addresses.
  - name: Get Carrier-Verified Mobile Phones
    description: Enrich carrier-verified mobile phone numbers.
  - name: Get Full Business Profile
    description: Resolve identifiers to full business profiles and company firmographics.
  - name: Get Ad Audience
    description: >-
      Resolve identifiers to hashed email (HEM) and mobile advertising IDs
      (MAIDs) for audience matching.
  - name: Get Company
    description: Resolve IP addresses to company data.
  - name: Account
    description: Account management tools. Free — do not consume credits.
paths:
  /linkedin_to_business_email:
    post:
      tags:
        - Get Valid Emails
      summary: LinkedIn to Business Email
      description: >-
        Retrieve the valid business (work) email address for any LinkedIn
        profile. Only returns corporate email addresses — no personal inboxes.
        Use this when you need to reach contacts at their workplace domain, such
        as for B2B outreach, CRM enrichment, or account-based marketing
        campaigns. If you also want a personal email fallback, use
        `linkedin_to_best_email` instead.
      operationId: enrichBusinessEmail
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - linkedin_url
              properties:
                linkedin_url:
                  type: string
                  description: Full LinkedIn profile URL or slug.
                  example: https://linkedin.com/in/retentionadam
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: object
                    properties:
                      email:
                        type: string
                        description: Valid business email address
                  status:
                    type: string
                    example: ok
                  metadata:
                    $ref: '#/components/schemas/Metadata'
              examples:
                found:
                  summary: Data found
                  value:
                    results:
                      email: john.smith@example.com
                    status: ok
                    metadata:
                      tokens_charged: 1
                      tokens_remaining: unlimited
                      daily_results_remaining: 9876
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorNotFound'
        '422':
          description: Invalid Input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInvalidInput'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRateLimit'
components:
  schemas:
    Metadata:
      type: object
      properties:
        tokens_charged:
          type: integer
          description: >-
            Tokens consumed by this request. Always `0` when no data is
            returned.
        tokens_remaining:
          type: string
          description: >-
            Tokens remaining after this request. Number if on the free plan,
            'unlimited' if paid.
        daily_results_remaining:
          type: integer
          description: >-
            The number of 'results' remaining on your daily rate limit. Daily
            rate limit is unique per plan.
    ErrorBadRequest:
      type: object
      properties:
        error:
          type: string
          example: Bad Request
        message:
          type: string
          example: >-
            The server cannot process the request due to a client error (400 Bad
            Request).
    ErrorUnauthorized:
      type: object
      properties:
        error:
          type: string
          example: Unauthorized
        message:
          type: string
          example: Invalid API key.
    ErrorNotFound:
      type: object
      properties:
        error:
          type: string
          example: Not Found
        message:
          type: string
          example: No match was found for the data provided.
    ErrorInvalidInput:
      type: object
      properties:
        error:
          type: string
          example: Invalid Input
        message:
          type: string
          example: Message describing the nature of the invalid input.
    ErrorRateLimit:
      type: object
      properties:
        error:
          type: string
          example: Too Many Requests
        message:
          type: string
          example: Rate limit exceeded. Maximum 100 requests per second.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Pass your API key as a Bearer token. Keys follow the format
        `ms_XXXXXXXXXXX`.

````