API referansı

Alan adı güvenlik derecelendirme API'si API ürünü

Bir alan adının güvenlik duruşunu A'dan F'ye derecelendirin. Bir işlem seçmek ve belgelenen yanıt sözleşmesini entegre etmek için bu referansı kullanın.

İşlemler

GET /v1/security-rating API referansını görüntüle

GET /v1/security-rating

İşlem: getSecurityRating Krediler ve kimlik doğrulama: 5 Kimlik doğrulama gerekli
GET /v1/security-rating Kredi: 5

Sorgu parametreleri

Parametre Tür gerekli
domain string gerekli

Yanıt alanları

Alan Tür
domain string
status string
score integer | null
grade string | null
checks_unknown integer
score_confidence string
weight_covered integer
capped_by_critical_finding boolean
categories[] object[]
categories[] object
categories[].id string
categories[].status string
categories[].score integer | null
categories[].weight integer
categories[].unknown_reason string | null
categories[].findings[] object[]
categories[].findings[] object
categories[].findings[].code string
categories[].findings[].severity string
findings[] object[]
findings[] object
findings[].category string
findings[].code string
findings[].severity string
sources object
sources.tls object
sources.tls.grade string | null
sources.tls.score integer | null
sources.tls.checked_at string
sources.http_headers object
sources.http_headers.status string
sources.http_headers.grade string | null
sources.http_headers.score integer | null
sources.http_headers.final_url string | null
sources.http_headers.http_status integer | null
sources.dns_security object
sources.dns_security.score integer | null
sources.dns_security.grade string | null
sources.dns_security.checks_unknown integer
sources.dns_security.blocklists_checked integer
sources.dns_security.blocklists_unknown integer
sources.security_txt object
sources.security_txt.status string
sources.security_txt.location string | null
checked_at string
duration_ms integer
rating_version string
caveats[] string[]

Örnek istek

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/security-rating?domain=example.com"
const response = await fetch("https://domscan.net/v1/security-rating?domain=example.com", {
  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/security-rating?domain=example.com",
    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/security-rating?domain=example.com", 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/security-rating?domain=example.com")
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": "github.com",
  "status": "partial",
  "score": 81,
  "grade": "B",
  "checks_unknown": 1,
  "score_confidence": "medium",
  "weight_covered": 85,
  "capped_by_critical_finding": false,
  "categories": [
    {
      "id": "tls",
      "status": "scored",
      "score": 85,
      "weight": 30,
      "unknown_reason": null,
      "findings": []
    },
    {
      "id": "http_headers",
      "status": "scored",
      "score": 85,
      "weight": 20,
      "unknown_reason": null,
      "findings": [
        {
          "code": "header_permissions_policy_missing",
          "severity": "info"
        },
        {
          "code": "header_cross_origin_opener_policy_missing",
          "severity": "info"
        },
        {
          "code": "header_cross_origin_resource_policy_missing",
          "severity": "info"
        }
      ]
    },
    {
      "id": "email_authentication",
      "status": "scored",
      "score": 85,
      "weight": 20,
      "unknown_reason": null,
      "findings": []
    },
    {
      "id": "dns",
      "status": "scored",
      "score": 40,
      "weight": 10,
      "unknown_reason": null,
      "findings": [
        {
          "code": "dnssec_not_enabled",
          "severity": "low"
        }
      ]
    },
    {
      "id": "reputation",
      "status": "unknown",
      "score": null,
      "weight": 15,
      "unknown_reason": "no_evidence",
      "findings": []
    },
    {
      "id": "disclosure",
      "status": "scored",
      "score": 100,
      "weight": 5,
      "unknown_reason": null,
      "findings": []
    }
  ],
  "findings": [
    {
      "category": "dns",
      "code": "dnssec_not_enabled",
      "severity": "low"
    },
    {
      "category": "http_headers",
      "code": "header_permissions_policy_missing",
      "severity": "info"
    },
    {
      "category": "http_headers",
      "code": "header_cross_origin_opener_policy_missing",
      "severity": "info"
    },
    {
      "category": "http_headers",
      "code": "header_cross_origin_resource_policy_missing",
      "severity": "info"
    }
  ],
  "sources": {
    "tls": {
      "grade": "A",
      "score": 85,
      "checked_at": "2026-10-18T04:14:57.278Z"
    },
    "http_headers": {
      "status": "ok",
      "grade": "B",
      "score": 85,
      "final_url": "https://github.com/",
      "http_status": 200
    },
    "dns_security": {
      "score": 70,
      "grade": "B",
      "checks_unknown": 0,
      "blocklists_checked": 3,
      "blocklists_unknown": 1
    },
    "security_txt": {
      "status": "valid",
      "location": "well_known"
    }
  },
  "checked_at": "2026-10-18T04:14:58.507Z",
  "duration_ms": 2114,
  "rating_version": "2026-10-18.1",
  "caveats": [
    "passive_checks_only",
    "not_a_penetration_test",
    "tls_protocols_inferred",
    "unknown_categories_excluded_from_score"
  ]
}

HTTP durum kodları

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

Referans kaynakları