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ètreTypeDescription
domain requis string Nom de domaine complet (par exemple, github.com)

Champs de Réponse

ChampTypeDescription
age_daysnumberÂge du domaine en jours depuis l'enregistrement
days_until_expirynumberJours jusqu'à l'expiration du domaine
dnssecbooleanSi DNSSEC est activé
statusarrayCodes 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
  }
}
POST /v1/profile/bulk

Paramètres du Corps

Paramètre Type requis
domains string[] requis

Champs de Réponse

Champ Type
results[] unknown[]
meta object
meta.total integer
meta.succeeded integer
meta.failed integer
meta.max_items integer
meta.credits_per_item integer
meta.duration_ms integer

Exemple de Requête

curl -X POST "https://domscan.net/v1/profile/bulk" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $DOMSCAN_API_KEY" \
  -d '{
  "domains": [
    "example.com",
    "cloudflare.com"
  ]
}'

Exemple de Réponse

{
  "results": [
    {
      "input": "example",
      "data": {}
    }
  ],
  "meta": {
    "total": 1,
    "succeeded": 1,
    "failed": 1,
    "max_items": 10,
    "credits_per_item": 1,
    "duration_ms": 1
  }
}
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": false,
    "has_aaaa": false,
    "has_mx": false,
    "nameservers": [
      "example"
    ]
  },
  "registration": {
    "registered": false,
    "registrar": "example",
    "created_date": "2026-08-27T12:00:00Z",
    "expiry_date": "2026-08-27T12:00:00Z",
    "age_days": 1,
    "days_until_expiry": 1,
    "dnssec": false
  },
  "reputation": {
    "score": 0.85,
    "grade": "example"
  },
  "popularity": {
    "rank": 1,
    "bucket": "example"
  },
  "component_freshness": {
    "cache_status": "hit",
    "checked_at": "2026-08-27T12:00:00Z",
    "component_count": 1,
    "fresh_component_count": 1,
    "degraded_component_count": 1,
    "components": {
      "health": {
        "source": "public_data",
        "state": "fresh",
        "checked_at": "2026-08-27T12:00:00Z",
        "evidence_count": 1,
        "reason": "upstream_unavailable"
      },
      "dns": {
        "source": "public_data",
        "state": "fresh",
        "checked_at": "2026-08-27T12:00:00Z",
        "evidence_count": 1,
        "reason": "upstream_unavailable"
      },
      "registration": {
        "source": "public_data",
        "state": "fresh",
        "checked_at": "2026-08-27T12:00:00Z",
        "evidence_count": 1,
        "reason": "upstream_unavailable"
      },
      "reputation": {
        "source": "public_data",
        "state": "fresh",
        "checked_at": "2026-08-27T12:00:00Z",
        "evidence_count": 1,
        "reason": "upstream_unavailable"
      },
      "popularity": {
        "source": "public_data",
        "state": "fresh",
        "checked_at": "2026-08-27T12:00:00Z",
        "evidence_count": 1,
        "reason": "upstream_unavailable"
      }
    }
  },
  "query_time_ms": 1,
  "checked_at": "2026-08-27T12:00:00Z"
}
GET /v1/popularity

Paramètres de Requête

Paramètre Type requis
domain string requis
include_history boolean
Défaut false
optionnel
history_limit integer
Défaut 30
optionnel

Champs de Réponse

Champ Type
domain string
status string
rank integer | null
bucket string
source object
source.id string
source.url string
source.list_date string | null
source.provenance object
source.provenance.owner string
source.provenance.source_url string
source.provenance.methodology_url string
source.provenance.access_method string
source.provenance.cost string
source.provenance.runtime_rate_limits string
source.provenance.terms_status string
source.provenance.expected_freshness string
source.provenance.maintenance_risk string
source.provenance.fallback_behavior string
source.provenance.last_verified string
freshness object
freshness.cache_status string
freshness.ttl_seconds integer
checked_at string
result_count integer | null
empty_result boolean
history object
history.collection string
history.complete_daily_series boolean
history.available boolean
history.observations[] object[]
history.observations[] object
history.observations[].domain string
history.observations[].rank integer | null
history.observations[].bucket string
history.observations[].status string
history.observations[].source string
history.observations[].list_date string | null
history.observations[].observed_on string
history.observations[].checked_at string

Exemple de Requête

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/popularity?domain=example.com&include_history=false&history_limit=30"

Exemple de Réponse

{
  "domain": "example.com",
  "status": "ranked",
  "rank": 1,
  "bucket": "top-100",
  "source": {
    "id": "tranco",
    "url": "https://example.com",
    "list_date": "2026-08-27",
    "provenance": {
      "owner": "example",
      "source_url": "https://example.com",
      "methodology_url": "https://example.com",
      "access_method": "public_domain_rank_api",
      "cost": "none",
      "runtime_rate_limits": "example",
      "terms_status": "available",
      "expected_freshness": "daily",
      "maintenance_risk": "medium",
      "fallback_behavior": "example",
      "last_verified": "2026-08-27"
    }
  },
  "freshness": {
    "cache_status": "hit",
    "ttl_seconds": 300
  },
  "checked_at": "2026-08-27T12:00:00Z",
  "result_count": 0,
  "empty_result": false,
  "history": {
    "collection": "lookup_driven",
    "complete_daily_series": false,
    "available": true,
    "observations": [
      {
        "domain": "example.com",
        "rank": 1,
        "bucket": "top-100",
        "status": "ranked",
        "source": "tranco",
        "list_date": "2026-08-27",
        "observed_on": "2026-08-27",
        "checked_at": "2026-08-27T12:00:00Z"
      }
    ]
  }
}
GET /v1/popularity/history

Paramètres de Requête

Paramètre Type requis
domain string requis
limit integer
Défaut 30
optionnel

Champs de Réponse

Champ Type
domain string
collection string
complete_daily_series boolean
result_count integer
empty_result boolean
observations[] object[]
observations[] object
observations[].domain string
observations[].rank integer | null
observations[].bucket string
observations[].status string
observations[].source string
observations[].list_date string | null
observations[].observed_on string
observations[].checked_at string

Exemple de Requête

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/popularity/history?domain=example.com&limit=25"

Exemple de Réponse

{
  "domain": "example.com",
  "collection": "lookup_driven",
  "complete_daily_series": false,
  "result_count": 1,
  "empty_result": false,
  "observations": [
    {
      "domain": "example.com",
      "rank": 1,
      "bucket": "top-100",
      "status": "ranked",
      "source": "tranco",
      "list_date": "2026-08-27",
      "observed_on": "2026-08-27",
      "checked_at": "2026-08-27T12:00:00Z"
    }
  ]
}

Utilisé par les gens des meilleures entreprises

InstantOutseerMongoDBRespondentSage Expense ManagementInstantlyD.R. HortonWhatConvertsAdobeMotionElementsLLM Pulse