Référence Développeur

Réputation du Domaine Documentation de l'API

Réputation du Domaine Documentation de l'API: Obtenez un score de réputation global (0-100) pour n'importe quel domaine basé sur plusieurs signaux de sécurité et de confiance. L'API vérifie la configuration de sécurité DNS, les certificats SSL, les listes noires (Spamhaus, SURBL), le renseignement sur les menaces (URLhaus), l'authentification de courrier électronique et la présence Web pour calculer un score pondéré avec des recommandations exploitables.

Réputation du Domaine

Obtenez un score de réputation global (0-100) pour n'importe quel domaine basé sur plusieurs signaux de sécurité et de confiance. L'API vérifie la configuration de sécurité DNS, les certificats SSL, les listes noires (Spamhaus, SURBL), le renseignement sur les menaces (URLhaus), l'authentification de courrier électronique et la présence Web pour calculer un score pondéré avec des recommandations exploitables.

GET /v1/reputation

Paramètres de Requête

Paramètre Type requis
domain string requis

Champs de Réponse

Champ Type
domain string
reputation_score integer
grade string
risk_level string
reputation_score_confidence string
grade_capped_by_parking boolean
factors object
factors.age object
factors.dns_security object
factors.ssl_certificate object
factors.hosting object
factors.web_presence object
factors.blacklists object
factors.email_config object
recommendations[] object[]
recommendations[] object
recommendations[].priority string
recommendations[].category string
recommendations[].action string
recommendations[].impact string
meta object
meta.query_time_ms integer
meta.checks_performed integer
meta.cached boolean
meta.served_by string
meta.worker_version string

Exemple de Requête

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

Exemple de Réponse

{
  "domain": "example.com",
  "reputation_score": 76,
  "grade": "C",
  "risk_level": "medium",
  "reputation_score_confidence": "high",
  "grade_capped_by_parking": true,
  "factors": {
    "age": {
      "score": 84,
      "weight": 0.1,
      "details": {
        "age_days": 5840
      }
    },
    "dns_security": {
      "score": 80,
      "weight": 0.2,
      "details": {
        "dnssec": false,
        "spf": true,
        "dmarc": true,
        "dmarc_policy": "reject"
      }
    },
    "ssl_certificate": {
      "score": 92,
      "weight": 0.2,
      "details": {
        "valid": true,
        "error": null,
        "grade": "A",
        "chain_valid": true,
        "min_tls_version": "TLSv1.3"
      }
    },
    "hosting": {
      "score": 35,
      "weight": 0.1,
      "details": {
        "has_a_records": true,
        "a_record_count": 2,
        "parked": true
      }
    },
    "web_presence": {
      "score": 20,
      "weight": 0.15,
      "details": {
        "has_website": true,
        "redirects_to_https": true,
        "response_time_ms": 87,
        "parked": true,
        "for_sale": false,
        "parking_provider": "Example Parking"
      }
    },
    "blacklists": {
      "score": 100,
      "weight": 0.1,
      "details": {
        "listed": false,
        "threat_level": "none",
        "domain_sources": [],
        "ip_sources": []
      }
    },
    "email_config": {
      "score": 100,
      "weight": 0.15,
      "details": {
        "has_mx": true,
        "has_spf": true,
        "has_dmarc": true,
        "mx_count": 2
      }
    }
  },
  "recommendations": [
    {
      "priority": "high",
      "category": "web_presence",
      "action": "Move the domain off parking if it is intended for customer traffic.",
      "impact": "+10 points"
    }
  ],
  "meta": {
    "query_time_ms": 187,
    "checks_performed": 7,
    "cached": false,
    "served_by": "pop=MAD country=ES",
    "worker_version": "2.0.0"
  }
}
POST /v1/reputation/bulk

Corps de la requête

ChampTypeDescription
domains requis string[] Tableau de noms de domaines complets à vérifier

Utilisez POST /v1/reputation/bulk pour noter plusieurs domaines en une seule requête. Envoyez un corps JSON avec un tableau domains. Prend en charge jusqu'à 3 domaines par requête car chaque analyse déclenche plusieurs contrôles de sécurité.

Exemple de Requête

curl -X POST "https://domscan.net/v1/reputation/bulk"   -H "Content-Type: application/json"   -d '{
    "domains": ["stripe.com", "cloudflare.com", "example.com"]
  }'

Exemple de Réponse

{
  "results": [
    {
      "domain": "stripe.com",
      "reputation_score": 92,
      "grade": "A+",
      "risk_level": "low",
      "factors": {
        "dns_security": { "score": 100, "weight": 0.2 },
        "ssl_certificate": { "score": 100, "weight": 0.2 }
      },
      "recommendations": [],
      "meta": {
        "query_time_ms": 1250,
        "checks_performed": 7,
        "cached": false
      }
    },
    {
      "domain": "not a domain",
      "error": {
        "code": "INVALID_DOMAIN",
        "message": "Invalid domain format"
      }
    }
  ],
  "summary": {
    "total": 2,
    "successful": 1,
    "failed": 1,
    "cached": 0,
    "query_time_ms": 1310
  },
  "meta": {
    "served_by": "pop=MAD country=ES",
    "worker_version": "2.0.0"
  }
}

Champs de Réponse

Champ Type
results[] object[]
results[] object
results[].domain string
results[].reputation_score integer
results[].grade string
results[].risk_level string
results[].reputation_score_confidence string
results[].grade_capped_by_parking boolean
results[].factors object
results[].recommendations[] object[]
results[].recommendations[] object
results[].meta object
results[].error object
results[].error.code string
results[].error.message string
summary object
summary.total integer
summary.successful integer
summary.failed integer
summary.cached integer
summary.query_time_ms integer
meta object
meta.served_by string
meta.worker_version string

Utilisé par les gens des meilleures entreprises

VercelLLM PulseOLXCasa ModernaPipeCal.comBeehiivSnykTogglRemoteSprigDeel