Utvecklarreferens
DNS-historia
DomScan API för domänanalys: Granska DNS-värden på dagsnivå som observerats vid tidigare lyckade DomScan-uppslagningar.
DNS-historia
Granska DNS-värden på dagsnivå som observerats vid tidigare lyckade DomScan-uppslagningar. Betatäckningen är inte ett internetomfattande passivt DNS-arkiv.
GET
/v1/dns/history
Krediter: 3
Frågeparametrar
| Parameter | Typ | obligatorisk |
|---|---|---|
| domain | string | obligatorisk |
| type | string | valfri |
| from | string | valfri |
| to | string | valfri |
| limit |
integer
Standard
100
|
valfri |
| cursor | string | valfri |
Svarsfält
| Fält | Typ |
|---|---|
has_more |
boolean |
next_cursor |
string | null |
domain |
string |
history[] |
object[] |
history[] |
object |
history[].date |
string |
history[].record_type |
string |
history[].changes[] |
object[] |
history[].changes[] |
object |
history[].changes[].action |
string |
history[].changes[].value |
string |
history[].changes[].ttl |
integer | null |
current_records |
object |
first_seen |
string | null |
last_seen |
string | null |
total_changes |
integer |
record_types_tracked[] |
string[] |
beta_notice |
string |
meta |
object |
meta.note |
string |
meta.data_source |
string |
meta.history_limit |
integer |
meta.history_rows_evaluated |
integer |
meta.history_rows_truncated |
boolean |
meta.removal_confirmation_days |
integer |
meta.current_records_scope |
string |
Exempelbegäran
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/dns/history?domain=example.com&type=A&from=2026-01-01&to=2026-04-15&limit=10"const response = await fetch("https://domscan.net/v1/dns/history?domain=example.com&type=A&from=2026-01-01&to=2026-04-15&limit=10", {
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/history?domain=example.com&type=A&from=2026-01-01&to=2026-04-15&limit=10",
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/history?domain=example.com&type=A&from=2026-01-01&to=2026-04-15&limit=10", 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/history?domain=example.com&type=A&from=2026-01-01&to=2026-04-15&limit=10")
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": "example.com",
"history": [
{
"date": "2026-04-13",
"record_type": "A",
"changes": [
{
"action": "added",
"value": "104.20.23.154"
},
{
"action": "added",
"value": "172.66.147.243"
},
{
"action": "removed",
"value": "104.18.26.120"
}
]
}
],
"current_records": {
"A": [
"104.20.23.154",
"172.66.147.243"
]
},
"first_seen": "2026-01-01",
"last_seen": "2026-04-13",
"total_changes": 3,
"record_types_tracked": [
"A"
],
"beta_notice": "Beta observation log. Coverage comes only from successful DomScan DNS lookups. Dates are day-level, changes between lookups can be missed, and no external passive DNS sources are included.",
"meta": {
"note": "Lookup-driven DomScan observations only. Dates are day-level, gaps can miss changes, and no external passive DNS sources are included.",
"data_source": "internal",
"history_limit": 100,
"history_rows_evaluated": 3,
"history_rows_truncated": false,
"removal_confirmation_days": 2,
"current_records_scope": "all_stored_current_records"
}
}
HTTP-statuskoder
200OK400Felaktig begäran401Obehörig402Betalning krävs429För många begäranden