Domain Research API

Free access to domain intelligence data for qualified researchers and brand protection professionals. Apply via the contact button; approved applicants receive an API key bound to their IP range.

Overview

Two API services are available:

NRDS Search API

Search and analyze newly registered gTLD domains within the past 30 days. Supports brand impersonation monitoring, registration pattern analysis, and research on newly registered names.

Base URLhttps://api.brandargus.com/v1/nrds-search
Domain TypesMajor gTLDs (com, net, org, info, xyz, etc.)
Time WindowRolling 30 days
Update FrequencyDaily

NS Reverse Lookup API

Identify all gTLD domains hosted under a specific nameserver infrastructure. Supports infrastructure correlation and portfolio mapping.

Base URLhttps://api.brandargus.com/v1/ns-reverse
Data ScopeActive domains (daily snapshot)
Update FrequencyDaily
Quick Start
# NRDS: search domains containing "nike"
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.brandargus.com/v1/nrds-search/domains?keyword=nike&tld=com"

# NS Reverse: find domains on a nameserver
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.brandargus.com/v1/ns-reverse/domains?ns=ns1.example.com"

Authentication

All API requests require a Bearer token in the Authorization header. Your client IP must also be within the pre-authorized range.

IP Whitelist

IP FormatSingle IP (e.g., 203.0.113.50) or CIDR range (e.g., 203.0.113.0/24)
IP ChangesContact support. Changes may take up to 24 hours.
Dynamic IPNot supported. Use a VPN or cloud server with static IP.
Authentication Header
Authorization: Bearer <your-api-key>

Rate Limiting

Requests per minute120
Recommended interval1 request per second

Exceeding the limit returns a 429 Too Many Requests error.

Response Headers

X-RateLimit-LimitMaximum requests per minute
X-RateLimit-RemainingRemaining requests in current window
X-RateLimit-ResetUnix timestamp when the rate limit resets
Rate Limit Response
HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1706284800

{
  "error": "rate limit exceeded"
}

Error Codes

CodeTypeDescription
400HTTPInvalid parameter, malformed cursor, or bad request
401HTTPMissing or invalid API key
403HTTPIP address not in allowed range
429HTTPRate limit exceeded
500HTTPInternal server error
Error Response
{
  "error": "ip not in allowed range"
}
GEThttps://api.brandargus.com/v1/nrds-search/domains

Search newly registered domains with flexible filtering and cursor-based pagination. Results are returned in database order.

Parameters

ParameterTypeDefaultDescription
keywordstring-Search keyword in domain prefix (case-insensitive)
matchstringcontainsMatch type: contains, prefix, suffix
tldstringallFilter by TLD (e.g., com, net, org)
reg_datestring-Filter by exact registration date (YYYY-MM-DD). Shorthand for reg_after + reg_before on the same day.
reg_afterstring-Registration date from, inclusive (YYYY-MM-DD)
reg_beforestring-Registration date to, inclusive (YYYY-MM-DD)
pure_numberbool-If true, only pure numeric domains. If false, exclude them.
has_numberbool-If true, must contain numbers. If false, must not.
has_hyphenbool-If true, must contain hyphens. If false, must not.
pure_alphaboolfalseOnly alphabetical domains [a-z]
min_lenint-Minimum domain prefix length
max_lenint-Maximum domain prefix length
limitint100Results per page (max: 1000)
cursorstring-Pagination cursor from previous response
Request
curl -H "Authorization: Bearer sk-xxx" \
  "https://api.brandargus.com/v1/nrds-search/domains?\
keyword=nike&tld=com&limit=100"

# Pagination
curl -H "Authorization: Bearer sk-xxx" \
  "https://api.brandargus.com/v1/nrds-search/domains?\
keyword=nike&cursor=eyJvZmZzZXQiOjEwMH0"

# Hyphenated variants
curl -H "Authorization: Bearer sk-xxx" \
  "https://api.brandargus.com/v1/nrds-search/domains?\
keyword=nike&has_hyphen=true"

# Filter by exact registration date
curl -H "Authorization: Bearer sk-xxx" \
  "https://api.brandargus.com/v1/nrds-search/domains?\
reg_date=2026-04-07&tld=com"

# Short alphabetical domains
curl -H "Authorization: Bearer sk-xxx" \
  "https://api.brandargus.com/v1/nrds-search/domains?\
pure_alpha=true&min_len=3&max_len=6"
Response
{
  "matched": 1542,
  "returned": 100,
  "next_cursor": "eyJvZmZzZXQiOjEwMH0",
  "domains": [
    {
      "domain": "nike-outlet-store.com",
      "reg_date": "2026-01-25",
      "exp_date": "2027-01-25",
      "ns": "ns1.example.com;ns2.example.com"
    }
  ]
}

NRDS: Count Domains

GEThttps://api.brandargus.com/v1/nrds-search/domains/count

Count matching domains without returning the full result set. Accepts the same filtering parameters as Search (except limit and cursor).

Request
curl -H "Authorization: Bearer sk-xxx" \
  "https://api.brandargus.com/v1/nrds-search/domains/count?\
keyword=nike"
Response
{
  "matched": 15432
}

NRDS: Export Domains

GEThttps://api.brandargus.com/v1/nrds-search/domains/export

Download matching domains as a CSV file. Accepts the same filtering parameters as Search (except limit and cursor).

Response Headers

Content-Typetext/csv; charset=utf-8
Content-Dispositionattachment; filename=nrds-export.csv
Request
curl -H "Authorization: Bearer sk-xxx" \
  "https://api.brandargus.com/v1/nrds-search/domains/export?\
keyword=nike&tld=com" \
  -o domains.csv
Response (CSV)
domain,reg_date,exp_date,ns
nike-outlet.com,2026-01-25,2027-01-25,ns1.host.com;ns2.host.com
mynike-store.com,2026-01-24,2027-01-24,ns1.reg.com;ns2.reg.com

NRDS: Health Check

GEThttps://api.brandargus.com/v1/nrds-search/health

Check API service status and data freshness. No authentication required.

Response
{
  "status": "ok",
  "updated_at": "2026-01-26T02:30:00Z"
}

NS Reverse: Domain Count

GEThttps://api.brandargus.com/v1/ns-reverse/domains/count

Retrieve the total number of domains hosted under a specific nameserver.

ParameterTypeDefaultDescription
nsREQUIREDstring-Nameserver FQDN (e.g., ns1.example.com)
Request
curl -H "Authorization: Bearer sk-xxx" \
  "https://api.brandargus.com/v1/ns-reverse/domains/count?\
ns=ns1.example.com"
Response
{
  "ns": "ns1.example.com",
  "total": 125432
}
GEThttps://api.brandargus.com/v1/ns-reverse/domains

Query domains hosted under a specific nameserver with filtering and cursor-based pagination.

Parameters

ParameterTypeDefaultDescription
nsREQUIREDstring-Nameserver FQDN (e.g., ns1.example.com)
limitint100Results per page (max: 1000)
cursorstring-Pagination cursor from previous response
tldstringallFilter by TLD (e.g., com, net)
keywordstring-Filter by keyword in domain prefix (case-insensitive)
matchstringcontainsMatch type: contains, prefix, suffix
has_numberbool-If true, must contain numbers. If false, must not.
has_hyphenbool-If true, must contain hyphens. If false, must not.
pure_alphaboolfalseOnly alphabetical domains [a-z]
min_lenint-Minimum domain prefix length
max_lenint-Maximum domain prefix length
reg_datestring-Filter by exact registration date (YYYY-MM-DD). Shorthand for reg_after + reg_before on the same day.
reg_afterstring-Registration date from, inclusive (YYYY-MM-DD)
reg_beforestring-Registration date to, inclusive (YYYY-MM-DD)
Request
curl -H "Authorization: Bearer sk-xxx" \
  "https://api.brandargus.com/v1/ns-reverse/domains?\
ns=ns1.example.com&tld=com&limit=100"

# Search by keyword
curl -H "Authorization: Bearer sk-xxx" \
  "https://api.brandargus.com/v1/ns-reverse/domains?\
ns=ns1.example.com&keyword=bank&match=prefix"

# Filter by exact registration date
curl -H "Authorization: Bearer sk-xxx" \
  "https://api.brandargus.com/v1/ns-reverse/domains?\
ns=ns1.example.com&reg_date=2025-06-15"

# Filter by registration date range
curl -H "Authorization: Bearer sk-xxx" \
  "https://api.brandargus.com/v1/ns-reverse/domains?\
ns=ns1.example.com&reg_after=2025-01-01&reg_before=2025-12-31"
Response
{
  "ns": "ns1.example.com",
  "total": 125432,
  "returned": 100,
  "next_cursor": "eyJvZmZzZXQiOjEwMH0",
  "domains": [
    "example.com",
    "domainkits.com",
    "brandargus.com"
  ]
}

NS Reverse: Export Domains

GEThttps://api.brandargus.com/v1/ns-reverse/domains/export

Download all domains as a CSV file. Supports the same filtering parameters as Query (except limit and cursor).

Response Headers

Content-Typetext/csv; charset=utf-8
Content-Dispositionattachment; filename=ns1_example_com.csv
Request
curl -H "Authorization: Bearer sk-xxx" \
  "https://api.brandargus.com/v1/ns-reverse/domains/export?\
ns=ns1.example.com&tld=com&pure_alpha=true" \
  -o filtered.csv
Response (CSV)
domain,reg_date
example.com,2024-05-15
domainkits.com,2023-11-20
brandargus.com,

NS Reverse: Health Check

GEThttps://api.brandargus.com/v1/ns-reverse/health

Check API service status and data freshness. No authentication required.

Response
{
  "status": "ok",
  "updated_at": "2026-01-23T20:30:00Z"
}

Changelog

v1.0.22026-04-07
  • Added reg_date parameter for single-day queries (both APIs)
  • Fixed NS Reverse date filtering: reg_after/reg_before are now fully inclusive at day level
  • Documented inclusive behavior for all date parameters
v1.0.12026-02-04
  • Added reg_after/reg_before date filtering for NS Reverse Lookup API
v1.0.02026-01-27
  • Initial release: NRDS Search API and NS Reverse Lookup API

Terms of Use

BrandArgus.com is operated by Lyalpha GmbH. API access is granted exclusively for legitimate protection and research purposes.

Permitted Use

Restrictions

GDPR Compliance

Data MinimizationNo PII of domain registrants is provided
Log AnonymizationRequesting IPs are anonymized (last two octets masked)
Retention PeriodAccess logs retained for max 90 days
Account TerminationAll logs deleted within 30 days upon request

Free Beta Access

This API is provided free of charge for research purposes. We welcome bug reports, feature suggestions, and feedback on data quality.

General terms: see our Terms of Service. Privacy: Privacy Policy. Legal disclosure: Imprint.