Skip to content

Domain Availability Checker

Try for free

Check whether domain names are registered or free, in bulk, straight from the registries (RDAP, WHOIS for TLDs without RDAP). Get registrar, created and expiry dates, status codes, name servers, DNSSEC and DNS records for each domain. No login needed.

🌐 Domain Availability Checker

Find out in seconds whether domain names are still free or already registered, straight from the registries. Paste domains, or brand names plus the endings you want (.com, .ie, .co.uk, .io ...), and get one row per domain with the registrar, created and expiry dates, status codes, name servers, DNSSEC and the domain's DNS records. No login, no API key; from $1.02 per 1,000 domains, platform usage included.

✨ Why use Domain Availability Checker?

  • 🏛️ Answers from the registries — each domain is looked up at its own registry over RDAP, the registries' official lookup service, and over WHOIS for the TLDs that have no RDAP yet (such as .ie, .it and .eu).
  • 🔤 Names × TLDs in one run — give a shortlist of brand names and a few endings; every combination is checked.
  • 📅 Full registration details — registrar, created, updated and expiry dates, status codes, name servers and DNSSEC for every registered domain.
  • 📡 DNS at a glance — A (website) and MX (e-mail) records show whether a registered domain is really in use or just parked.
  • 🤝 Honest answers — when a registry cannot be reached or has no public lookup, the row says "unknown" and why. It never guesses, and unknown rows are free.
  • ⚡ Fast and parallel — 20 domains across 8 TLDs took about 10 seconds in our tests; thousands of domains run in one go.

🎯 Use cases

  • 💡 Naming a product, app or company — check a shortlist of names across .com and your country's TLD before you decide.
  • 🛡️ Brand protection — see which spellings and TLDs of your brand are taken, by which registrar, and when they expire.
  • 📆 Expiry watching — schedule a run over the domains you want and see their expiry dates and status codes change.
  • 🧹 Portfolio and lead lists — clean lists of company websites: which domains exist, which have DNS, which accept e-mail (MX).
  • 🤖 AI agents and automations — give an assistant a plain registered / available answer per domain through the API or MCP.

🚀 How to use

  1. Paste domains under Domains (one per line; URLs, www. hosts and e-mail addresses work too), and/or brand names under Names.
  2. Under TLDs, list the endings to try with each name, e.g. .com, .ie, .co.uk. Empty = .com.
  3. Keep Look up DNS on to get A and MX records, and click Start.
  4. Download the rows as JSON, CSV or Excel, or read them through the API.

📥 Input

FieldWhat it does
domainsDomains to check. https://www.example.com/page and info@example.com are read as example.com; a bare name without a TLD is combined with tlds.
namesNames to check under every TLD in tlds. Spaces are removed, hyphens kept.
tldsEndings for names, with or without the dot (.com, ie, .co.uk). Empty = .com.
checkDnsRead A and MX records too (default on).
includeRawAdd the registry's full RDAP answer or WHOIS text under raw (default off).
proxyConfigurationProxy for the lookups (default: Scrape.ly datacenter proxies).
{
  "domains": ["scrape.ly", "wikipedia.org"],
  "names": ["scrapely", "quiet-harbour-bakery-galway"],
  "tlds": [".com", ".ie"]
}

📤 Output

One row per domain, in the order you gave them.

FieldMeaning
domainThe domain checked (IDN in its xn-- form; domainUnicode has the readable form)
availabilityregistered, available or unknown
registeredtrue, false, or null when the registry gave no clear answer
source / sourceServerWhere the answer came from: RDAP, WHOIS or DNS, and the server
registrar, registrarIanaIdThe registrar the domain is held with
createdAt, updatedAt, expiresAtRegistration dates in ISO 8601 (UTC), when the registry publishes them
statusCodesThe registry's status codes, e.g. client transfer prohibited
nameservers, dnssecDelegated name servers and whether the delegation is DNSSEC-signed
hasDns, dnsA, dnsMxWhether the domain has A or MX records, and the records
tld, name, inputThe domain's ending, the name it was built from, and what you typed
checkedAtTime of the check
noteExtra context on a clear answer, e.g. a registered row that comes from DNS because the registry has no public lookup
errorWhy a row is unknown or invalid (plain text); empty on clear answers
[
  {
    "domain": "wikipedia.org",
    "domainUnicode": "wikipedia.org",
    "tld": "org",
    "name": null,
    "input": "wikipedia.org",
    "registered": true,
    "availability": "registered",
    "source": "RDAP",
    "sourceServer": "rdap.publicinterestregistry.org",
    "registrar": "MarkMonitor Inc.",
    "registrarIanaId": "292",
    "createdAt": "2001-01-13T00:12:14Z",
    "updatedAt": "2026-08-12T08:47:19Z",
    "expiresAt": "2027-01-13T00:12:14Z",
    "statusCodes": ["client delete prohibited", "client transfer prohibited", "client update prohibited"],
    "nameservers": ["ns0.wikimedia.org", "ns1.wikimedia.org", "ns2.wikimedia.org"],
    "dnssec": false,
    "hasDns": true,
    "dnsA": ["208.80.154.224"],
    "dnsMx": ["mx-in1001.wikimedia.org", "mx-in2001.wikimedia.org"],
    "checkedAt": "2026-11-08T16:22:17Z",
    "note": null,
    "error": null
  },
  {
    "domain": "quiet-harbour-bakery-galway.ie",
    "domainUnicode": "quiet-harbour-bakery-galway.ie",
    "tld": "ie",
    "name": "quiet-harbour-bakery-galway",
    "input": "quiet-harbour-bakery-galway",
    "registered": false,
    "availability": "available",
    "source": "WHOIS",
    "sourceServer": "whois.weare.ie",
    "registrar": null,
    "registrarIanaId": null,
    "createdAt": null,
    "updatedAt": null,
    "expiresAt": null,
    "statusCodes": [],
    "nameservers": [],
    "dnssec": null,
    "hasDns": false,
    "dnsA": [],
    "dnsMx": [],
    "checkedAt": "2026-11-08T16:22:17Z",
    "note": null,
    "error": null
  }
]

💰 Pricing

You pay per domain with a clear answer (registered or available). Platform usage (compute and proxy) is included, so that is the whole price. Rows that end as "unknown" and invalid inputs are free.

EventFreeStarterScaleBusiness
Domain checked (per 1,000)$1.95$1.70$1.32$1.02

Example: 8 names under .com and .ie are 16 domains, about $0.03 on the Free plan. 1,000 domains cost $1.95 on Free and $1.02 on Business.

❓ FAQ

Is it legal? Yes. RDAP and WHOIS are the public lookup services the registries run for exactly this: checking whether a domain is taken and who holds it. Respect each registry's terms of use for what you do with the data.

Do I need an account at a registrar or an API key? No. The actor asks the registries directly.

What does "available" mean? The registry has no record of the domain. Registries can still hold back reserved or premium names, so a registrar may refuse such a name or ask a higher price for it.

Why is a row "unknown"? The registry did not answer, refused the lookup, or has no public lookup at all (for example .es). The error field says which. When the domain has name servers in DNS, the row says registered with source DNS and a note. Names a registry keeps under usage restrictions (for example some .ie names) also end as unknown, with the registry's message in error. Unknown rows are not charged.

Why are some dates or the registrar empty? Some registries publish less. DENIC (.de) shows no registrar, created or expiry date, SWITCH (.ch, .li) no expiry date, and EURid (.eu) no dates in its public lookup.

How many domains can I check? As many as you like: there is no cap. Lookups run in parallel and are spread over many proxy addresses, while each registry's server gets only a few requests at a time.

Can I schedule it or use the API? Yes. Schedule a run to watch expiry dates, or call it from the API, the CLI or MCP with the same input.

⚠️ Limits

  • The answer is what the registry says at that moment; a free domain can be registered by someone else a minute later.
  • Registries with no public lookup (for example .es) give "unknown"; the DNS hint in error and hasDns is all the actor can add.
  • Each TLD's registry decides what it publishes: registrar, dates and status codes vary by TLD. The row's fields hold no contact details; the optional raw answer (includeRaw) is the registry's text as published, which for some TLDs includes registrant or admin contacts.
  • Subdomains are reduced to the registrable domain (blog.example.co.uk is checked as example.co.uk).

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

No credit card. No setup calls.