Domain Intelligence

Registrar Lookup API: Find a Domain Registrar in WHOIS JSON

Extract registrar data from a normalized WHOIS/RDAP response, identify the registrar of record, capture WHOIS server context, and audit registrar drift across a domain portfolio.

July 2, 202610 min readWHOIS · RDAP · Registrar · Domain Intelligence

Introduction

The registrar is one of the most useful administrative signals in a WHOIS record. It tells you which company currently manages the domain registration, where transfer and renewal operations are likely controlled, and which registrar-side changes deserve review.

WhoisJSON exposes registrar details through the documented WHOIS API endpoint. Query /api/v1/whois, read the registrar object, then combine it with whoisserver, status and nameserver fields for a more complete operational picture.

This article is intentionally narrower than the complete WHOIS JSON field reference. It focuses on registrar lookup, registrar drift and practical extraction patterns, not every WHOIS/RDAP field.

What Is a Registrar Lookup API?

A registrar lookup API accepts a domain name and returns structured data about the registrar of record. In WhoisJSON, registrar lookup is not a separate endpoint. It is a workflow built on top of the WHOIS endpoint.

Endpoint used in this guide: GET /api/v1/whois?domain=example.com. The OpenAPI schema documents registrar as an object with id, name, email, url and phone fields.

The practical job is simple: normalize the registrar fields, store the values that matter to your workflow, and compare future responses against your approved baseline.

Registrar Lookup vs Domain Owner Lookup

Registrar lookup and owner lookup are often mixed together, but they answer different questions.

QuestionField areaReliability notes
Which company manages the registration?registrarUsually available on registered domains, though detail level varies by TLD and source.
Which WHOIS server supplied registry or registrar data?whoisserverUseful for debugging source behavior and parser differences.
Who owns or administrates the domain?contactsOften redacted because of GDPR, privacy services or registrar policy.
Is the domain locked, pending transfer or blocked from deletion?status, statusAnalysisStatus codes require interpretation and can change during transfer or expiry workflows.
Do not promise owner identity. A registrar lookup can identify the registrar of record. It does not prove the current account holder, registrant identity, billing owner or legal domain owner.

Registrar Fields to Read

Start with the registrar object, then add nearby WHOIS/RDAP fields that explain the administrative context around it.

FieldMeaningCommon use
registrar.nameRegistrar name returned by WHOIS or RDAP normalization.Display, baseline comparison, vendor and portfolio checks.
registrar.idRegistrar identifier when available from the source data.Stable matching when names vary.
registrar.emailRegistrar contact email when present.Abuse or support routing hints, not guaranteed.
registrar.urlRegistrar website URL when present.Human review and escalation workflows.
registrar.phoneRegistrar phone number when present.Manual escalation context.
whoisserverWHOIS server associated with the response.Debugging source behavior and comparing registry/registrar outputs.
statusEPP status values returned for the domain.Transfer lock, hold, delete and renewal risk checks.
nameserverNameservers listed in the WHOIS/RDAP response.Compare registrar-side delegation with live DNS checks.

Query Registrar Data with WHOIS

Authenticate with Authorization: TOKEN=YOUR_API_KEY and pass the domain in the domain query parameter.

RequestcURL
curl "https://whoisjson.com/api/v1/whois?domain=example.com" \
  -H "Authorization: TOKEN=YOUR_API_KEY"

The complete response includes many WHOIS fields. A registrar-focused workflow can extract only the administrative subset it needs.

Response fields to extractJSON
{
  "name": "example.com",
  "registered": true,
  "source": "rdap",
  "registrar": {
    "id": "376",
    "name": "Example Registrar, Inc.",
    "email": "[email protected]",
    "url": "https://www.example-registrar.test",
    "phone": "+1.5555550100"
  },
  "whoisserver": "whois.example-registrar.test",
  "status": [
    "clientTransferProhibited"
  ],
  "nameserver": [
    "ns1.example.net",
    "ns2.example.net"
  ]
}

Treat missing nested values as normal. Some registrars and registries return only registrar.name, while others include more contact fields.

How to Interpret Registrar Results

Registrar data is most useful when you compare it against an expected state instead of reading it in isolation.

Expected registrar

The registrar matches your approved provider or the vendor's documented registrar.

Unexpected registrar

Review recent transfers, acquisitions, DNS migrations or unauthorized changes.

Registrar missing details

Keep the name, preserve the raw response, and avoid assuming email or phone will always exist.

Transfer-related status

Combine registrar changes with EPP status codes before flagging transfer or lock risk.

Python Example: Extract Registrar Data

This example queries WHOIS, normalizes the registrar object, and returns a compact record that can be stored in a domain inventory.

registrar_lookup.pyPython
import requests

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://whoisjson.com/api/v1"
HEADERS = {"Authorization": f"TOKEN={API_KEY}"}


def lookup_registrar(domain):
    response = requests.get(
        f"{BASE_URL}/whois",
        params={"domain": domain},
        headers=HEADERS,
        timeout=20,
    )
    response.raise_for_status()
    data = response.json()

    if not data.get("registered"):
        return {
            "domain": domain,
            "registered": False,
            "registrar": None,
        }

    registrar = data.get("registrar") or {}

    return {
        "domain": data.get("name", domain),
        "registered": True,
        "source": data.get("source"),
        "registrar_id": registrar.get("id"),
        "registrar_name": registrar.get("name"),
        "registrar_email": registrar.get("email"),
        "registrar_url": registrar.get("url"),
        "registrar_phone": registrar.get("phone"),
        "whoisserver": data.get("whoisserver"),
        "status": data.get("status") or [],
        "nameservers": data.get("nameserver") or [],
    }


print(lookup_registrar("example.com"))

Notice the defensive access pattern. Registrar fields are useful, but integrations should not fail when a source omits a nested value.

Node.js Example: Audit Registrar Drift

A common workflow is to store the expected registrar for important domains, then alert when the current registrar no longer matches the baseline.

registrar-drift.mjsNode.js
const API_KEY = "YOUR_API_KEY";
const BASE_URL = "https://whoisjson.com/api/v1";

const expectedRegistrars = new Map([
  ["example.com", "Example Registrar, Inc."],
  ["example.org", "Corporate Registrar LLC"]
]);

async function lookupWhois(domain) {
  const url = new URL(`${BASE_URL}/whois`);
  url.searchParams.set("domain", domain);

  const response = await fetch(url, {
    headers: { Authorization: `TOKEN=${API_KEY}` }
  });

  if (!response.ok) {
    throw new Error(`${domain}: HTTP ${response.status}`);
  }

  return response.json();
}

function normalizeName(value) {
  return String(value || "")
    .trim()
    .replace(/\s+/g, " ")
    .toLowerCase();
}

for (const [domain, expected] of expectedRegistrars) {
  const data = await lookupWhois(domain);
  const current = data.registrar?.name || null;

  const drifted =
    normalizeName(current) !== normalizeName(expected);

  console.log({
    domain,
    registered: Boolean(data.registered),
    expectedRegistrar: expected,
    currentRegistrar: current,
    whoisserver: data.whoisserver || null,
    status: data.status || [],
    drifted
  });
}

For broader inventory work, combine this with the domain inventory API workflow so registrar data sits beside expiry, DNS and SSL state.

Common Registrar Lookup Use Cases

  • Track registrar consistency across owned domains and subsidiaries.
  • Detect unexpected registrar changes on critical domains.
  • Enrich vendor domain reviews with registrar and WHOIS server context.
  • Route abuse or support investigation using registrar contact hints when present.
  • Identify domains that are still managed through consumer registrars instead of an enterprise registrar.
  • Compare registrar-side nameservers with live DNS delegation during migrations.

Limits and Non-Goals

A precise registrar lookup workflow should be clear about what it cannot answer.

It does not register, renew, transfer or buy domains. The WHOIS endpoint returns current registration data; registrar account operations happen outside the API.
It does not prove the domain owner. Registrar data identifies the registrar of record, not the legal owner, billing account or current account holder.
It does not bypass privacy or GDPR redaction. Contact fields may be empty or redacted. Build workflows that tolerate missing contact details.
It is not reverse WHOIS. This guide queries one domain at a time and extracts its registrar. It does not search all domains owned by a person or organization.
It does not create history by itself. Store timestamped snapshots in your own system if you need registrar change history.

FAQ

What is a registrar lookup API?

A registrar lookup API returns structured data about the registrar of record for a domain. With WhoisJSON, use GET /api/v1/whois and read the registrar object from the JSON response.

Which WhoisJSON endpoint returns registrar data?

Use GET /api/v1/whois with the domain query parameter and Authorization: TOKEN=YOUR_API_KEY. Registrar data is returned inside the registrar object when available.

What registrar fields are available?

The documented registrar object can include id, name, email, url and phone. Availability depends on the registry, registrar and source data.

Is registrar lookup the same as owner lookup?

No. Registrar lookup identifies the company that manages the domain registration. Owner or registrant contact data is often redacted and should not be assumed available.

Can I monitor registrar changes over time?

Yes. Query the WHOIS endpoint on a schedule, store registrar snapshots with timestamps, and compare the latest result with your approved baseline.

Conclusion

Registrar lookup is a small but important part of WHOIS intelligence. Query /api/v1/whois, extract registrar fields defensively, and compare the result with the registrar you expect for each domain.

Keep the boundary clear: registrar data helps with audits, drift detection and escalation context. It does not replace ownership records, registrar account access, reverse WHOIS, renewal operations or historical storage.

Find registrar data with WhoisJSON

Query WHOIS/RDAP data in JSON and extract registrar, WHOIS server, status and nameserver fields in one response.

Explore WHOIS APIView Documentation
WHOIS Registrar Data

Query Registrar Data in One API Call

Use normalized WHOIS/RDAP JSON to extract registrar, WHOIS server, status and nameserver fields for domain intelligence workflows.

Registrar objectWHOIS/RDAP normalizationPython and Node.js1,000 free requests/month