DNS et réseau 1 Points de terminaison 8 Fonctionnalités clés

API de Analyse de Sécurité DNS

Votre domaine est-il correctement sécurisé ? Notre API de sécurité DNS analyse les enregistrements SPF, DKIM, DMARC, DNSSEC et CAA pour vous donner un score de sécurité global avec des recommandations exploitables.

Catégorie DNS et réseau
Points de terminaison 1
Fonctionnalités clés 8
Foire aux questions 4

Utilisé par les gens des meilleures entreprises

VercelLLM PulseOLXCasa ModernaPipeCal.comBeehiivSnykTogglRemoteSprigDeel

Signaux de confiance avant intégration

Une documentation transparente, des requêtes authentifiées et des détails de fiabilité visibles facilitent l’évaluation de DomScan avant mise en production.

En direct État du service

Vérifiez l’état du service en direct et les réponses d’échec documentées avant de procéder à l’intégration.

OpenAPI Artefacts API

OpenAPI, Swagger, Postman, CLI, SDK et liens MCP sont accessibles en un clic.

Clés API Accès protégé

Les endpoints authentifiés utilisent des clés API avec des coûts en crédits clairs avant l’appel.

10,000 Quota gratuit

Commencez avec 10 000 crédits mensuels et passez à l’offre supérieure seulement quand l’usage augmente.

Ce que cette API vous aide à livrer

Utilisez cette page comme brief de production : endpoints, exemples, structure de réponse et éléments de workflow pour intégrer DomScan à votre produit.

Workflows produit

Intégrez vérifications de domaines, intelligence DNS, signaux de risque ou enrichissement dans l’onboarding, la recherche et les outils internes.

Automatisation analyste

Remplacez les recherches manuelles répétées par des tâches planifiées, des alertes et des étapes d’enquête reproductibles.

Données JSON propres

Utilisez des champs prévisibles, des codes d’état documentés et des coûts en crédits au lieu de scraper des pages fournisseur.

IA et opérations

Alimentez agents, tableaux de bord, playbooks SOAR et CRMs via OpenAPI, SDK, Postman ou MCP.

Flux d’intégration

Un parcours simple de la première requête à un usage répétable en production.

1
Authentifier une fois

Envoyez votre clé API avec l’en-tête documenté et gardez des requêtes cohérentes entre services.

2
Interroger avec les exemples

Commencez par les exemples curl et HTTP, puis mappez les paramètres dans le code de votre application.

3
Exploiter et surveiller

Utilisez codes d’état, coûts en crédits et champs de réponse pour construire retries, logs et alertes.

Kit développeur

Passez de cette page aux docs lisibles par machine, collections de requêtes, SDKs ou outils d’agents.

Carte des paramètres et réponses

Parcourez les entrées, champs de sortie et codes d’état avant de connecter l’endpoint à votre client.

Paramètres de requête

Paramètre

domain
Champs de réponse

Exemple de Réponse

domainsecurity_scoresecurity_gradespfspf.existsspf.recordspf.validspf.policyspf.includesspf.dns_lookup_countspf.dns_lookup_limit_exceededspf.include_tree
Couverture des statuts

Codes de Statut HTTP

200400401402429

Points de terminaison

GET /v1/dns/security
Crédits: 3Authentification: Authentification requise
domain

Signaux de confiance avant intégration

Une documentation transparente, des requêtes authentifiées et des détails de fiabilité visibles facilitent l’évaluation de DomScan avant mise en production.

État du service Artefacts API

OpenAPI, Swagger, Postman, CLI, SDK et liens MCP sont accessibles en un clic.

Clés API Accès protégé

Les endpoints authentifiés utilisent des clés API avec des coûts en crédits clairs avant l’appel.

Quota gratuit Inscrivez-vous Gratuitement

Commencez avec 10 000 crédits mensuels et passez à l’offre supérieure seulement quand l’usage augmente.

Actif Exemple de Requête

Commencez par les exemples curl et HTTP, puis mappez les paramètres dans le code de votre application.

Fonctionnalités clés

Analyse SPF

Validez les enregistrements SPF et vérifiez les erreurs de configuration courantes.

Détection DKIM

Recherchez des enregistrements DKIM sur des sélecteurs courants.

Validation DMARC

Analysez la politique DMARC, le pourcentage et les adresses de rapport.

Vérification DNSSEC

Vérifiez que DNSSEC est activé et correctement configuré.

Enregistrements CAA

Vérifiez la configuration de l'autorisation de l'autorité de certification.

Score de Sécurité

Obtenez un score de 0-100 avec une note alphabétique (A+ à F).

Recommandations Exploitables

Des conseils clairs sur comment améliorer votre posture de sécurité.

Détection MTA-STS

Vérifiez l'agent de transfert de courrier Sécurité de transport stricte.

Exemple de Requête

GET /v1/dns/security bash
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/dns/security?domain=google.com"

Exemple de Réponse

200 OK json
{
  "domain": "google.com",
  "security_score": 97,
  "security_grade": "A+",
  "spf": {
    "exists": true,
    "record": "v=spf1 include:_spf.google.com ~all",
    "valid": true,
    "policy": "softfail",
    "includes": [
      "_spf.google.com"
    ],
    "dns_lookup_count": 1,
    "dns_lookup_limit_exceeded": false,
    "include_tree": [
      {
        "domain": "_spf.google.com",
        "lookups": 1
      }
    ],
    "lookup_walk_count": 1,
    "macros_present": false,
    "macro_references": [],
    "walk": [
      {
        "domain": "google.com",
        "depth": 0,
        "record": "v=spf1 include:_spf.google.com ~all",
        "mechanisms": [
          "include:_spf.google.com",
          "~all"
        ],
        "includes": [
          "_spf.google.com"
        ],
        "redirect": null,
        "direct_lookup_count": 1,
        "total_lookup_count": 1,
        "macros_present": false,
        "macro_references": [],
        "multiple_records": 1
      }
    ],
    "walk_errors": [],
    "issues": []
  },
  "dkim": {
    "exists": true,
    "selectors_checked": [
      "google",
      "selector1",
      "selector2"
    ],
    "selectors_found": [
      "google"
    ],
    "valid": true
  },
  "dmarc": {
    "exists": true,
    "record": "v=DMARC1; p=reject; rua=mailto:[email protected]",
    "valid": true,
    "policy": "reject",
    "subdomain_policy": "reject",
    "percentage": 100,
    "rua": [
      "mailto:[email protected]"
    ],
    "ruf": [],
    "issues": []
  },
  "bimi": {
    "exists": true,
    "record": "v=BIMI1; l=https://example.com/logo.svg; a=https://example.com/vmc.pem",
    "logo_url": "https://example.com/logo.svg",
    "authority_url": "https://example.com/vmc.pem",
    "valid": true,
    "logo_fetch_ok": true,
    "logo_http_status": 200,
    "logo_content_type": "image/svg+xml",
    "logo_bytes": 2048,
    "logo_svg_detected": true,
    "vmc_present": true,
    "vmc_fetched": true,
    "vmc_http_status": 200,
    "vmc_content_type": "application/x-pem-file",
    "vmc_certificate_valid": true,
    "vmc_subject": "/CN=Example Inc VMC",
    "vmc_issuer": "/CN=Example Issuer",
    "vmc_not_before": "2026-01-01T00:00:00Z",
    "vmc_not_after": "2027-01-01T00:00:00Z",
    "vmc_days_to_expiry": 258,
    "vmc_fingerprint_sha256": "AA:BB:CC:DD",
    "vmc_san_domains": [
      "google.com"
    ],
    "errors": []
  },
  "dnssec": {
    "enabled": true,
    "valid": true,
    "algorithm": "ECDSAP256SHA256",
    "key_tag": 12345,
    "validation_status": "secure",
    "validated_by_proxy": true,
    "validation_reason": "chain validated via delv",
    "ds_records": [
      "12345 13 2 1a2b3c4d5e6f"
    ],
    "dnskey_records": [
      "256 3 13 AbCdEfGhIjKlMnOp"
    ],
    "rrsig_present": true,
    "resolver": "127.0.0.1",
    "mismatch_detail": {
      "checked": true,
      "mismatch_detected": false,
      "reason": "chain validated via delv",
      "ds_record_count": 1,
      "dnskey_record_count": 1,
      "rrsig_present": true,
      "validation_status": "secure",
      "resolver": "127.0.0.1"
    }
  },
  "caa": {
    "exists": true,
    "records": [
      {
        "flags": 0,
        "tag": "issue",
        "value": "pki.goog"
      }
    ],
    "issuers": [
      "pki.goog"
    ],
    "issue_wild": [],
    "iodef": "mailto:[email protected]"
  },
  "issuance_readiness": {
    "caa": {
      "exists": true,
      "records": [
        {
          "flags": 0,
          "tag": "issue",
          "value": "pki.goog"
        },
        {
          "flags": 0,
          "tag": "iodef",
          "value": "mailto:[email protected]"
        }
      ],
      "issue_issuers": [
        "pki.goog"
      ],
      "issuewild_issuers": [],
      "iodef": "mailto:[email protected]",
      "letsencrypt_allowed": false,
      "google_trust_services_allowed": true
    },
    "http01": {
      "challenge_path": "/.well-known/acme-challenge/domscan-probe-1713474000",
      "reachable": true,
      "ready": true,
      "status_code": 404,
      "final_url": "http://google.com/.well-known/acme-challenge/domscan-probe-1713474000",
      "redirects": 0,
      "error": null
    },
    "checked_at": "2026-04-18T21:00:00Z"
  },
  "authoritative_consistency": {
    "record_type": "SOA",
    "all_authoritative": true,
    "answer_sets_match": true,
    "inconsistent_nameservers": [],
    "consistent_serial": true,
    "serials": [
      {
        "host": "ns1.google.com",
        "udp_soa_serial": "2026041801",
        "tcp_soa_serial": "2026041801"
      }
    ],
    "reference_answers": [
      "google.com. 60 IN SOA ns1.google.com. dns-admin.google.com. 2026041801 900 900 1800 60"
    ]
  },
  "delegation_health": {
    "nameservers": [
      {
        "host": "ns1.google.com",
        "addresses": [
          "216.239.32.10"
        ],
        "in_bailiwick": false,
        "glue_required": false,
        "udp": {
          "authoritative": true,
          "status": "NOERROR",
          "query_ms": 14,
          "answer_count": 1,
          "answers": [
            "google.com. 60 IN SOA ns1.google.com. dns-admin.google.com. 2026041801 900 900 1800 60"
          ],
          "soa_serial": "2026041801",
          "truncated": false,
          "error": null
        },
        "tcp": {
          "authoritative": true,
          "status": "NOERROR",
          "query_ms": 18,
          "answer_count": 1,
          "answers": [
            "google.com. 60 IN SOA ns1.google.com. dns-admin.google.com. 2026041801 900 900 1800 60"
          ],
          "soa_serial": "2026041801",
          "truncated": false,
          "error": null
        },
        "lame": false,
        "issues": []
      }
    ],
    "in_bailiwick_nameservers": [],
    "glue_required_count": 0,
    "all_in_bailiwick_resolve": true,
    "missing_addresses": [],
    "lame_nameservers": []
  },
  "dns_transport": {
    "udp_working": true,
    "tcp_working": true,
    "tcp_supported_nameservers": [
      "ns1.google.com"
    ],
    "tcp_failed_nameservers": [],
    "truncation_tested": true,
    "truncation_nameserver": "ns1.google.com",
    "truncation_record_type": "DNSKEY",
    "truncation_observed": false,
    "tcp_fallback_ready": null
  },
  "nameserver_drift": {
    "checked": true,
    "drift_detected": false,
    "public_nameservers": [
      "ns1.google.com"
    ],
    "authoritative_nameservers": [
      "ns1.google.com"
    ],
    "missing_from_authority": [],
    "extra_at_authority": [],
    "inconsistent_nameservers": [],
    "serial_mismatch_detected": false
  },
  "mta_sts": {
    "exists": true,
    "record": "v=STSv1; id=2024010101Z",
    "valid": true,
    "policy_id": "2024010101Z",
    "policy_fetch_ok": true,
    "policy_http_status": 200,
    "mode": "enforce",
    "max_age": 86400,
    "mx_hosts": [
      "*.google.com"
    ],
    "mx_records": [
      "aspmx.l.google.com",
      "alt1.aspmx.l.google.com"
    ],
    "policy_matches_mx": true,
    "uncovered_mx": [],
    "errors": []
  },
  "tls_rpt": {
    "exists": true,
    "record": "v=TLSRPTv1; rua=mailto:[email protected]",
    "valid": true,
    "rua": [
      "mailto:[email protected]"
    ],
    "errors": []
  },
  "resolver_latency": {
    "record_type": "MX",
    "resolvers": [
      {
        "resolver": "1.1.1.1",
        "label": "Cloudflare",
        "query_ms": 22,
        "status": "NOERROR",
        "answer_count": 5,
        "answers": [
          "aspmx.l.google.com"
        ],
        "server": "1.1.1.1#53",
        "error": null
      },
      {
        "resolver": "8.8.8.8",
        "label": "Google Public DNS",
        "query_ms": 3,
        "status": "NOERROR",
        "answer_count": 5,
        "answers": [
          "aspmx.l.google.com"
        ],
        "server": "8.8.8.8#53",
        "error": null
      }
    ],
    "min_ms": 3,
    "max_ms": 22,
    "avg_ms": 12.5
  },
  "zone_transfer": {
    "exposed": false,
    "nameservers": [
      {
        "host": "ns1.google.com",
        "exposed": false,
        "query_ms": 18,
        "records_returned": 0,
        "soa_seen": false,
        "reason": "transfer failed",
        "sample_records": []
      }
    ]
  },
  "blacklist": {
    "domain": "google.com",
    "listed": false,
    "threat_level": "none",
    "check_type": "domain",
    "checked_at": "2026-04-18T21:00:00Z"
  },
  "edge_summary": {
    "relay_configured": true,
    "evidence_sources": [
      "dnssec_validate",
      "axfr_check",
      "dns_authority_health",
      "dns_latency",
      "issuance_readiness",
      "mail_policies",
      "bimi_audit",
      "spf_walk"
    ],
    "secure_dns_chain": true,
    "zone_transfer_exposed": false,
    "authoritative_consistency_ok": true,
    "nameserver_drift_detected": false,
    "lame_nameserver_count": 0,
    "tcp_fallback_ready": null,
    "avg_resolver_latency_ms": 12.5,
    "fastest_resolver": "Google Public DNS",
    "slowest_resolver": "Cloudflare",
    "issuance_http01_ready": true,
    "caa_restricts_issuers": true,
    "bimi_vmc_valid": true,
    "mta_sts_enforced": true,
    "tls_rpt_configured": true,
    "spf_lookup_limit_exceeded": false
  },
  "recommendations": [],
  "checked_at": "2026-04-18T21:00:00Z",
  "check_duration_ms": 312
}

Foire aux questions

Que sont SPF, DKIM et DMARC ?

SPF spécifie quels serveurs peuvent envoyer du courrier pour votre domaine. DKIM ajoute une signature numérique aux courriers. DMARC indique aux serveurs récepteurs quoi faire avec les courriers qui échouent aux vérifications SPF/DKIM. Ensemble, ils empêchent l'usurpation d'identité de courrier.

Pourquoi la sécurité DNS est-elle importante ?

Une sécurité DNS appropriée empêche l'usurpation d'identité de courrier (attaques de phishing se faisant passer pour vous), améliore la délivrabilité du courrier et protège la réputation de votre marque.

Quel est un bon score de sécurité ?

Un score de 85+ (grade A ou A+) indique une excellente sécurité. 70-84 (B) est bon. Moins de 70 indique une marge de manœuvre importante.

Comment améliorer mon score de sécurité DNS ?

Les améliorations courantes incluent : l'ajout d'enregistrements SPF avec -all, la configuration de la signature DKIM, la mise en œuvre de DMARC avec la politique de quarantaine/rejet, l'activation de DNSSEC et l'ajout d'enregistrements CAA.

Outils et Ressources Connexes

Codes de Statut HTTP

Nous documentons les codes d'état HTTP que votre client doit gérer afin de distinguer les réponses réussies, les problèmes d'authentification, les crédits, les limites de débit, les données introuvables et les erreurs en amont.

OK 200

Requête réussie

Requête incorrecte 400

Paramètres invalides

Non autorisé 401

Clé API ou session manquante ou invalide.

Paiement requis 402

Crédits insuffisants pour exécuter cette requête.

Trop de requêtes 429

Limite de débit dépassée

Analysez la Sécurité DNS Gratuitement