DEV Community

DomSDK
DomSDK

Posted on

Checking domain availability, WHOIS and DNS from one API call

If you've ever built a domain search box, a brand-name generator or an internal "is this domain still ours?" check, you know the pattern: one provider for availability, another for WHOIS/RDAP, a DNS resolver library, and maybe an SSL checker on top. Each has its own auth, its own JSON shape and its own rate limits.

I've been trying out DomSDK, a domain data API that puts these lookups behind a single key and a consistent JSON style. Here's a quick walkthrough of the calls I found most useful.

1. Availability

curl "https://api.domsdk.com/v1/availability?domain=my-new-idea.com" \
  -H "Authorization: Bearer YOUR_KEY"
Enter fullscreen mode Exit fullscreen mode

The response is a small object with the domain, the TLD and an available boolean, which is all a search box really needs.

2. WHOIS / RDAP

curl "https://api.domsdk.com/v1/whois?domain=example.com" \
  -H "Authorization: Bearer YOUR_KEY"
Enter fullscreen mode Exit fullscreen mode

You get the registrar, the created and expiry dates and the nameservers. That's handy for expiry reminders on a portfolio of domains.

3. DNS records

curl "https://api.domsdk.com/v1/dns?domain=example.com&type=NS" \
  -H "Authorization: Bearer YOUR_KEY"
Enter fullscreen mode Exit fullscreen mode

Swap type for MX, A, TXT and so on. It's useful for checking that a migration actually propagated.

4. SSL certificate

curl "https://api.domsdk.com/v1/ssl?domain=example.com" \
  -H "Authorization: Bearer YOUR_KEY"
Enter fullscreen mode Exit fullscreen mode

This returns validity, issuer and expiry, which is enough for a simple "certificate expires soon" alert.

Putting it together

A tiny script that checks a list of candidate names and prints the free ones:

import requests

KEY = "YOUR_KEY"
names = ["brightledger.com", "quietforge.io", "example.com"]

for name in names:
    r = requests.get(
        "https://api.domsdk.com/v1/availability",
        params={"domain": name},
        headers={"Authorization": f"Bearer {KEY}"},
        timeout=10,
    )
    data = r.json()
    print(name, "available" if data.get("available") else "taken")
Enter fullscreen mode Exit fullscreen mode

Notes

  • The free tier is 1,000 credits a month with no card, which covers a lot of side-project lookups.
  • It also exposes an MCP server, so AI coding agents can run the same lookups as tools.
  • DomSDK is an independent service and isn't affiliated with DomScan or other similarly named tools.

If you're juggling several domain-data providers in one project, it's worth a look: domsdk.com.

Top comments (0)