API för domänsäkerhetsbetyg API-referens
Betygsätt en domäns säkerhetsnivå från A till F. Använd denna referens för att välja en operation och integrera dess dokumenterade svarskontrakt.
Operationer
GET /v1/security-rating
GET
/v1/security-rating
Krediter: 5
Frågeparametrar
| Parameter | Typ | obligatorisk |
|---|---|---|
| domain | string | obligatorisk |
Svarsfält
| Fält | Typ |
|---|---|
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[] |
Exempelbegäran
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))Exempelsvar
{
"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-statuskoder
200OK400Felaktig begäran401Obehörig402Betalning krävs429För många begäranden