DEV Community

Daniel Igel
Daniel Igel

Posted on

Check domain availability, WHOIS and suggestions via REST API

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'
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode

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)