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

# Check domain availability

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Checks whether a domain can be registered through Base44, and suggests similar ones.

The first entry in `results` is always the domain you asked about, followed by up to five suggestions. A premium domain, or one containing a social media platform's name, comes back as unavailable because Base44 can't sell it.

The check asks Wix, so it fails while Wix's domain search is unavailable. Retrying later is safe.

Checking is limited to 12 requests a minute per caller. Some workspaces have a different limit.



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json get /api/apps/{app_id}/custom-domains/availability
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - PersonalAccessTokenAuth: []
paths:
  /api/apps/{app_id}/custom-domains/availability:
    get:
      summary: Check domain availability
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Checks whether a domain can be registered through Base44, and suggests
        similar ones.


        The first entry in `results` is always the domain you asked about,
        followed by up to five suggestions. A premium domain, or one containing
        a social media platform's name, comes back as unavailable because Base44
        can't sell it.


        The check asks Wix, so it fails while Wix's domain search is
        unavailable. Retrying later is safe.


        Checking is limited to 12 requests a minute per caller. Some workspaces
        have a different limit.
      operationId: >-
        get_domain_availability_api_apps__app_id__custom_domains_availability_get
      parameters:
        - description: ID of the app you're finding a domain for.
          example: 6820f3a4e7b91d003c45a1f2
          in: path
          name: app_id
          required: true
          schema:
            description: ID of the app you're finding a domain for.
            title: App Id
            type: string
        - description: Domain to check, such as `example.com`.
          example: nordwind-furniture.com
          in: query
          name: domain
          required: true
          schema:
            description: Domain to check, such as `example.com`.
            title: Domain
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainAvailabilityCheck'
          description: Successful Response
        '400':
          description: '`domain` isn''t a valid domain name.'
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            You don't have access to this app, or you used a workspace API key.
            These endpoints take a personal API key.
        '404':
          description: App not found.
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '429':
          description: Rate limit reached. Retry later.
components:
  schemas:
    DomainAvailabilityCheck:
      description: Whether a domain can be registered, with similar domains that can.
      properties:
        query:
          description: The domain you asked about, normalized to lower case.
          example: nordwind-furniture.com
          title: Query
          type: string
        results:
          description: >-
            The domain you asked about, first, followed by up to five
            suggestions.
          items:
            $ref: '#/components/schemas/DomainAvailabilityCheckResult'
          title: Results
          type: array
      required:
        - query
        - results
      title: DomainAvailabilityCheck
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    DomainAvailabilityCheckResult:
      properties:
        available:
          description: Whether Base44 can register the domain (`true`) or not (`false`).
          example: true
          title: Available
          type: boolean
        domain:
          description: The domain this entry is about.
          example: nordwind-furniture.com
          title: Domain
          type: string
        reason:
          anyOf:
            - enum:
                - premium
                - unavailable
              type: string
            - type: 'null'
          description: >-
            Why the domain can't be registered, or `null` when it can. Either
            `premium`, a premium-priced domain Base44 doesn't sell, or
            `unavailable` for every other reason.
          example: premium
          title: Reason
      required:
        - domain
        - available
      title: DomainAvailabilityCheckResult
      type: object
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
  securitySchemes:
    PersonalAccessTokenAuth:
      description: 'Personal access token, sent as `Authorization: Bearer <token>`.'
      scheme: bearer
      type: http

````