> ## 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.

# US DNC Checker

> Check whether a US phone number is listed on the US Do Not Call list. Rate limit: 5 requests per second per workspace.

Submit a US phone number using `phone`. The operation normalizes accepted numbers to `+1` format and returns whether the number is listed on the US Do Not Call (DNC) list. For UK numbers, use the [UK DNC Checker](https://docs.airscale.io/api-reference/uk-dnc-checker.md).

> [!NOTE]
>
> A successful check costs 1 credit whether `listed` is `true` or `false`. The limit is 5 requests per second per workspace. Validation and lookup failures are not charged.

`POST /v1/dnc-check` remains supported for existing integrations; it accepts the same request and returns the same response, pricing, and limits as `POST /v1/us-dnc-check`.

Non-US numbers return `422` with `code: "unsupported_phone_region"` without starting a check. Malformed numbers return `422` with `code: "invalid_input"`. Correct the input before retrying either response.

`phone_number` and `mobile_phone` are accepted aliases. `phone` takes precedence when non-null, followed by `phone_number`, then `mobile_phone`. Use one field to avoid ambiguity.

## Read a successful result

| Field | Meaning |
| - | - |
| `status` | `success` for a completed check. |
| `phone` | Normalized US phone number. |
| `listed` | Boolean indicating whether the number is listed. |
| `result` | `Listed on DNC` or `Not listed on DNC`. |
| `credits_used` | Credits charged for this check. |
| `credits_remaining` | Remaining workspace credit balance. |

After `429`, retry in a later second with bounded exponential backoff. For temporary `502` or `503` responses, retry with increasing delays and a fixed retry limit; contact support if errors persist. The maximum JSON body size is 256 KiB.

## Next step

Review [Authentication](https://docs.airscale.io/api-reference/authentication.md) before updating an existing integration.


## OpenAPI

````yaml openapi.json POST /v1/us-dnc-check
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/us-dnc-check:
    post:
      tags:
        - Miscellaneous
      summary: Check a US phone number against the US DNC list
      description: >-
        Checks a US phone number against the US Do Not Call list. A successful
        check costs one credit whether the number is listed or not. Non-US and
        malformed numbers are rejected before the lookup. The original
        /v1/dnc-check route accepts the same request and returns the same
        response for existing integrations. For UK numbers, use
        /v1/uk-dnc-check.
      operationId: checkDnc
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                phone:
                  type: string
                  minLength: 1
                  description: >-
                    Recommended phone field. A US phone number, normalized to +1
                    format.
                phone_number:
                  type: string
                  description: Alias used only if phone is null or absent.
                mobile_phone:
                  type: string
                  description: >-
                    Alias used only if phone and phone_number are null or
                    absent.
              anyOf:
                - required:
                    - phone
                - required:
                    - phone_number
                - required:
                    - mobile_phone
            examples:
              example:
                value:
                  phone: '+12025550147'
      responses:
        '200':
          description: The result of a completed DNC check.
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - phone
                  - listed
                  - result
                  - credits_used
                  - credits_remaining
                properties:
                  status:
                    type: string
                    const: success
                  phone:
                    type: string
                  listed:
                    type: boolean
                  result:
                    type: string
                    enum:
                      - Listed on DNC
                      - Not listed on DNC
                  credits_used:
                    type: number
                  credits_remaining:
                    type:
                      - number
                      - 'null'
              examples:
                example:
                  value:
                    status: success
                    phone: '+12025550147'
                    listed: false
                    result: Not listed on DNC
                    credits_used: 1
                    credits_remaining: 99
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: Insufficient credits or access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Unknown path or method.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '413':
          description: Request body exceeds 256 KiB.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Invalid or unsupported US phone number.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Workspace rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Service configuration error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: Upstream service failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: >-
            A required service is temporarily unavailable. Retry after the
            Retry-After delay when one is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    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.