ip-db/whois
REST · JSON · v1

JSON API

Sayfada gördüğünüz kaydın tamamı, tek bir GET isteğiyle, makinenin okuyacağı biçimde. Anahtar, kayıt ya da SDK gerekmez.

GET https://whois.ip-db.com/api/v1/domain/{domain}
Kimlik doğrulama yok IP başına saatte 300 istek JSON · UTF-8 Her yanıt canlı sorgu

Hızlı başlangıç

bir istek, bir kayıt
curl -s https://whois.ip-db.com/api/v1/domain/github.com

# yalnızca kayıt bilgisi, jq ile
curl -s https://whois.ip-db.com/api/v1/domain/github.com | jq '.registration | {registrar, created, expires}'

Bir sorgu registry, DNS, TLS ve HTTPS turlarını canlı yaptığı için genellikle 1–5 saniye sürer; istemci zaman aşımını 30 saniye civarında tutun. Tarayıcıdan başka bir alan adına doğrudan istek (CORS) desteklenmez — API sunucudan sunucuya kullanım içindir.

İstek

GET /api/v1/domain/{domain}
ParametreYerAçıklama
domain zorunlu path Sorgulanacak alan adı. Esnek okunur: https://www.example.com/a?b, info@example.com, example.com. ve Unicode adlar (bücher.de) kabul edilir. Alt alan adları registry’de kayıtlı ada indirgenir.
raw isteğe bağlı query ?raw=1 — registry’nin ve (varsa) kayıt firmasının ham RDAP yanıtlarını raw_rdap ve raw_registrar_rdap alanlarında ekler.

Yanıt alanları

200 · application/json
AlanTürİçerik
okboolİstek başarılıysa true. false ise yalnızca error, detail ve query gelir.
domain · unicode_domain · tldstringSorgulanan ad; ASCII (punycode) ve Unicode biçimi, uzantı.
registrationobjectKayıt firması ve IANA kimliği, abuse iletişimi, kayıt / güncelleme / bitiş tarihleri, DNSSEC ve DS kayıtları, kayıt sahibi kuruluş ve ülke, sorgulanan RDAP sunucuları.
statusesarrayEPP durum kodları; her biri code, severity (good · neutral · warn · bad) ve açıklamayla.
eventsarrayKayıt, devir, son değişiklik gibi RDAP olayları; tarih ve kaynağıyla (registry / registrar).
contactsarrayRegistrant, admin, tech ve abuse kişileri. Gizlenmiş alanlar registry’nin yazdığı gibi döner.
nameserversarrayRegistry’deki isim sunucuları ve varsa glue adresleri.
dnsobjectCanlı DNS: A, AAAA, MX, NS, TXT, CAA, SOA, DNSKEY ve TTL’ler; ayrıştırılmış SPF, DMARC ve BIMI, bulunan DKIM seçicileri, MTA-STS, TLS-RPT, PTR.
tlsobject | nullSunulan sertifika: veren, doğrulama türü (DV · OV · EV), geçerlilik aralığı, kalan gün, SAN’lar, anahtar, protokol, ALPN.
http · http_plainobject | nullhttps:// yanıtı (durum, yönlendirme zinciri, HSTS, güvenlik başlıkları ve puanı, sayfa başlığı) ve http:// isteğinin HTTPS’e yükseltilip yükseltilmediği.
subdomainsobject | nullAlt alan adları: CT kayıtları, sunulan sertifika ve yaygın adlardan toplanıp canlı çözümlenen her host için CNAME, A / AAAA, ASN ve kaynak; ayrıca CT’de görülüp çözümlenmeyen adlar ve joker kayıt bilgisi.
providersobjectTanınan DNS, e-posta ve CDN sağlayıcıları.
hostingarrayÇözümlenen her adres: ASN ve kuruluş, konum, PTR ve ip-db.com itibar sonucu.
assessmentobjectGenel değerlendirme: headline, önem derecesine göre sayılar ve bulgu listesi.
observations · first_observedint · stringBu adın bu serviste kaç kez sorgulandığı ve ilk ne zaman.
changes_since_lastarrayBir önceki sorguya göre değişenler: kayıt firması, NS, durum, bitiş, DNSSEC, A / AAAA / MX / NS.
timings_msobjectRDAP, DNS, TLS, HTTPS ve alt alan adı aşamalarının ve toplamın süresi, milisaniye.

Örnek yanıt

kısaltılmış
{
  "ok": true,
  "domain": "github.com",
  "unicode_domain": "github.com",
  "tld": "com",
  "registration": {
    "registrar": "MarkMonitor Inc.",
    "registrar_iana_id": 292,
    "abuse_email": "abusecomplaints@markmonitor.com",
    "created": "2007-10-09T18:20:50Z",
    "expires": "2028-10-09T18:20:50Z",
    "dnssec": false,
    "registrant_org": "GitHub, Inc.",
    "registrant_country": "US",
    "rdap_server": "https://rdap.verisign.com/com/v1/domain/github.com",
    "registrar_rdap_server": "https://rdap.markmonitor.com/rdap/domain/GITHUB.COM"
  },
  "statuses": [
    { "code": "client transfer prohibited", "severity": "good", "text": "Locked by the owner against transfer." }
  ],
  "events": [
    { "action": "registration", "date": "2007-10-09T18:20:50Z", "source": "registry" }
  ],
  "contacts": [
    { "roles": ["registrant"], "org": "GitHub, Inc.", "country": "US" }
  ],
  "nameservers": [ { "host": "dns1.p08.nsone.net", "ips": [] } ],
  "dns": {
    "a": ["140.82.121.3"],
    "ttl": { "a": 60 },
    "spf_parsed": { "all": "~", "lookups": 8 },
    "dmarc_parsed": { "p": "quarantine", "sp": "reject" },
    "dkim": [ { "selector": "google", "key_type": "rsa", "bits": 2048 } ]
  },
  "tls": { "issuer_org": "Sectigo Limited", "validation": "DV", "days_left": 70, "alpn": "h2" },
  "http": { "status": 200, "hsts": { "max_age": 31536000 } },
  "http_plain": { "status": 301, "upgrades": true },
  "providers": { "dns": [ { "name": "NS1 (IBM)" } ], "mail": [ { "name": "Microsoft 365" } ] },
  "hosting": [
    { "ip": "140.82.121.3", "asn": 36459, "country_code": "GB", "reputation": { "listed": false } }
  ],
  "subdomains": {
    "hosts": [
      { "name": "api.github.com", "label": "api", "cname": null, "a": ["140.82.121.6"],
        "asn": 36459, "asn_org": "GitHub, Inc.", "sources": ["guess"] },
      { "name": "gist.github.com", "label": "gist", "cname": null, "a": ["140.82.121.4"],
        "asn": 36459, "asn_org": "GitHub, Inc.", "sources": ["ct", "guess"] }
    ],
    "ct": { "ok": true, "source": "certspotter", "count": 41 },
    "unresolved_count": 3, "wildcard": false, "tried": 73
  },
  "assessment": { "headline": "good", "counts": { "good": 14, "warn": 1 } },
  "observations": 12,
  "first_observed": "2026-09-20T11:04:10Z",
  "changes_since_last": [],
  "timings_ms": { "rdap": 820, "dns": 310, "tls": 90, "http": 400, "subdomains": 210, "total": 1450 }
}

Hatalar

gövde her zaman JSON
HTTPerrorAnlamı
400emptyinvalidBoş ya da geçerli bir alan adı olmayan girdi.
400is_ipBir IP adresi verildi; detail o adresi taşır. IP’ler için ip-db.com’u kullanın.
403own_domainip-db.com ve alt alan adları sorgulanmaz.
404not_registeredRegistry bu adı tanımıyor — büyük olasılıkla kayıtlı değil.
429rate_limitedSaatlik sınırınız doldu.
429daily_limitBu IP’nin 24 saatlik sorgu hakkı doldu.
429registry_rate_limitedSınırı aşan sizin değil registry: bir süre sonra tekrar deneyin.
501no_rdapBu uzantının registry’si RDAP yayımlamıyor (ör. .de, .co); detail registry’nin kendi sorgulama adresidir. .tr adları TRABIS’ten okunur ve bu hatayı vermez.
502unreachablebad_responseregistry_errorRegistry yanıt vermedi ya da okunamayan bir yanıt verdi.
504timeoutRegistry zamanında yanıt vermedi.
500internalBizim tarafımızda bir hata. Tekrarlanırsa haber verin.

Sınırlar

100alan adı sorgusu / 24 saat / IP
300API isteği / saat / IP
120web sorgusu / saat / IP
1–5 stipik sorgu süresi

Saatlik sınır kayan bir pencere olarak işler ve web arayüzüyle aynı sayacı kullanır. Günlük sınır yalnızca /domain API sorgularını sayar. Bu sınırda hata veren sorgular (ör. 404 not_registered) de sayılır. Her yanıt canlı sorgudur; aynı adı sık sık sormak yerine sonucu kendi tarafınızda saklayın. Registry’lerin de kendi hız sınırları vardır — onlardan gelen ret, 429 registry_rate_limited olarak olduğu gibi iletilir.

Sağlık

GET /api/v1/health

İzleme için hafif bir uç nokta: hiçbir dış sorgu yapmaz ve sınırdan düşmez.

curl -s https://whois.ip-db.com/api/v1/health
{"ok": true, "service": "whois.ip-db.com"}