Les endpoints prêts pour la production sont conçus pour 99,99% de disponibilité et une gestion documentée des statuts.
Utilisé par les gens des meilleures entreprises
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.
OpenAPI, Swagger, Postman, CLI, SDK et liens MCP sont accessibles en un clic.
Les endpoints authentifiés utilisent des clés API avec des coûts en crédits clairs avant l’appel.
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.
Intégrez vérifications de domaines, intelligence DNS, signaux de risque ou enrichissement dans l’onboarding, la recherche et les outils internes.
Remplacez les recherches manuelles répétées par des tâches planifiées, des alertes et des étapes d’enquête reproductibles.
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.
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.
Envoyez votre clé API avec l’en-tête documenté et gardez des requêtes cohérentes entre services.
Commencez par les exemples curl et HTTP, puis mappez les paramètres dans le code de votre application.
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.
Générez des clients ou inspectez chaque forme de requête et de réponse.
Collection PostmanImportez des requêtes prêtes pour les tests manuels et le transfert à l’équipe.
SDKs et CLIUtilisez des packages maintenus et des workflows en ligne de commande au lieu d’écrire du boilerplate.
Intégration MCPExposez l’intelligence de domaines aux agents IA et aux assistants internes.
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ètre
Exemple de Réponse
Codes de Statut HTTP
Points d'accès
/v1/dns/security
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.
OpenAPI, Swagger, Postman, CLI, SDK et liens MCP sont accessibles en un clic.
Les endpoints authentifiés utilisent des clés API avec des coûts en crédits clairs avant l’appel.
Commencez avec 10 000 crédits mensuels et passez à l’offre supérieure seulement quand l’usage augmente.
Commencez par les exemples curl et HTTP, puis mappez les paramètres dans le code de votre application.
Fonctionnalités clés
Validez les enregistrements SPF et vérifiez les erreurs de configuration courantes.
Recherchez des enregistrements DKIM sur des sélecteurs courants.
Analysez la politique DMARC, le pourcentage et les adresses de rapport.
Vérifiez que DNSSEC est activé et correctement configuré.
Vérifiez la configuration de l'autorisation de l'autorité de certification.
Obtenez un score de 0-100 avec une note alphabétique (A+ à F).
Des conseils clairs sur comment améliorer votre posture de sécurité.
Vérifiez l'agent de transfert de courrier Sécurité de transport stricte.
Exemple de Requête
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/dns/security?domain=google.com"
Exemple de Réponse
{
"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:mailauth-reports@google.com",
"valid": true,
"policy": "reject",
"subdomain_policy": "reject",
"percentage": 100,
"rua": [
"mailto:mailauth-reports@google.com"
],
"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:security@google.com"
},
"issuance_readiness": {
"caa": {
"exists": true,
"records": [
{
"flags": 0,
"tag": "issue",
"value": "pki.goog"
},
{
"flags": 0,
"tag": "iodef",
"value": "mailto:security@google.com"
}
],
"issue_issuers": [
"pki.goog"
],
"issuewild_issuers": [],
"iodef": "mailto:security@google.com",
"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:sts-reports@google.com",
"valid": true,
"rua": [
"mailto:sts-reports@google.com"
],
"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
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.
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.
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.
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.
Requête réussie
Paramètres invalides
Crédits insuffisants pour exécuter cette requête.
Limite de débit dépassée
Erreur interne
Erreur RDAP en amont
Le service amont est indisponible ou limite temporairement les requêtes.
La requête amont a expiré.
Analysez la Sécurité DNS Gratuitement