# Search for available domain names and pricing

This function returns available domain name suggestions and their registration pricing for a given search term.

The system retrieves the results from the configured domain store and caches them for up to two minutes per unique combination of search_field, page, page_size, and the requested tld list. Use the use_cache=0 option to bypass the cache and force a live request.

Note:

This function requires the domain_recommendation feature.

Endpoint: GET /DomainRecommendations/domain_suggestions
Version: 11.137.9999.106
Security: BasicAuth

## Query parameters:

  - `search_field` (string, required)
    The search term used to generate domain suggestions. This is a free-text query, not necessarily a fully-qualified domain name.

Note:

Use the base domain name without the TLD (for example, mybusiness instead of mybusiness.com).
    Example: "mybusiness"

  - `page` (integer)
    The page number to retrieve (1-indexed).

If you do not set this value, the function uses the store's default page.
    Example: 1

  - `page_size` (integer)
    The number of suggestions to return per page.

If you do not set this value, the function uses the store's default page size.
    Example: 10

  - `use_cache` (integer)
    Whether to use the local response cache.

* 1 — Use the cache (default). The function caches the results for up to two minutes.
* 0 — Bypass the cache and make a live request to the store.
    Enum: 1, 0

## Response 200 fields (application/json):

  - `apiversion` (integer)
    The version of the API.
    Example: 3

  - `func` (string)
    The name of the method called.
    Example: "domain_suggestions"

  - `module` (string)
    The name of the module called.
    Example: "DomainRecommendations"

  - `result` (object)

  - `result.data` (object)
    An object containing pagination metadata and domain suggestions.

  - `result.data.meta` (object)
    Pagination and result metadata that the store returns.

  - `result.data.meta.page` (integer)
    The current page number (1-indexed).
    Example: 1

  - `result.data.meta.page_size` (integer)
    The number of results per page.
    Example: 10

  - `result.data.meta.total_items` (integer)
    The total number of available matching domain suggestions.
    Example: 25

  - `result.data.meta.total_pages` (integer)
    The total number of available pages.
    Example: 3

  - `result.data.suggestions` (object)
    A mapping of available domain names to pricing periods.

Each key is a fully-qualified domain name (for example,
mybusiness.com). Each value is an object containing a
pricing array of PricingPeriod objects, an
is_premium flag, and optional premium_cost_pricing
details.

The function returns an empty object ({}) when no
suggestions are available.
    Example: {"mybusiness.com":{"is_premium":0,"premium_cost_pricing":null,"pricing":[{"period":1,"register":{"code":"USD","display_value":"$9.99 USD","prefix":"$","suffix":" USD","value":"9.99"},"renew":{"code":"USD","display_value":"$9.99 USD","prefix":"$","suffix":" USD","value":"9.99"},"transfer":null}]}}

  - `result.errors` (array,null)
    List of errors if the API failed.

  - `result.messages` (array,null)
    List of messages generated by the API.

  - `result.metadata` (object)

  - `result.metadata.transformed` (integer)
    Post-processing may have transformed the data.
    Enum: 1

  - `result.status` (integer)
    * 1 — Success.
* 0 — Failed. Check the errors field for more details.
    Enum: 0, 1

  - `result.warnings` (array,null)
    List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running an API.


