Entwickler-Referenz

WHOIS-Lookup API-Dokumentation

WHOIS-Lookup API-Dokumentation: Erhalten Sie WHOIS-Informationen für eine Domain, einschließlich Registrar, Daten und Status.

WHOIS-Lookup

Erhalten Sie WHOIS-Informationen für eine Domain, einschließlich Registrar, Daten und Status.

Datenschutzhinweis: Kontaktinformationen können aufgrund von GDPR und anderen Datenschutzbestimmungen geschwärzt werden. Die API erkennt automatisch, wenn Datenschutz-/Proxy-Services verwendet werden, und gibt ein privacy Objekt mit Erkennungsdetails zurück.
GET /v1/whois 2 Credits

Abfrageparameter

ParameterTypBeschreibung
domain erforderlich string Vollständiger Domainname (z. B. example.com)

Antwort-Felder

FeldTypBeschreibung
registeredbooleanOb Domain registriert ist
registrarstringName des Registrars
created_datestringISO 8601-Erstellungsdatum
expiry_datestringISO 8601-Ablaufdatum
statusarrayEPP-Statuscodes
nameserversarrayAutoritative Nameserver
contactsobjectRegistrant-, Admin-, Tech-, Abrechnungskontakte
privacyobjectDatenschutzschutz-Erkennung

Beispielanfrage

curl "https://domscan.net/v1/whois?domain=github.com"
const response = await fetch(
  "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
from datetime import datetime

response = requests.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"
)

func main() {
    resp, _ := http.Get("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")
response = Net::HTTP.get_response(uri)
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"

Beispielantwort

{
                "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": "admin@example.org" },
                "tech": { "name": "Technical Contact", "email": "tech@example.org" },
                "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 1 base + 1/domain

Massen-WHOIS-Abfrage für mehrere Domains (max. 20 pro Anfrage).

Request Body

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

Antwort-Felder

Feld Typ
results[] object[]
results[] object
results[].domain string
results[].registrar string
results[].created_date string
results[].updated_date string
results[].expiry_date string
results[].nameservers[] string[]
results[].status[] string[]
results[].raw string
meta object
meta.total integer
meta.successful integer
meta.duration_ms integer

Beispielantwort

{
  "results": [
    {
      "domain": "example.com",
      "registrar": "string",
      "created_date": "2026-04-15T12:00:00Z",
      "updated_date": "2026-04-15T12:00:00Z",
      "expiry_date": "2026-04-15T12:00:00Z",
      "nameservers": [
        "string"
      ],
      "status": [
        "string"
      ],
      "raw": "string"
    }
  ],
  "meta": {
    "total": 1,
    "successful": 1,
    "duration_ms": 1
  }
}
GET /v1/rdap

Abfrageparameter

Parameter Typ erforderlich
query string optional
type string optional
domain string optional

Antwort-Felder

Feld 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

Beispielanfrage

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"

Beispielantwort

{
  "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"
  }
}
GET /v1/whois/history

Abfrageparameter

Parameter Typ erforderlich
domain string erforderlich
limit integer optional

Antwort-Felder

Feld Typ
domain string
total_snapshots integer
first_seen string | null
last_seen string | null
snapshots[] object[]
snapshots[] object
snapshots[].id integer
snapshots[].registrar string | null
snapshots[].expiry_date string | null
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
summary object
summary.registrar_changes integer
summary.nameserver_changes integer
summary.expiry_extensions integer
summary.privacy_toggles integer
summary.status_changes integer

Beispielanfrage

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

Beispielantwort

{
  "domain": "example.com",
  "total_snapshots": 1,
  "first_seen": "string",
  "last_seen": "string",
  "snapshots": [
    {
      "id": 1,
      "registrar": "string",
      "expiry_date": "2026-04-15",
      "nameservers": [
        "string"
      ],
      "dnssec": true,
      "transfer_locked": true,
      "privacy_protected": true,
      "snapshot_date": "2026-04-15",
      "changes_from_previous": [
        {
          "field": "string",
          "old_value": "string",
          "new_value": "string"
        }
      ]
    }
  ],
  "summary": {
    "registrar_changes": 1,
    "nameserver_changes": 1,
    "expiry_extensions": 1,
    "privacy_toggles": 1,
    "status_changes": 1
  }
}

Wird von Menschen in großartigen Unternehmen verwendet

VercelLLM PulseOLXCasa ModernaPipeCal.comBeehiivSnykTogglRemoteSprigDeel