Référence API

API Profil de Domaine

Obtenez un profil complet d'un domaine incluant WHOIS, DNS et les informations d'hébergement. Utilisez cette référence pour choisir une opération et intégrer son contrat de réponse documenté.

Opérations

GET /v1/profile Voir la référence API
POST /v1/profile/bulk Voir la référence API
GET /v1/overview Voir la référence API
GET /v1/popularity Voir la référence API
GET /v1/popularity/history Voir la référence API

GET /v1/profile

Opération: getDomainProfile Crédits et authentification: 3 Authentification requise
GET /v1/profile

Paramètres de Requête

Paramètre Type requis
domain string requis

Champs de Réponse

Champ Type
domain string
registered boolean | null
registrar string | null
registrar_url string | null
registrar_iana_id string | null
created_date string | null
updated_date string | null
expiry_date string | null
age_days integer
days_until_expiry integer
nameservers[] string[]
status[] string[]
dnssec boolean
events[] object[]
events[] object
events[].action string
events[].date string
contacts object
contacts.registrant_name string | null
contacts.registrant_org string | null
contacts.registrant_country string | null
contacts.admin_email string | null
contacts.tech_email string | null
privacy object
privacy.is_private boolean
privacy.privacy_service string | null
raw_rdap_link string | null
source_summary object
source_summary.source string
source_summary.authoritative_source string
source_summary.cache_status string
source_summary.fallback_used boolean
source_summary.relay_configured boolean
source_summary.registered boolean | null
source_summary.status_count integer
source_summary.nameserver_count integer
source_summary.event_count integer
source_summary.date_fields_present[] string[]
source_summary.contact_field_count integer
source_summary.privacy_detected boolean
checked_at string
query_time_ms integer
meta object

Exemple de Requête

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/profile?domain=example.com"

Exemple de Réponse

{
  "domain": "example.com",
  "registered": true,
  "registrar": "string",
  "registrar_url": "https://example.com",
  "registrar_iana_id": "string",
  "created_date": "2026-04-15T12:00:00Z",
  "updated_date": "2026-04-15T12:00:00Z",
  "expiry_date": "2026-04-15T12:00:00Z",
  "age_days": 1,
  "days_until_expiry": 1,
  "nameservers": [
    "string"
  ],
  "status": [
    "string"
  ],
  "dnssec": true,
  "events": [
    {
      "action": "string",
      "date": "2026-04-15T12:00:00Z"
    }
  ],
  "contacts": {
    "registrant_name": "string",
    "registrant_org": "string",
    "registrant_country": "string",
    "admin_email": "[email protected]",
    "tech_email": "[email protected]"
  },
  "privacy": {
    "is_private": true,
    "privacy_service": "string"
  },
  "raw_rdap_link": "string",
  "source_summary": {
    "source": "rdap",
    "authoritative_source": "rdap",
    "cache_status": "hit",
    "fallback_used": true,
    "relay_configured": true,
    "registered": true,
    "status_count": 1,
    "nameserver_count": 1,
    "event_count": 1,
    "date_fields_present": [
      "2026-04-15"
    ],
    "contact_field_count": 1,
    "privacy_detected": true
  },
  "checked_at": "2026-04-15T12:00:00Z",
  "query_time_ms": "2026-04-15T12:00:00Z",
  "meta": {}
}

POST /v1/profile/bulk

Opération: bulkGetDomainProfile Crédits et authentification: 3 Authentification requise
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": [
    null
  ],
  "meta": {
    "total": 1,
    "succeeded": 1,
    "failed": 1,
    "max_items": 10,
    "credits_per_item": 1,
    "duration_ms": 1
  }
}

GET /v1/overview

Opération: getDomainOverview Crédits et authentification: 5 Authentification requise
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"
}

GET /v1/popularity

Opération: getDomainPopularity Crédits et authentification: 2 Authentification requise
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=example.com&history_limit=example.com"

Exemple de Réponse

{
  "domain": "example.com",
  "status": "ranked",
  "rank": 1,
  "bucket": "top-100",
  "source": {
    "id": "tranco",
    "url": "https://example.com",
    "list_date": "2026-04-15",
    "provenance": {
      "owner": "string",
      "source_url": "https://example.com",
      "methodology_url": "https://example.com",
      "access_method": "public_domain_rank_api",
      "cost": "none",
      "runtime_rate_limits": "2026-04-15T12:00:00Z",
      "terms_status": "string",
      "expected_freshness": "daily",
      "maintenance_risk": "medium",
      "fallback_behavior": "string",
      "last_verified": "2026-04-15"
    }
  },
  "freshness": {
    "cache_status": "hit",
    "ttl_seconds": 300
  },
  "checked_at": "2026-04-15T12:00:00Z",
  "result_count": 0,
  "empty_result": true,
  "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-04-15",
        "observed_on": "2026-04-15",
        "checked_at": "2026-04-15T12:00:00Z"
      }
    ]
  }
}

GET /v1/popularity/history

Opération: getDomainPopularityHistory Crédits et authentification: 1 Authentification requise
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": true,
  "observations": [
    {
      "domain": "example.com",
      "rank": 1,
      "bucket": "top-100",
      "status": "ranked",
      "source": "tranco",
      "list_date": "2026-04-15",
      "observed_on": "2026-04-15",
      "checked_at": "2026-04-15T12:00:00Z"
    }
  ]
}

Ressources de référence