Dokumentacja dla deweloperów

Wyszukiwanie WHOIS

DomScan API do analizy domen: Otrzymuj informacje WHOIS dla domeny, w tym rejestrator, daty i status.

Wyszukiwanie WHOIS

Otrzymuj informacje WHOIS dla domeny, w tym rejestrator, daty i status.

Uwaga dotycząca prywatności: Dane kontaktowe mogą być ukryte ze względu na RODO i inne przepisy dotyczące prywatności. API automatycznie wykrywa użycie usług prywatności lub proxy i zwraca obiekt privacy ze szczegółami wykrycia.
GET /v1/whois 2 Kredyty

Parametry zapytania

ParametrTypOpis
domain wymagane string Pełna nazwa domeny, np. example.com

Odpowiedź Fields

PoleTypOpis
registeredbooleanCzy domena jest zarejestrowana
registrarstringNazwa rejestratora
created_datestringData utworzenia w formacie ISO 8601
expiry_datestringData wygaśnięcia w formacie ISO 8601
statusarrayKody statusu EPP
nameserversarrayAutorytatywne serwery nazw
contactsobjectKontakty abonenta, administracyjne, techniczne i rozliczeniowe
privacyobjectWykrywanie ochrony prywatności

Przykład Request

curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/whois?domain=github.com"
const domscanFetch = (url, options = {}) =>
  fetch(url, {
    ...options,
    headers: { ...options.headers, "X-API-Key": "your-api-key" },
  });

const response = await domscanFetch(
  "https://domscan.net/v1/whois?domain=github.com"
);
const data = await response.json();

console.log(`Registrar: ${data.registrar}`);
console.log(`Created: ${data.created_date}`);
console.log(`Expires: ${data.expiry_date}`);
console.log(`Nameservers: ${data.nameservers.join(', ')}`);

// Check for privacy protection
if (data.privacy.is_private) {
  console.log(`Privacy service: ${data.privacy.privacy_service}`);
}
import requests

domscan = requests.Session()
domscan.headers.update({"X-API-Key": "your-api-key"})

from datetime import datetime

response = domscan.get(
    "https://domscan.net/v1/whois",
    params={"domain": "github.com"}
)
data = response.json()

# Calculate days until expiration
expiry = datetime.fromisoformat(data['expiry_date'].replace('Z', '+00:00'))
days_left = (expiry - datetime.now(expiry.tzinfo)).days

print(f"Registrar: {data['registrar']}")
print(f"Expires in {days_left} days")
print(f"Privacy protected: {data['privacy']['is_private']}")
package main

import (
  "encoding/json"
  "fmt"
  "net/http"
  "os"
)

func domscanGet(url string) (*http.Response, error) {
  request, err := http.NewRequest(http.MethodGet, url, nil)
  if err != nil {
    return nil, err
  }
  request.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))
  return http.DefaultClient.Do(request)
}

func main() {
  resp, _ := domscanGet("https://domscan.net/v1/whois?domain=github.com")
  defer resp.Body.Close()

  var data map[string]interface{}
  json.NewDecoder(resp.Body).Decode(&data)

  fmt.Printf("Registrar: %s\n", data["registrar"])
  fmt.Printf("Created: %s\n", data["created_date"])
  fmt.Printf("Expires: %s\n", data["expiry_date"])
}
require 'net/http'
require 'json'
require 'date'

uri = URI("https://domscan.net/v1/whois?domain=github.com")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) }
data = JSON.parse(response.body)

expiry = DateTime.parse(data['expiry_date'])
days_left = (expiry - DateTime.now).to_i

puts "Registrar: #{data['registrar']}"
puts "Expires in #{days_left} days"

Example Odpowiedź

{
                "domain": "example.com",
                "registered": true,
                "registrar": "RESERVED-Internet Assigned Numbers Authority",
                "registrar_url": "https://www.iana.org",
                "registrar_iana_id": "376",
                "created_date": "1995-08-14T04:00:00Z",
                "updated_date": "2023-08-14T07:01:38Z",
                "expiry_date": "2024-08-13T04:00:00Z",
                "status": ["clientDeleteProhibited", "serverUpdateProhibited"],
                "nameservers": ["a.iana-servers.net", "b.iana-servers.net"],
                "dnssec": true,
                "contacts": {
                "registrant": {
                "name": "REDACTED FOR PRIVACY",
                "organization": "Internet Assigned Numbers Authority",
                "email": null,
                "phone": null,
                "address": {
                "country": "US"
                },
                "role": "registrant"
                },
                "admin": { "name": "Domain Administrator", "email": "[email protected]" },
                "tech": { "name": "Technical Contact", "email": "[email protected]" },
                "billing": null
                },
                "privacy": {
                "is_private": false,
                "privacy_service": null,
                "detected_patterns": []
                },
                "summary": {
                "has_registrant": true,
                "has_admin": true,
                "has_tech": true,
                "has_billing": false,
                "contact_count": 3,
                "is_privacy_protected": false
                },
                "raw_rdap_link": "https://rdap.verisign.com/com/v1/domain/example.com",
                "checked_at": "2025-01-07T10:30:00Z",
                "query_time_ms": 145
                }
POST /v1/whois/bulk 2/domain

Zbiorcze wyszukiwanie WHOIS dla wielu domen, maksymalnie 20 w jednym żądaniu.

Treść żądania

{
                "domains": ["example.com", "google.com", "github.com"]
                }

Odpowiedź Fields

Pole Typ
results[] object[]
results[] object
results[].domain string
results[].registered boolean | null
results[].available boolean | null
results[].registrar string | null
results[].registrar_url string | null
results[].registrar_iana_id string | null
results[].created_date string | null
results[].updated_date string | null
results[].expiry_date string | null
results[].domain_age_days integer | null
results[].domain_age_years integer | null
results[].is_newly_registered boolean
results[].days_until_expiry integer | null
results[].transfer_locked boolean
results[].nameservers[] string[]
results[].status[] string[]
results[].dnssec boolean
results[].contacts object
results[].contacts.registrant object
results[].contacts.registrant.name string | null
results[].contacts.registrant.organization string | null
results[].contacts.registrant.email string | null
results[].contacts.registrant.phone string | null
results[].contacts.registrant.fax string | null
results[].contacts.registrant.address object
results[].contacts.registrant.address.street string | null
results[].contacts.registrant.address.city string | null
results[].contacts.registrant.address.state string | null
results[].contacts.registrant.address.postal_code string | null
results[].contacts.registrant.address.country string | null
results[].contacts.registrant.role string
results[].contacts.admin object
results[].contacts.admin.name string | null
results[].contacts.admin.organization string | null
results[].contacts.admin.email string | null
results[].contacts.admin.phone string | null
results[].contacts.admin.fax string | null
results[].contacts.admin.address object
results[].contacts.admin.address.street string | null
results[].contacts.admin.address.city string | null
results[].contacts.admin.address.state string | null
results[].contacts.admin.address.postal_code string | null
results[].contacts.admin.address.country string | null
results[].contacts.admin.role string
results[].contacts.tech object
results[].contacts.tech.name string | null
results[].contacts.tech.organization string | null
results[].contacts.tech.email string | null
results[].contacts.tech.phone string | null
results[].contacts.tech.fax string | null
results[].contacts.tech.address object
results[].contacts.tech.address.street string | null
results[].contacts.tech.address.city string | null
results[].contacts.tech.address.state string | null
results[].contacts.tech.address.postal_code string | null
results[].contacts.tech.address.country string | null
results[].contacts.tech.role string
results[].contacts.billing object
results[].contacts.billing.name string | null
results[].contacts.billing.organization string | null
results[].contacts.billing.email string | null
results[].contacts.billing.phone string | null
results[].contacts.billing.fax string | null
results[].contacts.billing.address object
results[].contacts.billing.address.street string | null
results[].contacts.billing.address.city string | null
results[].contacts.billing.address.state string | null
results[].contacts.billing.address.postal_code string | null
results[].contacts.billing.address.country string | null
results[].contacts.billing.role string
results[].privacy object
results[].privacy.is_private boolean
results[].privacy.privacy_service string | null
results[].privacy.detected_patterns[] string[]
results[].raw_rdap_link string | null
results[].raw_whois string | null
results[].abuse_contact object | null
results[].registry_domain_id string | null
results[].registrar_whois_server string | null
results[].traditional_contacts object
results[].nameserver_ips[] object[]
results[].nameserver_ips[] object
results[].nameserver_ips[].name string
results[].nameserver_ips[].ipv4 string | null
results[].nameserver_ips[].ipv6 string | null
results[].checked_at string
results[].query_time_ms integer
results[].summary object
results[].edge_summary object
results[].edge_summary.relay_configured boolean
results[].edge_summary.data_sources[] string[]
results[].edge_summary.authoritative_source string
results[].edge_summary.relay_whois_used boolean
results[].edge_summary.raw_whois_available boolean
results[].edge_summary.parse_error_count integer | null
results[].edge_summary.registered boolean | null
results[].edge_summary.available boolean | null
results[].edge_summary.registration_age_days integer | null
results[].edge_summary.days_until_expiry integer | null
results[].edge_summary.expires_within_30_days boolean | null
results[].edge_summary.transfer_locked boolean | null
results[].edge_summary.privacy_protected boolean | null
results[].edge_summary.dnssec boolean | null
results[].edge_summary.nameserver_count integer
results[].edge_summary.contact_roles_available[] string[]
results[].edge_summary.abuse_contact_available boolean
results[].edge_summary.registrar_whois_server string | null
results[].meta object
meta object
meta.total integer
meta.successful integer
meta.duration_ms integer

Example Odpowiedź

{
  "results": [
    {
      "domain": "example.com",
      "registered": true,
      "available": true,
      "registrar": "string",
      "registrar_url": "https://example.com",
      "registrar_iana_id": "string",
      "created_date": "2026-04-15T12:00:00Z",
      "updated_date": "2026-04-15T12:00:00Z",
      "expiry_date": "2026-04-15T12:00:00Z",
      "domain_age_days": "example.com",
      "domain_age_years": "example.com",
      "is_newly_registered": true,
      "days_until_expiry": 1,
      "transfer_locked": true,
      "nameservers": [
        "string"
      ],
      "status": [
        "string"
      ],
      "dnssec": true,
      "contacts": {
        "registrant": {
          "name": "string",
          "organization": "string",
          "email": "[email protected]",
          "phone": "string",
          "fax": "string",
          "address": {
            "street": "string",
            "city": "string",
            "state": "string",
            "postal_code": "string",
            "country": "string"
          },
          "role": "string"
        },
        "admin": {
          "name": "string",
          "organization": "string",
          "email": "[email protected]",
          "phone": "string",
          "fax": "string",
          "address": {
            "street": "string",
            "city": "string",
            "state": "string",
            "postal_code": "string",
            "country": "string"
          },
          "role": "string"
        },
        "tech": {
          "name": "string",
          "organization": "string",
          "email": "[email protected]",
          "phone": "string",
          "fax": "string",
          "address": {
            "street": "string",
            "city": "string",
            "state": "string",
            "postal_code": "string",
            "country": "string"
          },
          "role": "string"
        },
        "billing": {
          "name": "string",
          "organization": "string",
          "email": "[email protected]",
          "phone": "string",
          "fax": "string",
          "address": {
            "street": "string",
            "city": "string",
            "state": "string",
            "postal_code": "string",
            "country": "string"
          },
          "role": "string"
        }
      },
      "privacy": {
        "is_private": true,
        "privacy_service": "string",
        "detected_patterns": [
          "string"
        ]
      },
      "raw_rdap_link": "string",
      "raw_whois": "string",
      "abuse_contact": {},
      "registry_domain_id": "example.com",
      "registrar_whois_server": "string",
      "traditional_contacts": {},
      "nameserver_ips": [
        {
          "name": "string",
          "ipv4": "198.51.100.10",
          "ipv6": "198.51.100.10"
        }
      ],
      "checked_at": "2026-04-15T12:00:00Z",
      "query_time_ms": "2026-04-15T12:00:00Z",
      "summary": {},
      "edge_summary": {
        "relay_configured": true,
        "data_sources": [
          "rdap"
        ],
        "authoritative_source": "rdap",
        "relay_whois_used": true,
        "raw_whois_available": true,
        "parse_error_count": 1,
        "registered": true,
        "available": true,
        "registration_age_days": 1,
        "days_until_expiry": 1,
        "expires_within_30_days": true,
        "transfer_locked": true,
        "privacy_protected": true,
        "dnssec": true,
        "nameserver_count": 1,
        "contact_roles_available": [
          "string"
        ],
        "abuse_contact_available": true,
        "registrar_whois_server": "string"
      },
      "meta": {}
    }
  ],
  "meta": {
    "total": 1,
    "successful": 1,
    "duration_ms": 1
  }
}
GET /v1/rdap

Parametry zapytania

Parametr Typ wymagane
query string opcjonalne
type string
Dozwolone wartości domainipautnum
opcjonalne
domain string opcjonalne

Odpowiedź Fields

Pole Typ
query string
type string
status string
rdap object
rdap.objectClassName string
rdap.handle string
rdap.name string
rdap.startAddress string
rdap.endAddress string
rdap.ipVersion string

Przykład Request

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/rdap?query=example.com"

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/rdap?type=ip&query=8.8.8.8"

curl -G -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/rdap" \
  --data "type=ip" \
  --data-urlencode "query=2001:4860:4860::8888/128"

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/rdap?type=autnum&query=AS174"

Example Odpowiedź

{
  "query": "8.8.8.8",
  "type": "ip",
  "status": "found",
  "rdap": {
    "objectClassName": "ip network",
    "handle": "NET-8-8-8-0-2",
    "name": "LVLT-GOGL-8-8-8",
    "startAddress": "8.8.8.0",
    "endAddress": "8.8.8.255",
    "ipVersion": "v4"
  }
}
POST /v1/rdap/bulk

Parametry treści

Parametr Typ wymagane
queries string[] wymagane
type string
Dozwolone wartości domainipautnum
Domyślnie domain
opcjonalne

Odpowiedź Fields

Pole Typ
results[] unknown[]
meta object
meta.total integer
meta.succeeded integer
meta.failed integer
meta.max_items integer
meta.credits_per_item integer
meta.duration_ms integer

Przykład Request

curl -X POST "https://domscan.net/v1/rdap/bulk" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $DOMSCAN_API_KEY" \
  -d '{
  "queries": [
    "example.com",
    "cloudflare.com"
  ],
  "type": "domain"
}'

Example Odpowiedź

{
  "results": [
    null
  ],
  "meta": {
    "total": 1,
    "succeeded": 1,
    "failed": 1,
    "max_items": 10,
    "credits_per_item": 1,
    "duration_ms": 1
  }
}
GET /v1/whois/history

Parametry zapytania

Parametr Typ wymagane
domain string wymagane
limit integer
Domyślnie 50
opcjonalne

Odpowiedź Fields

Pole Typ
domain string
total_snapshots integer
first_seen string | null
last_seen string | null
snapshots[] object[]
snapshots[] object
snapshots[].id integer
snapshots[].domain string
snapshots[].registrar string | null
snapshots[].registrar_iana_id string | null
snapshots[].created_date string | null
snapshots[].expiry_date string | null
snapshots[].updated_date string | null
snapshots[].status[] string[]
snapshots[].nameservers[] string[]
snapshots[].dnssec boolean
snapshots[].transfer_locked boolean
snapshots[].privacy_protected boolean
snapshots[].snapshot_date string
snapshots[].changes_from_previous[] object[]
snapshots[].changes_from_previous[] object
snapshots[].changes_from_previous[].field string
snapshots[].changes_from_previous[].old_value string | null
snapshots[].changes_from_previous[].new_value string | null
snapshots[].created_at string
summary object
summary.registrar_changes integer
summary.nameserver_changes integer
summary.expiry_extensions integer
summary.privacy_toggles integer
summary.status_changes integer
lifecycle_drift_summary object
lifecycle_drift_summary.drift_detected boolean
lifecycle_drift_summary.change_event_count integer
lifecycle_drift_summary.latest_change_date string | null
lifecycle_drift_summary.registrar_changed boolean
lifecycle_drift_summary.nameservers_changed boolean
lifecycle_drift_summary.expiry_extended boolean
lifecycle_drift_summary.status_changed boolean
lifecycle_drift_summary.privacy_changed boolean
lifecycle_drift_summary.transfer_lock_changed boolean
lifecycle_drift_summary.dnssec_changed boolean
lifecycle_drift_summary.expiry_extension_days_total integer
lifecycle_drift_summary.latest_changes[] object[]
lifecycle_drift_summary.latest_changes[] object
lifecycle_drift_summary.latest_changes[].field string
lifecycle_drift_summary.latest_changes[].old_value string | null
lifecycle_drift_summary.latest_changes[].new_value string | null
lifecycle_drift_summary.current_snapshot object
lifecycle_drift_summary.current_snapshot.registrar string | null
lifecycle_drift_summary.current_snapshot.expiry_date string | null
lifecycle_drift_summary.current_snapshot.nameservers[] string[]
lifecycle_drift_summary.current_snapshot.status[] string[]
lifecycle_drift_summary.current_snapshot.privacy_protected boolean
lifecycle_drift_summary.previous_snapshot object
lifecycle_drift_summary.previous_snapshot.registrar string | null
lifecycle_drift_summary.previous_snapshot.expiry_date string | null
lifecycle_drift_summary.previous_snapshot.nameservers[] string[]
lifecycle_drift_summary.previous_snapshot.status[] string[]
lifecycle_drift_summary.previous_snapshot.privacy_protected boolean

Przykład Request

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/whois/history?domain=example.com&limit=50"

Example Odpowiedź

{
  "domain": "example.com",
  "total_snapshots": 1,
  "first_seen": "2026-07-09",
  "last_seen": "2026-07-09",
  "snapshots": [
    {
      "id": 42,
      "domain": "example.com",
      "registrar": "Example Registrar, Inc.",
      "registrar_iana_id": "9999",
      "created_date": "1995-08-14T04:00:00Z",
      "expiry_date": "2027-08-13T04:00:00Z",
      "updated_date": "2026-06-01T12:00:00Z",
      "status": [
        "client transfer prohibited"
      ],
      "nameservers": [
        "a.iana-servers.net",
        "b.iana-servers.net"
      ],
      "dnssec": true,
      "transfer_locked": true,
      "privacy_protected": true,
      "snapshot_date": "2026-07-09",
      "changes_from_previous": [
        {
          "field": "nameservers",
          "old_value": "ns1.example.net, ns2.example.net",
          "new_value": "a.iana-servers.net, b.iana-servers.net"
        }
      ],
      "created_at": "2026-07-09T10:15:30Z"
    }
  ],
  "summary": {
    "registrar_changes": 1,
    "nameserver_changes": 1,
    "expiry_extensions": 1,
    "privacy_toggles": 1,
    "status_changes": 1
  },
  "lifecycle_drift_summary": {
    "drift_detected": true,
    "change_event_count": 1,
    "latest_change_date": "2026-04-15",
    "registrar_changed": true,
    "nameservers_changed": true,
    "expiry_extended": true,
    "status_changed": true,
    "privacy_changed": true,
    "transfer_lock_changed": true,
    "dnssec_changed": true,
    "expiry_extension_days_total": 1,
    "latest_changes": [
      {
        "field": "string",
        "old_value": "string",
        "new_value": "string"
      }
    ],
    "current_snapshot": {
      "registrar": "string",
      "expiry_date": "2026-04-15T12:00:00Z",
      "nameservers": [
        "string"
      ],
      "status": [
        "string"
      ],
      "privacy_protected": true
    },
    "previous_snapshot": {
      "registrar": "string",
      "expiry_date": "2026-04-15T12:00:00Z",
      "nameservers": [
        "string"
      ],
      "status": [
        "string"
      ],
      "privacy_protected": true
    }
  }
}
GET /v2/whois

Parametry zapytania

Parametr Typ wymagane
domain string wymagane

Odpowiedź Fields

Pole Typ
domain string
registered boolean | null
available boolean | null
registrar string | null
registrar_url string | null
registrar_iana_id string | null
created_date string | null
updated_date string | null
expiry_date string | null
domain_age_days integer | null
domain_age_years integer | null
is_newly_registered boolean
days_until_expiry integer | null
transfer_locked boolean
nameservers[] string[]
status[] string[]
dnssec boolean
contacts object
contacts.registrant object
contacts.registrant.name string | null
contacts.registrant.organization string | null
contacts.registrant.email string | null
contacts.registrant.phone string | null
contacts.registrant.fax string | null
contacts.registrant.address object
contacts.registrant.address.street string | null
contacts.registrant.address.city string | null
contacts.registrant.address.state string | null
contacts.registrant.address.postal_code string | null
contacts.registrant.address.country string | null
contacts.registrant.role string
contacts.admin object
contacts.admin.name string | null
contacts.admin.organization string | null
contacts.admin.email string | null
contacts.admin.phone string | null
contacts.admin.fax string | null
contacts.admin.address object
contacts.admin.address.street string | null
contacts.admin.address.city string | null
contacts.admin.address.state string | null
contacts.admin.address.postal_code string | null
contacts.admin.address.country string | null
contacts.admin.role string
contacts.tech object
contacts.tech.name string | null
contacts.tech.organization string | null
contacts.tech.email string | null
contacts.tech.phone string | null
contacts.tech.fax string | null
contacts.tech.address object
contacts.tech.address.street string | null
contacts.tech.address.city string | null
contacts.tech.address.state string | null
contacts.tech.address.postal_code string | null
contacts.tech.address.country string | null
contacts.tech.role string
contacts.billing object
contacts.billing.name string | null
contacts.billing.organization string | null
contacts.billing.email string | null
contacts.billing.phone string | null
contacts.billing.fax string | null
contacts.billing.address object
contacts.billing.address.street string | null
contacts.billing.address.city string | null
contacts.billing.address.state string | null
contacts.billing.address.postal_code string | null
contacts.billing.address.country string | null
contacts.billing.role string
privacy object
privacy.is_private boolean
privacy.privacy_service string | null
privacy.detected_patterns[] string[]
raw_rdap_link string | null
raw_whois string | null
abuse_contact object | null
registry_domain_id string | null
registrar_whois_server string | null
traditional_contacts object
nameserver_ips[] object[]
nameserver_ips[] object
nameserver_ips[].name string
nameserver_ips[].ipv4 string | null
nameserver_ips[].ipv6 string | null
checked_at string
query_time_ms integer
summary object
edge_summary object
edge_summary.relay_configured boolean
edge_summary.data_sources[] string[]
edge_summary.authoritative_source string
edge_summary.relay_whois_used boolean
edge_summary.raw_whois_available boolean
edge_summary.parse_error_count integer | null
edge_summary.registered boolean | null
edge_summary.available boolean | null
edge_summary.registration_age_days integer | null
edge_summary.days_until_expiry integer | null
edge_summary.expires_within_30_days boolean | null
edge_summary.transfer_locked boolean | null
edge_summary.privacy_protected boolean | null
edge_summary.dnssec boolean | null
edge_summary.nameserver_count integer
edge_summary.contact_roles_available[] string[]
edge_summary.abuse_contact_available boolean
edge_summary.registrar_whois_server string | null
meta object

Przykład Request

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v2/whois?domain=example.com"

Example Odpowiedź

{
  "domain": "example.com",
  "registered": true,
  "available": true,
  "registrar": "string",
  "registrar_url": "https://example.com",
  "registrar_iana_id": "string",
  "created_date": "2026-04-15T12:00:00Z",
  "updated_date": "2026-04-15T12:00:00Z",
  "expiry_date": "2026-04-15T12:00:00Z",
  "domain_age_days": "example.com",
  "domain_age_years": "example.com",
  "is_newly_registered": true,
  "days_until_expiry": 1,
  "transfer_locked": true,
  "nameservers": [
    "string"
  ],
  "status": [
    "string"
  ],
  "dnssec": true,
  "contacts": {
    "registrant": {
      "name": "string",
      "organization": "string",
      "email": "[email protected]",
      "phone": "string",
      "fax": "string",
      "address": {
        "street": "string",
        "city": "string",
        "state": "string",
        "postal_code": "string",
        "country": "string"
      },
      "role": "string"
    },
    "admin": {
      "name": "string",
      "organization": "string",
      "email": "[email protected]",
      "phone": "string",
      "fax": "string",
      "address": {
        "street": "string",
        "city": "string",
        "state": "string",
        "postal_code": "string",
        "country": "string"
      },
      "role": "string"
    },
    "tech": {
      "name": "string",
      "organization": "string",
      "email": "[email protected]",
      "phone": "string",
      "fax": "string",
      "address": {
        "street": "string",
        "city": "string",
        "state": "string",
        "postal_code": "string",
        "country": "string"
      },
      "role": "string"
    },
    "billing": {
      "name": "string",
      "organization": "string",
      "email": "[email protected]",
      "phone": "string",
      "fax": "string",
      "address": {
        "street": "string",
        "city": "string",
        "state": "string",
        "postal_code": "string",
        "country": "string"
      },
      "role": "string"
    }
  },
  "privacy": {
    "is_private": true,
    "privacy_service": "string",
    "detected_patterns": [
      "string"
    ]
  },
  "raw_rdap_link": "string",
  "raw_whois": "string",
  "abuse_contact": {},
  "registry_domain_id": "example.com",
  "registrar_whois_server": "string",
  "traditional_contacts": {},
  "nameserver_ips": [
    {
      "name": "string",
      "ipv4": "198.51.100.10",
      "ipv6": "198.51.100.10"
    }
  ],
  "checked_at": "2026-04-15T12:00:00Z",
  "query_time_ms": "2026-04-15T12:00:00Z",
  "summary": {},
  "edge_summary": {
    "relay_configured": true,
    "data_sources": [
      "rdap"
    ],
    "authoritative_source": "rdap",
    "relay_whois_used": true,
    "raw_whois_available": true,
    "parse_error_count": 1,
    "registered": true,
    "available": true,
    "registration_age_days": 1,
    "days_until_expiry": 1,
    "expires_within_30_days": true,
    "transfer_locked": true,
    "privacy_protected": true,
    "dnssec": true,
    "nameserver_count": 1,
    "contact_roles_available": [
      "string"
    ],
    "abuse_contact_available": true,
    "registrar_whois_server": "string"
  },
  "meta": {}
}

Używany przez ludzi w niesamowitych firmach

VercelLLM PulseOLXCasa ModernaPipeCal.comBeehiivSnykTogglRemoteSprigDeel