Quickstart

Get up and running with DomainKit in under 5 minutes.

Make Your First Request

No API key required for basic checks. Try it now:

curl "https://api.domainkit.bot/check?name=example"

Response:

{
  "name": "example",
  "results": [
    {
      "domain": "example.com",
      "tld": "com",
      "available": false,
      "status": ["active"],
      "premium": false,
      "source": "rdap",
      "checkedAt": "2024-01-30T12:00:00Z",
      "responseMs": 180
    },
    {
      "domain": "example.io",
      "tld": "io",
      "available": false,
      "status": ["active"],
      "premium": false,
      "source": "dns",
      "checkedAt": "2024-01-30T12:00:00Z",
      "responseMs": 45
    },
    {
      "domain": "example.dev",
      "tld": "dev",
      "available": true,
      "status": ["undelegated", "inactive"],
      "premium": false,
      "source": "rdap",
      "checkedAt": "2024-01-30T12:00:00Z",
      "responseMs": 210
    }
  ],
  "totalMs": 250,
  "timestamp": "2024-01-30T12:00:00Z"
}

Check a Specific Domain

To check a single domain with its TLD:

curl "https://api.domainkit.bot/check?name=mycoolstartup&tld=com"

List Available TLDs

See all supported top-level domains:

curl "https://api.domainkit.bot/tlds"

Response:

{
  "count": 19,
  "tlds": [
    {"tld": "com", "type": "gTLD", "rdapServer": "rdap.verisign.com/com/v1", "enabled": true},
    {"tld": "io", "type": "ccTLD", "rdapServer": "rdap.identitydigital.services/rdap", "enabled": true},
    {"tld": "dev", "type": "gTLD", "rdapServer": "pubapi.registry.google/rdap", "enabled": true}
  ]
}

Find where to register an available domain:

curl "https://api.domainkit.bot/register?domain=mycoolstartup.com"

Response:

{
  "domain": "mycoolstartup.com",
  "registrars": [
    {
      "name": "Porkbun",
      "slug": "porkbun",
      "url": "https://porkbun.com/checkout/search?q=mycoolstartup.com",
      "estimatedPrice": 9.73
    },
    {
      "name": "Namecheap",
      "slug": "namecheap",
      "url": "https://www.namecheap.com/domains/registration/results/?domain=mycoolstartup.com"
    },
    {
      "name": "GoDaddy",
      "slug": "godaddy",
      "url": "https://www.godaddy.com/domainsearch/find?domainToCheck=mycoolstartup.com"
    }
  ],
  "timestamp": "2024-01-30T12:00:00Z"
}

Code Examples

Python

import requests

response = requests.get(
    "https://api.domainkit.bot/check",
    params={"name": "mycoolstartup"}
)
data = response.json()

print(f"Checked: {data['name']} ({data['totalMs']}ms)")
for result in data["results"]:
    status = "" if result["available"] else ""
    premium = " [PREMIUM]" if result["premium"] else ""
    print(f"{status} {result['domain']}{premium}")

JavaScript

const response = await fetch(
  "https://api.domainkit.bot/check?name=mycoolstartup"
);
const data = await response.json();

console.log(`Checked: ${data.name} (${data.totalMs}ms)`);
data.results.forEach(result => {
  const status = result.available ? "" : "";
  const premium = result.premium ? " [PREMIUM]" : "";
  console.log(`${status} ${result.domain}${premium}`);
});

Go

resp, err := http.Get("https://api.domainkit.bot/check?name=mycoolstartup")
if err != nil {
    log.Fatal(err)
}
defer resp.Body.Close()

var data struct {
    Name    string `json:"name"`
    Results []struct {
        Domain    string `json:"domain"`
        Available bool   `json:"available"`
        Premium   bool   `json:"premium"`
    } `json:"results"`
    TotalMs int64 `json:"totalMs"`
}
json.NewDecoder(resp.Body).Decode(&data)

fmt.Printf("Checked: %s (%dms)\n", data.Name, data.TotalMs)

Next Steps