← Back to Account

Domain Availability API

Check domain availability programmatically from your own apps and scripts. Premium only.

Authentication

Create an API key from your Account → Subscription tab. Include it in the Authorization header:

Authorization: Bearer nml_your_api_key_here

Rate limit: 1,000 requests/day per key. Max 5 keys per account.

POST /api/domains/check

Check a single domain name across multiple TLDs.

Request

curl -X POST https://namilio.com/api/domains/check \
  -H "Authorization: Bearer nml_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "acmecorp",
    "tlds": [".com", ".net", ".io", ".app"]
  }'

Response

{
  "name": "acmecorp",
  "results": [
    { "domain": "acmecorp.com", "tld": ".com", "status": "taken" },
    { "domain": "acmecorp.net", "tld": ".net", "status": "available" },
    { "domain": "acmecorp.io", "tld": ".io", "status": "available" },
    { "domain": "acmecorp.app", "tld": ".app", "status": "available" }
  ],
  "checkedAt": "2026-04-13T12:00:00.000Z"
}

tlds is optional — defaults to .com, .net, .org, .app, .dev. Max 20 TLDs per request.

POST /api/domains/bulk

Check up to 50 domain names at once.

Request

curl -X POST https://namilio.com/api/domains/bulk \
  -H "Authorization: Bearer nml_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "domains": [
      { "name": "acmecorp", "tlds": [".com", ".io"] },
      { "name": "brandify" },
      { "name": "nexaflow", "tlds": [".app", ".dev"] }
    ]
  }'

Response

{
  "domains": [
    {
      "name": "acmecorp",
      "results": [
        { "domain": "acmecorp.com", "tld": ".com", "status": "taken" },
        { "domain": "acmecorp.io", "tld": ".io", "status": "available" }
      ]
    },
    {
      "name": "brandify",
      "results": [
        { "domain": "brandify.com", "tld": ".com", "status": "taken" },
        ...
      ]
    }
  ],
  "checkedAt": "2026-04-13T12:00:00.000Z"
}

Each domain can have its own tlds array (optional, defaults to popular 5). Max 50 domains, 20 TLDs each.

GET /api/domains/tlds

List all supported TLDs. No authentication required.

curl https://namilio.com/api/domains/tlds

Response

{
  "tlds": [".com", ".net", ".org", ".app", ".dev", ".tech", ".bot", ...],
  "categories": {
    "popular": [".com", ".net", ".org", ".app", ".dev"],
    "tech": [".tech", ".bot", ".io", ".ai"],
    "modern": [".xyz", ".online", ".site", ".store", ".shop", ".blog"],
    "other": [".co", ".ly", ".to", ".biz", ".inc", ".ca"]
  },
  "zoneTlds": [".com", ".net", ".org", ...],
  "note": "Zone TLDs use instant zone file lookup. Others use RDAP/DNS (slower)."
}

Domain Statuses

StatusMeaning
availableDomain is available for registration
takenDomain is registered
premiumAvailable at a premium price from the registry
forsaleRegistered but listed for sale
unknownCould not determine status (timeout or unsupported TLD)
errorCheck failed

Errors

CodeMeaning
400Invalid request body (check name format, TLD format, limits)
401Missing or invalid API key
403Active Premium subscription required
429Daily rate limit reached (1,000 requests/day)

Need an API key?

Go to Account Settings