A small Spring Boot service that generates domain names (A-Z) and checks availability using the GoDaddy Domains API.
This project generates combinations of letters, appends .com, and bulk-checks availability with GoDaddy. It was created as a quick tool to discover available domain names programmatically.
- Java 11+ or compatible JDK
- Maven (or use the included Maven wrapper:
./mvnw) - A GoDaddy API authorization value (see Configuration)
Edit src/main/resources/application.properties and set your GoDaddy authorization header value. The service expects the property prodauth to be set. Example (do NOT commit credentials):
prodauth=sso-key <API_KEY>:<API_SECRET>
There is also an auth property in the file but the code uses prodauth for outgoing API requests.
Using the Maven wrapper from the repository root:
./mvnw clean package
./mvnw spring-boot:runOr with your local Maven installation:
mvn clean package
mvn spring-boot:runThe application runs as a Spring Boot app and listens on the default port (8080) unless you override it in configuration.
-
GET /generate?domainLength=<N>- Generates domain names of length
N(using uppercase letters A-Z), appends.com, batches them (500 per batch) and queries GoDaddy. - Returns a JSON array of available domain strings if any are found, otherwise returns more detailed
DomainStatusResponseobjects. - Example:
/generate?domainLength=3
- Generates domain names of length
-
POST /direct/post/domains/test- Proxy endpoint used by the service to call GoDaddy's bulk availability endpoint. Accepts a JSON array (string) of domains.
-
GET /direct/single/domain?domain=<domain>- Checks a single domain's availability via the GoDaddy API.
Check 3-letter .com domains (may take time and trigger rate limits):
curl "http://localhost:8080/generate?domainLength=3"Call the test bulk endpoint (example payload):
curl -X POST -H "Content-Type: application/json" \
-d '["ABC.com","DEF.com"]' \
http://localhost:8080/direct/post/domains/test- The generator uses uppercase letters
A-Zand appends.com. - The code batches requests in groups of 500 domains and will sleep/retry when GoDaddy returns a rate-limit response (the code parses
RetryResponseand usesretryAfterSec). - Make sure you set
prodauthin src/main/resources/application.properties before running; otherwise API calls will fail. - This is a utility / research tool — be careful with large
domainLengthvalues: the search space grows exponentially.
- Main application: src/main/java/com/domain/search/DomainSearchApplication.java
- Generator and controller: src/main/java/com/domain/search/service/GenerateDomainNames.java
- GoDaddy API calls: src/main/java/com/domain/search/godaddy/api/GodaddyApiServiceCall.java
Small utility — use responsibly. Larger domain lengths take more time to respond.