> ## 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 Mobile Phone

> The LinkedIn to Mobile Phone API looks up the carrier-verified mobile phone number for a LinkedIn profile, along with the date it was last verified.

Only mobile numbers are returned, no landlines or VoIP numbers, so every result is a real device. It supports single lookups (`linkedin_url`) and batch lookups of up to 100 profiles at once (`linkedin_urls`). Mobile lookups spend **phone tokens** at 1 phone token per returned result. Phone tokens are separate from your regular token balance and aren't included in any plan: they come from a monthly phone token subscription, available on paid plans only. Unused phone tokens roll over while the subscription is active.

**Numbers are not screened against Do Not Call registries.** MoltSets does not currently return DNC status, and a returned number carries no indication of whether it is registered. `last_validated_at` tells you the number was active and in service on that date, nothing more. Scrubbing against the applicable DNC registries, and complying with the calling and messaging rules that apply to you, remains your responsibility.

**Use this endpoint to:**
- Power SMS outreach and cold calling
- Enrich sales sequences with direct-dial mobile numbers
- Batch-append verified phone numbers to a contact list

**Fair Use Policy:**
This API is subject to our <a href="https://moltsets.com/fair-use-policy-enrichment/" target="_blank" rel="noopener">Fair Use Policy for Enrichment</a>.

**Outcomes:**
A lookup that finds nothing is not an error. It returns HTTP `200` with `status: "not_found"`, empty or null `results`, and the usual `metadata` — and costs no tokens, though it still counts as one request against your Fair Use requests limit. Read `status`, not the HTTP code, to tell a hit from a miss. The API's only `404` is an unknown or retired tool name.



## OpenAPI

````yaml /openapi.json post /linkedin_to_mobile_phone
openapi: 3.1.0
info:
  title: MoltSets API
  version: 1.0.0
  description: >-
    MoltSets is an identity resolution API. Use it to resolve emails, LinkedIn
    profiles, and IP addresses into enriched contact and company data, including
    business and personal emails, mobile phone numbers, and firmographic
    details.
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: Reverse Lookups
    description: Resolve an email address or LinkedIn URL to a full business profile.
  - name: Get Ad Audience
    description: >-
      Resolve identifiers to hashed email (HEM) and mobile advertising IDs
      (MAIDs) for audience matching.
  - name: Get LinkedIn
    description: Resolve an email address to its LinkedIn profile URL.
  - name: Get Company
    description: Resolve IP addresses to company data.
  - name: Account
    description: Account management tools. Free — do not consume credits.
paths:
  /linkedin_to_mobile_phone:
    post:
      tags:
        - Get Carrier-Verified Mobile Phones
      summary: LinkedIn to Mobile Phone
      description: >-
        The LinkedIn to Mobile Phone API looks up the carrier-verified mobile
        phone number for a LinkedIn profile, along with the date it was last
        verified.


        Only mobile numbers are returned, no landlines or VoIP numbers, so every
        result is a real device. It supports single lookups (`linkedin_url`) and
        batch lookups of up to 100 profiles at once (`linkedin_urls`). Mobile
        lookups spend **phone tokens** at 1 phone token per returned result.
        Phone tokens are separate from your regular token balance and aren't
        included in any plan: they come from a monthly phone token subscription,
        available on paid plans only. Unused phone tokens roll over while the
        subscription is active.


        **Numbers are not screened against Do Not Call registries.** MoltSets
        does not currently return DNC status, and a returned number carries no
        indication of whether it is registered. `last_validated_at` tells you
        the number was active and in service on that date, nothing more.
        Scrubbing against the applicable DNC registries, and complying with the
        calling and messaging rules that apply to you, remains your
        responsibility.


        **Use this endpoint to:**

        - Power SMS outreach and cold calling

        - Enrich sales sequences with direct-dial mobile numbers

        - Batch-append verified phone numbers to a contact list


        **Fair Use Policy:**

        This API is subject to our <a
        href="https://moltsets.com/fair-use-policy-enrichment/" target="_blank"
        rel="noopener">Fair Use Policy for Enrichment</a>.


        **Outcomes:**

        A lookup that finds nothing is not an error. It returns HTTP `200` with
        `status: "not_found"`, empty or null `results`, and the usual `metadata`
        — and costs no tokens, though it still counts as one request against
        your Fair Use requests limit. Read `status`, not the HTTP code, to tell
        a hit from a miss. The API's only `404` is an unknown or retired tool
        name.
      operationId: enrichPhone
      parameters:
        - $ref: '#/components/parameters/UserAgentHeader'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                linkedin_url:
                  type: string
                  description: Single LinkedIn profile URL.
                linkedin_urls:
                  type: array
                  items:
                    type: string
                  maxItems: 100
                  description: Batch of LinkedIn profile URLs, up to 100.
            examples:
              single:
                summary: Single lookup
                value:
                  linkedin_url: https://linkedin.com/in/retentionadam
              batch:
                summary: Batch lookup
                value:
                  linkedin_urls:
                    - https://linkedin.com/in/retentionadam
                    - https://linkedin.com/in/jane-doe
      responses:
        '200':
          description: Success
          content:
            application/json:
              examples:
                found:
                  summary: Data found
                  value:
                    results:
                      mobile_phone: '5555555555'
                      last_validated_at: '2026-03-04'
                    status: ok
                    metadata:
                      fair_use:
                        records_remaining_5h: 179999
                        records_reset_5h: '2026-07-15T18:53:16Z'
                        records_remaining_1w: 899999
                        records_reset_1w: '2026-07-22T13:53:16Z'
                      phone_tokens_used: 1
                      phone_tokens_remaining: 498
                not_found:
                  summary: No data found — still HTTP 200
                  value:
                    results:
                      mobile_phone: null
                      last_validated_at: null
                    status: not_found
                    metadata:
                      fair_use:
                        records_remaining_5h: 179999
                        records_reset_5h: '2026-07-15T18:53:16Z'
                        records_remaining_1w: 899999
                        records_reset_1w: '2026-07-22T13:53:16Z'
                      phone_tokens_used: 0
                      phone_tokens_remaining: 498
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
        '402':
          description: Payment Required — out of tokens or phone tokens
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInsufficientTokens'
        '403':
          description: >-
            Forbidden — missing `User-Agent` header, tool not on the plan, or
            account inactive
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorPlanRestricted'
        '422':
          description: >-
            Invalid Input — malformed body, or a parameter is missing,
            malformed, or outside its allowed values
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInvalidInput'
        '429':
          description: Too Many Requests — rate limit or Fair Use window exhausted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorRateLimit'
        '500':
          description: >-
            Internal Server Error — the call could not complete. Usually the
            endpoint is temporarily unavailable, but an oversized request can
            also cause it. Retry with a smaller request first; the MoltSets team
            is alerted automatically.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorInternal'
components:
  parameters:
    UserAgentHeader:
      name: User-Agent
      in: header
      required: true
      description: >-
        Identifies the calling client. Any non-empty value is accepted —
        MoltSets does not validate its contents. Requests without this header
        are rejected with `403 Forbidden` (`error.code`: `forbidden`).
      schema:
        type: string
      example: YOUR_APP_NAME/1.0
  schemas:
    ErrorUnauthorized:
      type: object
      description: The API key or OAuth token is missing, invalid, or revoked.
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: unauthorized
            message:
              type: string
              example: Invalid API key.
    ErrorInsufficientTokens:
      type: object
      description: >-
        Out of credit. `insufficient_tokens` means the token balance cannot
        cover the call; `insufficient_phone_tokens` means the phone token
        balance (from the separate phone token subscription) cannot cover a
        mobile-phone result. On a batch, unaffordable items are dropped and the
        response returns partial results with this error block rather than
        failing the whole call.
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: insufficient_tokens
            message:
              type: string
              example: You have 0 tokens remaining.
    ErrorPlanRestricted:
      type: object
      description: >-
        The request is refused. `forbidden` means the request has no
        `User-Agent` header — add one (any non-empty value). `plan_restricted`
        means the tool is not part of the account's plan — today, the dedicated
        personal-email tools on a plan without the personal-email surface, and
        the ad-audience tools (`email_to_maid`, `business_email_to_sha256`,
        `linkedin_to_sha256`) on the $397 and $997 plans. It is a plan
        condition, so there is no `Retry-After` and topping up tokens does not
        clear it. `account_inactive` means the account itself is not active —
        log in and subscribe to a plan.
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: plan_restricted
            message:
              type: string
              example: >-
                Personal email lookups are not available on your plan. Contact
                support@moltsets.com to request access.
    ErrorInvalidInput:
      type: object
      description: >-
        The request body is malformed, or a parameter is missing, malformed, or
        outside its allowed values.
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: invalid_input
            message:
              type: string
              example: Message describing the nature of the invalid input.
    ErrorRateLimit:
      type: object
      description: >-
        Rate or Fair Use limit. `rate_limited` is the burst/IP guard;
        `fair_use_limit_exceeded` means a Fair Use **record** window is
        exhausted (or, on the free tier, the one-time search trial);
        `fair_use_requests_exceeded` means the 5-hour **request** window is
        exhausted. The Fair Use codes carry `metadata.retry_after` and a
        `Retry-After` header.
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: fair_use_limit_exceeded
            message:
              type: string
              example: Fair use record limit reached. Retry after the window resets.
        metadata:
          type: object
          properties:
            retry_after:
              type: integer
              description: >-
                Seconds until the binding window unlocks. Also sent as a
                `Retry-After` header. Absent when the limit is a plan condition
                rather than a window (free-tier search trial exhausted).
    ErrorInternal:
      type: object
      description: >-
        Returned when the call could not complete — usually because the endpoint
        is unavailable, though an oversized request can also cause it. Retry
        with a smaller request first. Never charged.
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: internal_error
            message:
              type: string
              example: Unexpected connection error.
        metadata:
          type: object
          example: {}
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Pass your API key as a Bearer token. Keys follow the format
        `ms_XXXXXXXXXXX`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.