API 레퍼런스

보안 연락처 파일 security.txt 검증 API API 레퍼런스

security.txt의 연락처, 만료일 및 RFC 9116 필드를 검증합니다. 이 레퍼런스를 사용해 작업을 선택하고 문서화된 응답 계약을 통합하세요.

작업

GET /v1/security-txt API 레퍼런스 보기

GET /v1/security-txt

작업: getSecurityTxt 크레딧 및 인증: 1 인증 필요
GET /v1/security-txt 크레딧: 1

쿼리 매개변수

매개변수 유형 필수
domain string 선택 사항
url string 선택 사항

응답 필드

필드 유형
classification object
classification.status string
classification.reason string
classification.evidence object
classification.evidence.source string
classification.evidence.method string
classification.evidence.observed_at string
classification.evidence.detail string
classification.checked_at string
domain string
status string
location string | null
checked_at string
fetch[] object[]
fetch[] object
fetch[].location string
fetch[].checked_url string
fetch[].http_status integer | null
fetch[].final_url string | null
fetch[].via_proxy boolean | null
fetch[].content_type string | null
fetch[].bytes integer | null
fetch[].truncated boolean
fetch[].outcome string
fetch[].error string | null
fields object
fields.contact[] string[]
fields.expires string | null
fields.expires_in_days integer | null
fields.encryption[] string[]
fields.acknowledgments[] string[]
fields.preferred_languages[] string[]
fields.canonical[] string[]
fields.policy[] string[]
fields.hiring[] string[]
fields.csaf[] string[]
fields.other_fields[] object[]
fields.other_fields[] object
fields.other_fields[].name string
fields.other_fields[].value string
signed boolean
issues[] object[]
issues[] object
issues[].code string
issues[].severity string
issues[].field string | null
caveats[] string[]

예제 요청

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/security-txt?domain=example.com&url=https%3A%2F%2Fexample.com"
const response = await fetch("https://domscan.net/v1/security-txt?domain=example.com&url=https%3A%2F%2Fexample.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-txt?domain=example.com&url=https%3A%2F%2Fexample.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-txt?domain=example.com&url=https%3A%2F%2Fexample.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-txt?domain=example.com&url=https%3A%2F%2Fexample.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))

예제 응답

{
  "domain": "example.com",
  "status": "valid",
  "location": "well_known",
  "checked_at": "2026-10-09T10:00:00.000Z",
  "fetch": [
    {
      "location": "well_known",
      "checked_url": "https://example.com/.well-known/security.txt",
      "http_status": 200,
      "final_url": "https://example.com/.well-known/security.txt",
      "via_proxy": true,
      "content_type": "text/plain; charset=utf-8",
      "bytes": 279,
      "truncated": false,
      "outcome": "found",
      "error": null
    }
  ],
  "fields": {
    "contact": [
      "mailto:[email protected]",
      "https://example.com/report"
    ],
    "expires": "2027-01-01T00:00:00.000Z",
    "expires_in_days": 83,
    "encryption": [
      "https://example.com/pgp-key.txt"
    ],
    "acknowledgments": [],
    "preferred_languages": [
      "en",
      "es"
    ],
    "canonical": [
      "https://example.com/.well-known/security.txt"
    ],
    "policy": [
      "https://example.com/security-policy"
    ],
    "hiring": [],
    "csaf": [],
    "other_fields": []
  },
  "signed": false,
  "issues": [],
  "caveats": []
}

HTTP 상태 코드

  • 200 성공
  • 400 잘못된 요청
  • 401 인증되지 않음
  • 402 결제 필요
  • 429 요청 과다
  • 502 잘못된 게이트웨이

레퍼런스 리소스