:doc:`Route53Domains <../../route53domains>` / Client / check_domain_availability

*************************
check_domain_availability
*************************



.. py:method:: Route53Domains.Client.check_domain_availability(**kwargs)

  

  This operation checks the availability of one domain name. Note that if the availability status of a domain is pending, you must submit another request to determine the availability of the domain name.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/route53domains-2014-05-15/CheckDomainAvailability>`_  


  **Request Syntax**
  ::

    response = client.check_domain_availability(
        DomainName='string',
        IdnLangCode='string'
    )
    
  :type DomainName: string
  :param DomainName: **[REQUIRED]** 

    The name of the domain that you want to get availability for. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of supported TLDs, see `Domains that You Can Register with Amazon Route 53 <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html>`__ in the *Amazon Route 53 Developer Guide*.

     

    The domain name can contain only the following characters:

     

    
    * Letters a through z. Domain names are not case sensitive.
     
    * Numbers 0 through 9.
     
    * Hyphen (-). You can't specify a hyphen at the beginning or end of a label.
     
    * Period (.) to separate the labels in the name, such as the ``.`` in ``example.com``.
    

     

    Internationalized domain names are not supported for some top-level domains. To determine whether the TLD that you want to use supports internationalized domain names, see `Domains that You Can Register with Amazon Route 53 <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/registrar-tld-list.html>`__. For more information, see `Formatting Internationalized Domain Names <https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DomainNameFormat.html#domain-name-format-idns>`__.

    

  
  :type IdnLangCode: string
  :param IdnLangCode: 

    Reserved for future use.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'Availability': 'AVAILABLE'|'AVAILABLE_RESERVED'|'AVAILABLE_PREORDER'|'UNAVAILABLE'|'UNAVAILABLE_PREMIUM'|'UNAVAILABLE_RESTRICTED'|'RESERVED'|'DONT_KNOW'|'INVALID_NAME_FOR_TLD'|'PENDING'
      }
      
    **Response Structure**

    

    - *(dict) --* 

      The CheckDomainAvailability response includes the following elements.

      
      

      - **Availability** *(string) --* 

        Whether the domain name is available for registering.

         

        .. note::

          

          You can register only domains designated as ``AVAILABLE``.

          

         

        Valid values:

          AVAILABLE  

        The domain name is available.

          AVAILABLE_RESERVED  

        The domain name is reserved under specific conditions.

          AVAILABLE_PREORDER  

        The domain name is available and can be preordered.

          DONT_KNOW  

        The TLD registry didn't reply with a definitive answer about whether the domain name is available. Route 53 can return this response for a variety of reasons, for example, the registry is performing maintenance. Try again later.

          INVALID_NAME_FOR_TLD  

        The TLD isn't valid. For example, it can contain characters that aren't allowed.

          PENDING  

        The TLD registry didn't return a response in the expected amount of time. When the response is delayed, it usually takes just a few extra seconds. You can resubmit the request immediately.

          RESERVED  

        The domain name has been reserved for another person or organization.

          UNAVAILABLE  

        The domain name is not available.

          UNAVAILABLE_PREMIUM  

        The domain name is not available.

          UNAVAILABLE_RESTRICTED  

        The domain name is forbidden.

        
  
  **Exceptions**
  
  *   :py:class:`Route53Domains.Client.exceptions.InvalidInput`

  
  *   :py:class:`Route53Domains.Client.exceptions.UnsupportedTLD`

  