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

# Availability

> <Warning>
  **Being phased out.** This endpoint will be retired soon. New integrations should use [MetaSearch](/api-reference/domains/metasearch), which returns exact-match availability, alternative names, AI-generated suggestions, and live pricing in one call.
</Warning>

Checks whether one or more domain names are available for registration across the specified TLDs.

**Input format:** `search_term` accepts a single SLD string or an array of SLD strings (label only — no dots or TLD). Pass the TLD(s) separately via `tlds[]`. This allows you to check the same name across multiple extensions in one request (e.g. `search_term=example&tlds[]=com&tlds[]=store&tlds[]=tech`).

**TLD filtering:** Only TLDs enabled on your partner account are checked. Any requested TLD not in your allowed list is silently ignored. If no valid TLDs remain after filtering, the request falls back to your first allowed TLD.

**Premium domains:** If a result has `premium: true`, the domain is available but carries a premium price. If your partner account does not support premium registrations, these are returned with `available: false`.

**Result interpretation:** Each result in the `results` array corresponds to one domain+TLD combination. Check the `available` field to determine purchasability. Use this endpoint before calling `POST /api/v1/domains/register` to avoid failed registration attempts.

> Premium domains are not currently supported by our APIs for registration.


## OpenAPI

````yaml GET /api/v1/domains/availability
openapi: 3.1.0
info:
  title: Namify API
  description: >-
    The Namify API gives resellers and platform builders programmatic access to
    domain search, registration, renewal, customer management, and DNS
    configuration — all through a single authenticated REST interface.


    All requests require a bearer token issued from the Namify dashboard
    (Settings > API Key). The API is scoped to your partner account: TLD
    availability, pricing, and order history are all filtered to your configured
    product catalogue.


    **Base URL:** `https://dev.namify.host`


    **Typical integration flow:**

    1. Create a customer account with `POST /api/v1/customers/signup`.

    2. Check domain availability with `GET /api/v1/domains/availability`.

    3. Register the domain with `POST /api/v1/domains/register`.

    4. Activate DNS with `POST /api/v1/dns/activate` and add records as needed.

    5. Renew the domain before expiry with `POST /api/v1/domains/renew`.
  version: 1.0.0
  license:
    name: MIT
servers:
  - url: https://dev.namify.host
security:
  - bearerAuth: []
paths:
  /api/v1/domains/availability:
    get:
      tags:
        - Domains
      summary: Check domain availability
      description: >-
        <Warning>
          **Being phased out.** This endpoint will be retired soon. New integrations should use [MetaSearch](/api-reference/domains/metasearch), which returns exact-match availability, alternative names, AI-generated suggestions, and live pricing in one call.
        </Warning>


        Checks whether one or more domain names are available for registration
        across the specified TLDs.


        **Input format:** `search_term` accepts a single SLD string or an array
        of SLD strings (label only — no dots or TLD). Pass the TLD(s) separately
        via `tlds[]`. This allows you to check the same name across multiple
        extensions in one request (e.g.
        `search_term=example&tlds[]=com&tlds[]=store&tlds[]=tech`).


        **TLD filtering:** Only TLDs enabled on your partner account are
        checked. Any requested TLD not in your allowed list is silently ignored.
        If no valid TLDs remain after filtering, the request falls back to your
        first allowed TLD.


        **Premium domains:** If a result has `premium: true`, the domain is
        available but carries a premium price. If your partner account does not
        support premium registrations, these are returned with `available:
        false`.


        **Result interpretation:** Each result in the `results` array
        corresponds to one domain+TLD combination. Check the `available` field
        to determine purchasability. Use this endpoint before calling `POST
        /api/v1/domains/register` to avoid failed registration attempts.
      parameters:
        - name: search_term
          in: query
          required: true
          description: >-
            SLD (label only, no dots) to check. Accepts a single string or a
            repeated parameter for multiple SLDs (e.g.
            `search_term[]=example&search_term[]=myshop`). Must be 1–63
            alphanumeric characters or hyphens; cannot start or end with a
            hyphen.
          schema:
            oneOf:
              - type: string
              - type: array
                items:
                  type: string
            example: example
        - name: tlds[]
          in: query
          description: >-
            TLD extensions to check (without leading dot, e.g. `com`, `store`,
            `tech`, `online`). Filtered to your partner's allowed TLD list. If
            omitted or all values are unrecognised, defaults to your first
            allowed TLD.
          schema:
            type: array
            items:
              type: string
            example:
              - com
              - store
              - tech
          style: form
          explode: true
      responses:
        '200':
          description: Availability results for each requested domain+TLD combination.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainAvailabilityResponse'
              example:
                results:
                  - product_category: domain_registration
                    domain_name: example.com
                    sld: example
                    tld: com
                    available: true
                    premium: false
                  - product_category: domain_registration
                    domain_name: example.tech
                    sld: example
                    tld: tech
                    available: false
                    premium: false
        '400':
          description: Upstream request error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBadRequest'
        '401':
          description: API key is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorUnauthorized'
        '422':
          description: >-
            Validation error — `search_term` is missing or contains invalid
            characters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorValidation'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorServer'
components:
  schemas:
    DomainAvailabilityResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/DomainResult'
    ErrorBadRequest:
      type: object
      required:
        - message
      properties:
        message:
          type: string
          example: Bad Request.
    ErrorUnauthorized:
      type: object
      required:
        - message
      properties:
        message:
          type: string
          example: Unauthorized
    ErrorValidation:
      type: object
      required:
        - message
      properties:
        message:
          type: string
          example: The search term field is required.
    ErrorServer:
      type: object
      required:
        - message
      properties:
        message:
          type: string
          example: Server Error.
    DomainResult:
      type: object
      properties:
        product_category:
          type: string
          description: >-
            Product type — always `domain_registration` for domain availability
            results.
          example: domain_registration
        domain_name:
          type: string
          description: >-
            Fully qualified domain name composed of the SLD and TLD (e.g.
            `example.com`).
          example: example.com
        sld:
          type: string
          description: Second-level domain label — the part of the domain before the TLD.
          example: example
        tld:
          type: string
          description: Top-level domain extension (without leading dot).
          example: com
        available:
          type: boolean
          description: >-
            `true` if the domain is available for registration. `false` if it is
            already registered or if it is a premium domain on an account that
            does not support premium registrations.
          example: true
        premium:
          type: boolean
          description: >-
            `true` if this is a premium domain carrying a higher-than-standard
            registration price. Premium domains currently cannot be registered
            through this API.
          example: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        A personal access token. Obtain one from the dashboard under Settings >
        API Key. Include it in the `Authorization` header as `Bearer <token>`.
        Unauthenticated requests to protected routes return `401 Unauthorized`.

````