Référence Développeur
Profil de domaine
Consultez la documentation de l'API Profil de domaine, ses paramètres de requête, les champs de réponse, les exemples de code et la gestion des erreurs pour les intégrations DomScan.
Profil de domaine
Obtenez les données d'enregistrement RDAP normalisées incluant le registraire, la date de création, l'expiration, les serveurs de noms, le statut DNSSEC et le résumé des contacts. Comprend l'âge du domaine précalculé et les jours jusqu'à l'expiration pour plus de commodité.
GET
/v1/profile
Paramètres de Requête
| Paramètre | Type | Description |
|---|---|---|
| domain requis | string | Nom de domaine complet (par exemple, github.com) |
Champs de Réponse
| Champ | Type | Description |
|---|---|---|
age_days | number | Âge du domaine en jours depuis l'enregistrement |
days_until_expiry | number | Jours jusqu'à l'expiration du domaine |
dnssec | boolean | Si DNSSEC est activé |
status | array | Codes d'état EPP (clientDeleteProhibited, etc.) |
Exemple de Requête
curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/profile?domain=github.com"
const domscanFetch = (url, options = {}) =>
fetch(url, {
...options,
headers: { ...options.headers, "X-API-Key": "your-api-key" },
});
const response = await domscanFetch(
"https://domscan.net/v1/profile?domain=github.com"
);
const data = await response.json();
console.log(`Domain age: ${data.age_days} days`);
console.log(`Expires in: ${data.days_until_expiry} days`);
console.log(`DNSSEC: ${data.dnssec ? 'Enabled' : 'Disabled'}`);
import requests
domscan = requests.Session()
domscan.headers.update({"X-API-Key": "your-api-key"})
response = domscan.get(
"https://domscan.net/v1/profile",
params={"domain": "github.com"}
)
data = response.json()
print(f"Domain age: {data['age_days']} days ({data['age_days'] // 365} years)")
print(f"Expires in: {data['days_until_expiry']} days")
Exemple de Réponse
{
"domain": "github.com",
"registered": true,
"registrar": "MarkMonitor Inc.",
"registrar_url": "https://www.markmonitor.com",
"created_date": "2007-10-09T18:20:50Z",
"updated_date": "2024-09-08T09:19:27Z",
"expiry_date": "2026-10-09T07:00:00Z",
"age_days": 6310,
"days_until_expiry": 628,
"nameservers": ["dns1.p08.nsone.net", "dns2.p08.nsone.net"],
"dnssec": true,
"status": ["clientDeleteProhibited", "clientTransferProhibited"],
"contacts": {
"registrant_name": "GitHub, Inc.",
"registrant_org": "GitHub, Inc.",
"registrant_country": "US"
},
"privacy": {
"is_private": false,
"privacy_service": null
}
}
GET
/v1/overview
Paramètres de Requête
| Paramètre | Type | requis |
|---|---|---|
| domain | string | requis |
Champs de Réponse
| Champ | Type |
|---|---|
domain |
string |
health |
object |
health.dns_ok |
boolean | null |
health.https_ok |
boolean | null |
dns |
object |
dns.has_a |
boolean | null |
dns.has_aaaa |
boolean | null |
dns.has_mx |
boolean | null |
dns.nameservers[] |
string[] |
registration |
object |
registration.registered |
boolean | null |
registration.registrar |
string | null |
registration.created_date |
string | null |
registration.expiry_date |
string | null |
registration.age_days |
integer | null |
registration.days_until_expiry |
integer | null |
registration.dnssec |
boolean | null |
reputation |
object |
reputation.score |
number | null |
reputation.grade |
string | null |
popularity |
object |
popularity.rank |
integer | null |
popularity.bucket |
string | null |
component_freshness |
object |
component_freshness.cache_status |
string |
component_freshness.checked_at |
string |
component_freshness.component_count |
integer |
component_freshness.fresh_component_count |
integer |
component_freshness.degraded_component_count |
integer |
component_freshness.components |
object |
component_freshness.components.health |
object |
component_freshness.components.health.source |
string |
component_freshness.components.health.state |
string |
component_freshness.components.health.checked_at |
string |
component_freshness.components.health.evidence_count |
integer |
component_freshness.components.health.reason |
string | null |
component_freshness.components.dns |
object |
component_freshness.components.dns.source |
string |
component_freshness.components.dns.state |
string |
component_freshness.components.dns.checked_at |
string |
component_freshness.components.dns.evidence_count |
integer |
component_freshness.components.dns.reason |
string | null |
component_freshness.components.registration |
object |
component_freshness.components.registration.source |
string |
component_freshness.components.registration.state |
string |
component_freshness.components.registration.checked_at |
string |
component_freshness.components.registration.evidence_count |
integer |
component_freshness.components.registration.reason |
string | null |
component_freshness.components.reputation |
object |
component_freshness.components.reputation.source |
string |
component_freshness.components.reputation.state |
string |
component_freshness.components.reputation.checked_at |
string |
component_freshness.components.reputation.evidence_count |
integer |
component_freshness.components.reputation.reason |
string | null |
component_freshness.components.popularity |
object |
component_freshness.components.popularity.source |
string |
component_freshness.components.popularity.state |
string |
component_freshness.components.popularity.checked_at |
string |
component_freshness.components.popularity.evidence_count |
integer |
component_freshness.components.popularity.reason |
string | null |
query_time_ms |
integer |
checked_at |
string |
Exemple de Requête
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/overview?domain=example.com"
Exemple de Réponse
{
"domain": "example.com",
"health": {
"dns_ok": true,
"https_ok": true
},
"dns": {
"has_a": true,
"has_aaaa": true,
"has_mx": true,
"nameservers": [
"string"
]
},
"registration": {
"registered": true,
"registrar": "string",
"created_date": "2026-04-15",
"expiry_date": "2026-04-15",
"age_days": 1,
"days_until_expiry": 1,
"dnssec": true
},
"reputation": {
"score": 1,
"grade": "string"
},
"popularity": {
"rank": 1,
"bucket": "string"
},
"component_freshness": {
"cache_status": "hit",
"checked_at": "2026-04-15T12:00:00Z",
"component_count": 1,
"fresh_component_count": 1,
"degraded_component_count": 1,
"components": {
"health": {
"source": "string",
"state": "fresh",
"checked_at": "2026-04-15T12:00:00Z",
"evidence_count": 1,
"reason": "upstream_unavailable"
},
"dns": {
"source": "string",
"state": "fresh",
"checked_at": "2026-04-15T12:00:00Z",
"evidence_count": 1,
"reason": "upstream_unavailable"
},
"registration": {
"source": "string",
"state": "fresh",
"checked_at": "2026-04-15T12:00:00Z",
"evidence_count": 1,
"reason": "upstream_unavailable"
},
"reputation": {
"source": "string",
"state": "fresh",
"checked_at": "2026-04-15T12:00:00Z",
"evidence_count": 1,
"reason": "upstream_unavailable"
},
"popularity": {
"source": "string",
"state": "fresh",
"checked_at": "2026-04-15T12:00:00Z",
"evidence_count": 1,
"reason": "upstream_unavailable"
}
}
},
"query_time_ms": "2026-04-15T12:00:00Z",
"checked_at": "2026-04-15T12:00:00Z"
}