Checking domain availability from app code usually means parsing inconsistent WHOIS text, guessing from DNS NXDOMAIN, or bundling a library you don't want. None of those give you structured data and alternatives in one step.
This covers availability, suggestions, and WHOIS with plain REST:
curl --request GET \
--url 'https://domain-availability-checker-api1.p.rapidapi.com/api/v1/check?domain=myapp.io' \
--header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' \
--header 'x-rapidapi-host: domain-availability-checker-api1.p.rapidapi.com'
Returns { domain, available, method, estimatedPrice }. The check queries DNS A and MX records — no records means available.
For a domain picker, GET /api/v1/suggest?keyword=myapp checks 8 TLDs at once (.com, .io, .dev, .app, .co, .net, .org, .me) and returns availability + estimated price for each:
const { suggestions } = await fetch(
'https://domain-availability-checker-api1.p.rapidapi.com/api/v1/suggest?keyword=myapp',
{ headers: { 'x-rapidapi-key': process.env.RAPIDAPI_KEY, 'x-rapidapi-host': 'domain-availability-checker-api1.p.rapidapi.com' } }
).then(r => r.json());
const available = suggestions.filter(s => s.available);
POST /api/v1/check/bulk checks up to 10 specific domains in one round-trip. For registrar info, expiry dates, and nameservers, GET /api/v1/whois?domain=example.com returns parsed WHOIS JSON — no regex over raw text.
DNS results are cached for 5 minutes. Built on Node.js dns/promises, no external quota.
Free tier on RapidAPI: https://rapidapi.com/danieligel/api/domain-availability-checker-api1
Do you add a domain picker to your SaaS onboarding, or let users type the full domain name themselves?
Top comments (0)