Search code examples
amazon-web-servicesamazon-route53

Check if a domain is available via Route 53 without logging in?


One way of checking if a domain is available through AWS Route 53 is to login, and type the desired domain into the 'Register domain' field:

enter image description here

Since this information is the same for all users, it seems login wouldn't be necessary to see the availability of domains; is there any way to view a domain's (un)availability through Route 53 without first logging into one's AWS account? (through CLI or browser)

Why?

It may seem an odd question since it's not overly time consuming to sign in and authenticate via authenticator app or another 2nd factor etc, but since that takes a minute and a public search form would only take a few seconds, I thought I'd ask.

What I know so far

One could search on (any) other domain name registrar, however, 3 conditions would have to be met:

  • It must offer no domains Route 53 doesn't
  • It must offer all the domains Route 53 does
  • It must not snatch domains (register them shortly after they've been searched for)

Solution

  • Any API calls to Amazon Route 53 must be authenticated with AWS credentials.

    For example, when calling check_domain_availability() via Python and boto3, or using the AWS CLI to call aws route53domains check-domain-availability, the API request must be signed by a valid set of AWS credentials that have permission to make this API call.

    While the AWS management requires a 'login', using the AWS CLI or an AWS SDK does not involve a 'login'. However, they do need to be given a set of AWS credentials for the API call to succeed.

    Example

    aws route53domains check-domain-availability --domain-name somedomainname.com --region us-east-1
    # UNAVAILABLE
    
    aws route53domains check-domain-availability --domain-name lksjdfhblsdjfljsdfknskdf.com --region us-east-1
    # AVAILABLE