Examples
Real-world code examples for integrating RobotDomainSearch.
Check Domain Availability
curl
curl "https://api.robotdomainsearch.com/check?name=mycoolstartup"
Python
import requests
def check_domain(name):
response = requests.get(
"https://api.robotdomainsearch.com/check",
params={"name": name}
)
return response.json()
results = check_domain("mycoolstartup")
for r in results["results"]:
status = "✓ Available" if r["available"] else "✗ Taken"
print(f"{r['domain']}: {status}")
JavaScript (Node.js)
async function checkDomain(name) {
const response = await fetch(
`https://api.robotdomainsearch.com/check?name=${name}`
);
return response.json();
}
const results = await checkDomain("mycoolstartup");
results.results.forEach(r => {
const status = r.available ? "✓ Available" : "✗ Taken";
console.log(`${r.domain}: ${status}`);
});
Go
package main
import (
"encoding/json"
"fmt"
"net/http"
)
type CheckResponse struct {
Results []struct {
Domain string `json:"domain"`
Available bool `json:"available"`
TLD string `json:"tld"`
} `json:"results"`
}
func checkDomain(name string) (*CheckResponse, error) {
resp, err := http.Get(
"https://api.robotdomainsearch.com/check?name=" + name,
)
if err != nil {
return nil, err
}
defer resp.Body.Close()
var result CheckResponse
if err := json.NewDecoder(resp.Body).Decode(&result); err != nil {
return nil, err
}
return &result, nil
}
func main() {
results, _ := checkDomain("mycoolstartup")
for _, r := range results.Results {
status := "✗ Taken"
if r.Available {
status = "✓ Available"
}
fmt.Printf("%s: %s\n", r.Domain, status)
}
}
Bulk TLD Check
Check specific TLDs in a single request:
# Check specific TLDs
curl "https://api.robotdomainsearch.com/check?name=mycoolstartup&tld=com,net,io,ai"
import requests
response = requests.get(
"https://api.robotdomainsearch.com/check",
params={"name": "mycoolstartup", "tld": "com,net,io,ai"}
)
data = response.json()
print(f"Checked {data['checked']} TLDs: {data['available']} available, {data['unavailable']} taken")
for r in data["results"]:
status = "✓" if r["available"] else "✗"
print(f" {status} {r['domain']}")
Category Check
Check all TLDs in a category:
# Check all technology TLDs
curl "https://api.robotdomainsearch.com/check?name=mycoolstartup&category=technology"
import requests
response = requests.get(
"https://api.robotdomainsearch.com/check",
params={"name": "mycoolstartup", "category": "technology"}
)
data = response.json()
print(f"Technology TLDs: {data['available']}/{data['checked']} available")
for r in data["results"]:
if r["available"]:
print(f" ✓ {r['domain']}")
Browse TLD Categories
import requests
response = requests.get("https://api.robotdomainsearch.com/tlds")
data = response.json()
print(f"Total: {data['total']} TLDs across {len(data['categories'])} categories\n")
for cat in data["categories"]:
print(f"{cat['label']} ({cat['count']}): {', '.join(cat['tlds'][:5])}...")
Get Registration Links
Find where to register available domains:
import requests
def get_registration_link(domain):
response = requests.get(
"https://api.robotdomainsearch.com/register",
params={"domain": domain}
)
return response.json()
data = get_registration_link("mycoolstartup.com")
for reg in data["registrars"]:
price = f" (~${reg['estimatedPrice']})" if reg.get("estimatedPrice") else ""
print(f" {reg['name']}{price}: {reg['url']}")
ENS Name Lookup
Check ENS (.eth) name availability:
curl "https://ens.robotdomainsearch.com/check?name=vitalik"
import requests
# Check availability
response = requests.get(
"https://ens.robotdomainsearch.com/check",
params={"name": "vitalik"}
)
data = response.json()
if data["available"]:
price = data["registrationPrice"]["usdEstimate"]
print(f"{data['name']} is available (~${price}/year)")
else:
print(f"{data['name']} is taken by {data['owner']}")
# Get metadata for a registered name
response = requests.get(
"https://ens.robotdomainsearch.com/metadata",
params={"name": "vitalik"}
)
meta = response.json()
print(f"Address: {meta['address']}")
if meta.get("records", {}).get("twitter"):
print(f"Twitter: @{meta['records']['twitter']}")
Error Handling
import requests
def check_domain_safe(name):
try:
response = requests.get(
"https://api.robotdomainsearch.com/check",
params={"name": name},
timeout=10
)
response.raise_for_status()
return response.json()
except requests.exceptions.HTTPError as e:
if e.response.status_code == 429:
print("Rate limited. Wait and retry.")
elif e.response.status_code == 400:
print(f"Invalid request: {e.response.json()}")
raise
except requests.exceptions.Timeout:
print("Request timed out")
raise