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

# Suggestions

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

Returns a list of available domain name suggestions derived from a keyword. Useful for surfacing alternatives when the exact domain a customer wants is already taken.

**How it works:** The engine generates variations of the `search_term` keyword — such as prefixes, suffixes, and synonyms — and returns only those that are currently available for registration. Each suggestion includes `available`, `premium`, `sld`, and `tld` fields in the same format as the availability check endpoint.

**TLD scoping:** Use `tld` to restrict suggestions to one or more extensions. Only TLDs enabled on your partner account are used — unrecognised values are silently ignored and fall back to your first allowed TLD.

**Premium domains:** Suggestions with `premium: true` carry a higher registration price. If your partner account does not support premium registrations, these are returned with `available: false`.

**Recommended flow:** Use this endpoint alongside `GET /api/v1/domains/availability` — present exact-match results first, then fall back to suggestions when the target domain is unavailable.



## OpenAPI

````yaml GET /api/v1/domains/suggestions
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/suggestions:
    get:
      tags:
        - Domains
      summary: Get domain name suggestions
      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>


        Returns a list of available domain name suggestions derived from a
        keyword. Useful for surfacing alternatives when the exact domain a
        customer wants is already taken.


        **How it works:** The engine generates variations of the `search_term`
        keyword — such as prefixes, suffixes, and synonyms — and returns only
        those that are currently available for registration. Each suggestion
        includes `available`, `premium`, `sld`, and `tld` fields in the same
        format as the availability check endpoint.


        **TLD scoping:** Use `tld` to restrict suggestions to one or more
        extensions. Only TLDs enabled on your partner account are used —
        unrecognised values are silently ignored and fall back to your first
        allowed TLD.


        **Premium domains:** Suggestions with `premium: true` carry a higher
        registration price. If your partner account does not support premium
        registrations, these are returned with `available: false`.


        **Recommended flow:** Use this endpoint alongside `GET
        /api/v1/domains/availability` — present exact-match results first, then
        fall back to suggestions when the target domain is unavailable.
      parameters:
        - name: search_term
          in: query
          required: true
          description: >-
            Keyword to base suggestions on (SLD only, no dots). Must be 1–63
            alphanumeric characters or hyphens; cannot start or end with a
            hyphen.
          schema:
            type: string
            example: myshop
        - name: tld
          in: query
          description: >-
            TLD extension(s) to scope suggestions to (without leading dot).
            Filtered against your partner's allowed TLD list. If omitted or
            unrecognised, defaults to your first allowed TLD.
          schema:
            oneOf:
              - type: string
              - type: array
                items:
                  type: string
            example: com
      responses:
        '200':
          description: List of suggested domain names with their availability status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DomainAvailabilityResponse'
              example:
                results:
                  - product_category: domain_registration
                    domain_name: myshopnow.com
                    sld: myshopnow
                    tld: com
                    available: true
                    premium: false
                  - product_category: domain_registration
                    domain_name: myshophub.com
                    sld: myshophub
                    tld: com
                    available: true
                    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`.

````