Skip to main content
Glama

Newly Registered Domains Search

nrds
Read-onlyIdempotent

Search newly registered domains from the last 60 days by keyword, or browse a single TLD without a keyword (browsing requires a registered account). Covers generic TLDs plus more than 100 country-code TLDs, including second-level registrations such as .com.br, .co.za and .co.id (tld 'br' returns the whole .br family, 'com.br' returns that suffix alone); government, military, education and non-profit categories are not included. Which country-code TLDs you can see depends on your plan; asking for one outside it returns a message saying so. Filter by recency or exact registration dates, registration term, TLD type (generic or country-code), length, character set, sale status, and nameserver; returns the cross-TLD count for each name. New registrations are folded in continuously, typically 15 to 20 minutes after registration. Dates here are day-level, not clock times.

Related tools: whois, dns, ns_reverse, typosquat

Input Schema

NameRequiredDescriptionDefault
nsNoNameserver filter, one value. A domain such as 'cloudflare.com' matches every nameserver host under it; a full host such as 'dana.ns.cloudflare.com' matches that host only.
tldNoFilter by TLD, e.g. 'com', 'ai', or a second-level suffix such as 'com.br'. A two-letter country code also covers its second-level registrations ('br' includes 'com.br').
pageNoPage number for pagination
sortNoSort order
typeNoCharacter set filter
lengthNoDomain name length: '<=15' is 15 characters or fewer, '>15' is 16 or more.
periodNoRegistration term: '1' is one year, '>1' is longer than one year.
excludeNoNegative keywords to exclude
keywordNoSearch term (min 2 chars). Substring matching applies at every length, including 2-character terms.
has_saleNoFilter to domains listed for sale
positionNoKeyword placement in domain name. Default is 'all' (substring match).
tld_typeNoLimit results to country-code TLDs ('cctld', including second-level ones such as 'com.br'; only those your plan includes) or generic TLDs ('gtld'). Omit to include both.
no_hyphenNoExclude hyphenated domains
no_numberNoExclude domains containing numbers
tld_countNoCross-TLD registration count of the name (the prefix_tld_count field): '<=4', '5-20' or '>20'. Domains first seen only hours ago (live rows) carry a count of 1.
days_rangeNoRegistration recency: '0-30' is the last 30 days, '31-60' is 31 to 60 days ago.
exclude_nsNoLeave out domains using these nameservers. Comma-separated, up to 10 values, each matched the same way as ns.
registered_toNoRegistered on or before this date, YYYY-MM-DD. See registered_from.
registered_fromNoRegistered on or after this date, YYYY-MM-DD. Combine with registered_to for a range, or set both to the same day for a single day. Takes precedence over days_range.

Output Schema

NameRequiredDescriptionDefault
dataNo
pageNo
errorNoError message when success is false
totalNoNumber of results on this page
successYes
max_pageNo
total_foundNoTotal matching results across all pages

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed15 schema fields changed
    • changedInput schema / properties / days_range / description
      Previous value: -"Registration recency"New value: +"Registration recency: '0-30' is the last 30 days, '31-60' is 31 to 60 days ago."
    • changedInput schema / properties / days_range / enum
      Previous value: -[
      -  "0-10",
      -  "10-20",
      -  "20+"
      -]New value: +[
      +  "0-30",
      +  "31-60"
      +]
    • addedInput schema / properties / exclude_ns
      Added value: +{
      +  "description": "Leave out domains using these nameservers. Comma-separated, up to 10 values, each matched the same way as ns.",
      +  "type": "string"
      +}
    • changedInput schema / properties / length / description
      Previous value: -"Domain name length filter"New value: +"Domain name length: '<=15' is 15 characters or fewer, '>15' is 16 or more."
    • changedInput schema / properties / length / enum
      Previous value: -[
      -  "<5",
      -  "5-10",
      -  "10-15",
      -  "15+"
      -]New value: +[
      +  "<=15",
      +  ">15"
      +]
    • addedInput schema / properties / ns
      Added value: +{
      +  "description": "Nameserver filter, one value. A domain such as 'cloudflare.com' matches every nameserver host under it; a full host such as 'dana.ns.cloudflare.com' matches that host only.",
      +  "type": "string"
      +}
    • changedInput schema / properties / period / description
      Previous value: -"Registration term length in years"New value: +"Registration term: '1' is one year, '>1' is longer than one year."
    • changedInput schema / properties / period / enum
      Previous value: -[
      -  "1",
      -  "2-5",
      -  "6+"
      -]New value: +[
      +  "1",
      +  ">1"
      +]
    • addedInput schema / properties / registered_from
      Added value: +{
      +  "description": "Registered on or after this date, YYYY-MM-DD. Combine with registered_to for a range, or set both to the same day for a single day. Takes precedence over days_range.",
      +  "type": "string"
      +}
    • addedInput schema / properties / registered_to
      Added value: +{
      +  "description": "Registered on or before this date, YYYY-MM-DD. See registered_from.",
      +  "type": "string"
      +}
    • addedInput schema / properties / tld_count
      Added value: +{
      +  "description": "Cross-TLD registration count of the name (the prefix_tld_count field): '<=4', '5-20' or '>20'. Domains first seen only hours ago (live rows) carry a count of 1.",
      +  "enum": [
      +    "<=4",
      +    "5-20",
      +    ">20"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / tld_count_max
      Removed value: -{
      -  "description": "Maximum cross-TLD registration count for the name. Integer 0-10000. See tld_count_min.",
      -  "type": "string"
      -}
    • removedInput schema / properties / tld_count_min
      Removed value: -{
      -  "description": "Minimum cross-TLD registration count for the name. Integer 0-10000. Combine with tld_count_max for a range; set both equal for an exact count. Matches the prefix_tld_count field in results. Domains first seen only hours ago (live rows) carry a count of 1.",
      -  "type": "string"
      -}
    • addedInput schema / properties / tld_type
      Added value: +{
      +  "description": "Limit results to country-code TLDs ('cctld', including second-level ones such as 'com.br'; only those your plan includes) or generic TLDs ('gtld'). Omit to include both.",
      +  "enum": [
      +    "gtld",
      +    "cctld"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / data / items / properties / nameservers
      Added value: +{
      +  "description": "Nameserver hosts of the domain. Present on plans that include the ns filter.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / tld / description
      Previous value: -"Filter by TLD, e.g. 'com', 'ai', or a second-level suffix such as 'com.br'. A family country code ('br', 'mx', 'cl', 'gg', 'id', 'my') covers all of its second-level registrations."New value: +"Filter by TLD, e.g. 'com', 'ai', or a second-level suffix such as 'com.br'. A two-letter country code also covers its second-level registrations ('br' includes 'com.br')."
  3. Changed1 schema field changed
    • changedInput schema / properties / tld / description
      Previous value: -"Filter by TLD, e.g. 'com', 'ai', or a second-level suffix such as 'com.br'"New value: +"Filter by TLD, e.g. 'com', 'ai', or a second-level suffix such as 'com.br'. A family country code ('br', 'mx', 'cl', 'gg', 'id', 'my') covers all of its second-level registrations."
  4. Changed1 schema field changed
    • changedInput schema / properties / tld / description
      Previous value: -"Filter by TLD (e.g., 'com', 'ai', 'io')"New value: +"Filter by TLD, e.g. 'com', 'ai', or a second-level suffix such as 'com.br'"
  5. Changed1 schema field changed
    • changedOutput schema / properties / data / items / properties / marketplace / description
      Previous value: -"Sale platform code where the domain is listed: se=Sedo, go=GoDaddy, at=Atom, vn=Venture, pd=PerfectDomain, gn=Gname. Present only when the domain is listed for sale."New value: +"Sale platform code where the domain is listed: se=Sedo, go=GoDaddy, at=Atom, vn=Venture, pd=PerfectDomain, gn=Gname, hu=HugeDomains. Present only when the domain is listed for sale."
  6. Changed2 schema fields changed
    • addedInput schema / properties / tld_count_max
      Added value: +{
      +  "description": "Maximum cross-TLD registration count for the name. Integer 0-10000. See tld_count_min.",
      +  "type": "string"
      +}
    • addedInput schema / properties / tld_count_min
      Added value: +{
      +  "description": "Minimum cross-TLD registration count for the name. Integer 0-10000. Combine with tld_count_max for a range; set both equal for an exact count. Matches the prefix_tld_count field in results. Domains first seen only hours ago (live rows) carry a count of 1.",
      +  "type": "string"
      +}
  7. Changed2 schema fields changed
    • changedInput schema / properties / keyword / description
      Previous value: -"Search term (min 2 chars). IMPORTANT: 2-character keywords match the START of the name only; 'contain' and 'end' are unavailable at this length and total_found will exclude mid-name matches. Use 3+ characters for true substring matching."New value: +"Search term (min 2 chars). Substring matching applies at every length, including 2-character terms."
    • changedInput schema / properties / position / description
      Previous value: -"Keyword placement in domain name. Default is 'all' (substring match). Ignored when keyword is 2 characters (always start)."New value: +"Keyword placement in domain name. Default is 'all' (substring match)."
  8. Changed2 schema fields changed
    • changedInput schema / properties / position / description
      Previous value: -"Keyword placement in domain name. Default is 'contain'. Ignored when keyword is 2 characters (always start)."New value: +"Keyword placement in domain name. Default is 'all' (substring match). Ignored when keyword is 2 characters (always start)."
    • changedInput schema / properties / position / enum
      Previous value: -[
      -  "start",
      -  "end",
      -  "contain"
      -]New value: +[
      +  "start",
      +  "end",
      +  "middle",
      +  "all"
      +]
  9. Changed2 schema fields changed
    • changedInput schema / properties / keyword / description
      Previous value: -"Search term (min 2 chars)"New value: +"Search term (min 2 chars). IMPORTANT: 2-character keywords match the START of the name only; 'contain' and 'end' are unavailable at this length and total_found will exclude mid-name matches. Use 3+ characters for true substring matching."
    • changedInput schema / properties / position / description
      Previous value: -"Keyword placement in domain name"New value: +"Keyword placement in domain name. Default is 'contain'. Ignored when keyword is 2 characters (always start)."
  10. Added

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only annotations, the description discloses freshness ('15 to 20 minutes after registration'), date granularity ('day-level, not clock times'), plan-based visibility of ccTLDs, and the error behavior when a plan-excluded TLD is requested. These are valuable operational details not captured in structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and then adds detail in a logical order, but it is somewhat long. Every sentence contributes useful information, though a few details (e.g., TLD category exclusions) could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (19 parameters) and the presence of an output schema, the description covers all essential context: TLD scope, plan limitations, data freshness, date granularity, and available filters. Nothing critical is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter is already fully documented. The description provides a high-level summary of available filters but adds no syntax or format details beyond what the schema provides, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Search') and resource ('newly registered domains from the last 60 days') with clear scope. It distinguishes itself from generic search tools by emphasizing recency, but does not explicitly name which sibling tools (e.g., 'active', 'aged') are alternatives for different time windows.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains two usage modes (keyword search or TLD browsing) and notes that browsing requires a registered account. However, it gives no explicit when-to-use vs alternatives among the many sibling tools, leaving the agent to infer selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.