DNS Araması

Herhangi bir kayıt türü için DNS arama gerçekleştirin.

GET /v1/dns Kredi: 1

Sorgu parametreleri

Parametre Tür gerekli
domain string gerekli
type string
İzin verilen değerler AAAAAMXNSTXTSOACNAMECAAPTRSRVALL
Varsayılan A
isteğe bağlı

Yanıt alanları

Örnek istek

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/dns?domain=example.com&type=A"
const response = await fetch("https://domscan.net/v1/dns?domain=example.com&type=A", {
  headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);
import os
import requests

response = requests.get(
    "https://domscan.net/v1/dns?domain=example.com&type=A",
    headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())
package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/dns?domain=example.com&type=A", nil)
	if err != nil {
		panic(err)
	}
	req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	data, err := io.ReadAll(resp.Body)
	if err != nil {
		panic(err)
	}
	fmt.Println(resp.Status, string(data))
}
require "json"
require "net/http"

uri = URI("https://domscan.net/v1/dns?domain=example.com&type=A")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body))

Örnek yanıt

{
  "domain": "google.com",
  "record_type": "TXT",
  "records": [
    {
      "type": "TXT",
      "name": "google.com",
      "data": "v=spf1 include:_spf.google.com ~all",
      "ttl": 300,
      "classification": "spf"
    },
    {
      "type": "TXT",
      "name": "google.com",
      "data": "google-site-verification=abc123",
      "ttl": 300,
      "classification": "verification"
    }
  ],
  "status": "success",
  "dnssec_validated": false,
  "query_time_ms": 37,
  "checked_at": "2026-04-18T21:00:00Z",
  "warnings": [
    {
      "code": "TXT_MULTIPLE_RESPONSES",
      "message": "Domain publishes multiple TXT records; use classification to isolate the security ones.",
      "severity": "info"
    }
  ],
  "meta": {
    "served_by": "pop=unknown country=unknown"
  }
}

HTTP durum kodları

  • 200 OK
  • 400 Hatalı İstek
  • 401 Yetkisiz
  • 402 Ödeme Gerekli
  • 429 Çok Fazla İstek
POST /v1/dns/bulk

İstek gövdesi

AlanTürAçıklama
domains gerekli string[] Kontrol edilecek tam alan adlarının dizisi
type gerekli string DNS kayıt türü (A, AAAA, MX, TXT, NS, vb.)

Tek bir istekte birden fazla alan adı için tek bir kayıt türünü sorgulamak üzere POST /v1/dns/bulk kullanın. domains ve type içeren bir JSON gövdesi gönderin. İstek başına en fazla 25 alan adı desteklenir.

Örnek istek

curl -H "X-API-Key: your-api-key" -X POST "https://domscan.net/v1/dns/bulk"   -H "Content-Type: application/json"   -d '{
    "domains": ["example.com", "github.com", "cloudflare.com"],
    "type": "MX"
  }'

Örnek yanıt

{
  "results": [
    {
      "domain": "example.com",
      "record_type": "MX",
      "records": [
        {"type": "MX", "name": "example.com", "data": "mx.example.com", "ttl": 300, "priority": 10}
      ],
      "status": "success",
      "dnssec_validated": true,
      "query_time_ms": 22,
      "checked_at": "2024-01-15T12:00:00Z"
    },
    {
      "domain": "bad domain",
      "record_type": "MX",
      "records": [],
      "status": "error",
      "dnssec_validated": false,
      "query_time_ms": 0,
      "checked_at": "2024-01-15T12:00:00Z",
      "error": {
        "code": "INVALID_DOMAIN",
        "message": "Invalid domain format"
      }
    }
  ],
  "summary": {
    "total": 2,
    "successful": 1,
    "nxdomain": 0,
    "errors": 1,
    "query_time_ms": 31
  },
  "meta": {
    "served_by": "pop=MAD country=ES",
    "record_type": "MX"
  }
}

Yanıt alanları

Alan Tür
results[] object[]
results[] object
results[].domain string
results[].record_type string
results[].records[] object[]
results[].records[] object
results[].records[].type string
results[].records[].name string
results[].records[].data string
results[].records[].ttl integer
results[].records[].priority integer
results[].records[].classification string
results[].status string
results[].dnssec_validated boolean
results[].query_time_ms integer
results[].checked_at string
results[].error object
results[].error.code string
results[].error.message string
summary object
summary.total integer
summary.successful integer
summary.nxdomain integer
summary.errors integer
summary.query_time_ms integer
meta object
meta.served_by string
meta.record_type string
GET /v1/dns/all Kredi: 2

Sorgu parametreleri

Parametre Tür gerekli
domain string gerekli
wildcard_probe string
İzin verilen değerler 1
isteğe bağlı

Yanıt alanları

Alan Tür
domain string
records object
summary object
summary.has_a boolean
summary.has_aaaa boolean
summary.has_ns boolean
summary.has_mx boolean
summary.has_txt boolean
summary.has_https boolean
summary.has_svcb boolean
summary.ipv6_parity string
warnings[] object[]
warnings[] object
warnings[].code string
warnings[].message string
warnings[].severity string
wildcard object
wildcard.suspected boolean
wildcard.probe_label string
query_time_ms integer
checked_at string
meta object
meta.served_by string

Örnek istek

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/dns/all?domain=example.com&wildcard_probe=1"
const response = await fetch("https://domscan.net/v1/dns/all?domain=example.com&wildcard_probe=1", {
  headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);
import os
import requests

response = requests.get(
    "https://domscan.net/v1/dns/all?domain=example.com&wildcard_probe=1",
    headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())
package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/dns/all?domain=example.com&wildcard_probe=1", nil)
	if err != nil {
		panic(err)
	}
	req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	data, err := io.ReadAll(resp.Body)
	if err != nil {
		panic(err)
	}
	fmt.Println(resp.Status, string(data))
}
require "json"
require "net/http"

uri = URI("https://domscan.net/v1/dns/all?domain=example.com&wildcard_probe=1")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body))

Örnek yanıt

{
  "domain": "openai.com",
  "records": {
    "A": [
      {
        "type": "A",
        "name": "openai.com",
        "data": "104.18.33.45",
        "ttl": 300
      }
    ],
    "AAAA": [
      {
        "type": "AAAA",
        "name": "openai.com",
        "data": "2606:4700::6812:212d",
        "ttl": 300
      }
    ],
    "MX": [
      {
        "type": "MX",
        "name": "openai.com",
        "data": "aspmx.l.google.com",
        "ttl": 300,
        "priority": 1
      }
    ],
    "NS": [
      {
        "type": "NS",
        "name": "openai.com",
        "data": "ns1-02.azure-dns.com",
        "ttl": 172800
      },
      {
        "type": "NS",
        "name": "openai.com",
        "data": "ns2-02.azure-dns.net",
        "ttl": 172800
      }
    ],
    "TXT": [
      {
        "type": "TXT",
        "name": "openai.com",
        "data": "v=spf1 include:_spf.google.com ~all",
        "ttl": 300,
        "classification": "spf"
      },
      {
        "type": "TXT",
        "name": "openai.com",
        "data": "v=TLSRPTv1; rua=mailto:[email protected]",
        "ttl": 300,
        "classification": "tls_rpt"
      }
    ]
  },
  "summary": {
    "has_a": true,
    "has_aaaa": true,
    "has_ns": true,
    "has_mx": true,
    "has_txt": true,
    "has_https": false,
    "has_svcb": false,
    "ipv6_parity": "full"
  },
  "warnings": [
    {
      "code": "MX_PRIORITY_SHARED",
      "message": "Multiple MX hosts share the same priority.",
      "severity": "info"
    }
  ],
  "wildcard": {
    "suspected": false,
    "probe_label": "_domscan-probe-4f6a2c.openai.com"
  },
  "query_time_ms": 82,
  "checked_at": "2026-04-18T21:00:00Z"
}

HTTP durum kodları

  • 200 OK
  • 400 Hatalı İstek
  • 401 Yetkisiz
  • 402 Ödeme Gerekli
  • 429 Çok Fazla İstek