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

# Mobile finder

> Find a mobile phone number from a professional profile. Rate limit: 6,000 requests per minute per workspace.

Submit a LinkedIn person profile URL and return a mobile phone number when one is found.

> [!NOTE]
>
> The limit is 6,000 requests per minute per workspace. A successful result costs 40 credits; `not_found` is not charged.

## Phone numbers in the response

* `phone_numbers` is the primary phone number as a single string.
* `all_phone_numbers` is an array of normalized international phone numbers, with duplicates removed and the primary number first. It can contain just the primary number when no additional numbers are available.
* A `not_found` result returns `phone_numbers: null` and `all_phone_numbers: []`.

For temporary `502` or `503` responses, use a limited number of retries with increasing delays. If errors persist, stop retrying and contact support. A client timeout does not confirm whether the request completed or was charged.

## Next step

Use [Personal email](https://docs.airscale.io/api-reference/personal-email.md) to look for a personal address from the same profile, or [Reverse phone](https://docs.airscale.io/api-reference/reverse-phone.md) when the phone number is your starting point.


## OpenAPI

````yaml openapi.json POST /v1/phone
openapi: 3.1.0
info:
  title: Airscale Public API
  version: '2026-09-11'
  description: >-
    Search, enrich, resolve public business data, and monitor job changes with
    Airscale.
  x-airscale-source-repository: ViceScale/airscale-code
  x-airscale-source-sha: 1de19e1b70a052a4b8d9c2075021a7e5e7a94d51
servers:
  - url: https://api.airscale.io
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Search and discovery
    description: Search people, companies, and the web.
  - name: Contact data
    description: Find professional and personal contact data.
  - name: Profiles and reverse lookup
    description: Extract profiles or resolve a person from known contact data.
  - name: Post engagement
    description: Retrieve and enrich people who liked or commented on LinkedIn posts.
  - name: LinkedIn content
    description: >-
      Search LinkedIn posts, read profile and company feeds, and retrieve
      profile comments and comment reactions.
  - name: Job change monitoring
    description: Track LinkedIn profiles and receive job-change events.
  - name: New hire monitoring
    description: Watch companies or the market for people who start a matching role.
  - name: Post engagement monitoring
    description: >-
      Follow LinkedIn company pages and profiles and receive the people who
      engage with their posts.
  - name: Account
    description: Inspect workspace account state.
  - name: Miscellaneous
    description: >-
      Find website technologies and check WhatsApp availability, Meta ads, and
      email deliverability.
paths:
  /v1/phone:
    post:
      tags:
        - Contact data
      summary: Find a mobile phone number
      description: >-
        Finds a primary mobile phone number and all available normalized phone
        numbers for a recognized person profile.
      operationId: findMobilePhone
      requestBody:
        required: true
        description: Provide the recognized person profile to search.
        content:
          application/json:
            schema:
              type: object
              required:
                - linkedin_profile_url
              additionalProperties: false
              properties:
                linkedin_profile_url:
                  $ref: '#/components/schemas/LinkedInPersonUrl'
            examples:
              profile:
                summary: Person profile
                value:
                  linkedin_profile_url: https://www.linkedin.com/in/example-person-000000
      responses:
        '200':
          description: A mobile phone result or a not-found result.
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    required:
                      - status
                      - linkedin_profile_url
                      - phone_numbers
                      - all_phone_numbers
                      - provider
                    additionalProperties: true
                    properties:
                      status:
                        type: string
                        const: success
                      linkedin_profile_url:
                        $ref: '#/components/schemas/LinkedInPersonUrl'
                      phone_numbers:
                        type: string
                        description: The primary phone number, returned as a single string.
                      all_phone_numbers:
                        type: array
                        minItems: 1
                        uniqueItems: true
                        items:
                          type: string
                          pattern: ^\+[1-9]\d{6,14}$
                        description: >-
                          All available normalized phone numbers, with
                          duplicates removed and the primary number first. May
                          contain only the primary number.
                      provider:
                        type:
                          - string
                          - 'null'
                        description: >-
                          The name of the source that returned the number.
                          Present on successful results.
                  - type: object
                    required:
                      - status
                      - linkedin_profile_url
                      - phone_numbers
                      - all_phone_numbers
                      - provider
                    additionalProperties: true
                    properties:
                      status:
                        type: string
                        const: not_found
                      linkedin_profile_url:
                        $ref: '#/components/schemas/LinkedInPersonUrl'
                      phone_numbers:
                        type: 'null'
                      all_phone_numbers:
                        type: array
                        maxItems: 0
                        items:
                          type: string
                        description: An empty array when no phone number is found.
                      provider:
                        type:
                          - string
                          - 'null'
              examples:
                success:
                  summary: Primary and additional mobile phones found
                  value:
                    status: success
                    linkedin_profile_url: https://www.linkedin.com/in/example-person-000000
                    phone_numbers: '+12025550147'
                    all_phone_numbers:
                      - '+12025550147'
                      - '+12025550148'
                    provider: <provider>
                notFound:
                  summary: No mobile phone found
                  value:
                    status: not_found
                    linkedin_profile_url: https://www.linkedin.com/in/example-person-000000
                    phone_numbers: null
                    all_phone_numbers: []
                    provider: null
        '400':
          description: >-
            The JSON body is invalid or required identification fields are
            missing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: >-
            The workspace cannot complete this request because access or
            available credits are insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '413':
          description: The JSON request body exceeds the 256 KiB limit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: >-
            The workspace rate limit has been exceeded. Try again after the
            current window resets.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: >-
            The request could not be completed because of an unexpected server
            error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: >-
            The request could not be completed because a required service
            returned an unsuccessful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: The request is temporarily unavailable. Try again later.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    LinkedInPersonUrl:
      type: string
      minLength: 1
      description: >-
        A recognized LinkedIn person-profile URL or identifier. Airscale
        normalizes supported profile inputs.
      example: https://www.linkedin.com/in/example-person-000000
    Error:
      type: object
      additionalProperties: true
      properties:
        error:
          type: string
        message:
          type: string
  responses:
    Unauthorized:
      description: The Bearer token is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: >-
        Use an Airscale workspace API key. Never expose the key in client-side
        code.

````

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