Référence API

API Détection de Pile Technologique

Détectez la pile technologique utilisée par un site web incluant CMS, frameworks et services. Utilisez cette référence pour choisir une opération et intégrer son contrat de réponse documenté.

Opérations

POST /v1/tech/bulk Voir la référence API
POST /v1/tech/jobs Voir la référence API
GET /v1/tech/jobs Voir la référence API
GET /v1/tech/jobs/:job_id Voir la référence API
GET /v1/tech/jobs/:job_id/results Voir la référence API
DELETE /v1/tech/jobs/:job_id Voir la référence API
GET /v1/hosting Voir la référence API
POST /v1/hosting/bulk Voir la référence API
GET /v1/parking Voir la référence API

GET /v1/tech

Opération: getTechStack Crédits et authentification: 3-9 Authentification requise
GET /v1/tech

Paramètres de Requête

Paramètre Type requis
url string optionnel
domain string optionnel
mode string
Valeurs autorisées fastrendereddeep
Défaut fast
optionnel
max_pages integer
Défaut 3
optionnel
skip_cache string
Valeurs autorisées 01
Défaut 0
optionnel

Champs de Réponse

Champ Type
url string
technologies[] object[]
technologies[] object
technologies[].id string
technologies[].name string
technologies[].category string
technologies[].version string
technologies[].version_kind string
technologies[].confidence string
technologies[].confidence_score integer
technologies[].evidence string
technologies[].evidence_details[] object[]
technologies[].evidence_details[] object
technologies[].evidence_details[].source string
technologies[].evidence_details[].key string
technologies[].evidence_details[].matched string
technologies[].evidence_details[].page_url string
technologies[].source_count integer
technologies[].caveats[] string[]
technologies[].reference object
technologies[].reference.website string
technologies[].reference.source_url string
technologies[].reference.source_owner string
technologies[].reference.source_kind string
technologies[].reference.access string
technologies[].reference.access_method string
technologies[].reference.cost string
technologies[].reference.terms_status string
technologies[].reference.expected_freshness string
technologies[].reference.maintenance_risk string
technologies[].reference.runtime_rate_limits string
technologies[].reference.fallback_behavior string
technologies[].reference.last_verified string
detection_summary object
detection_summary.detected_count integer
detection_summary.category_count integer
detection_summary.categories[] string[]
detection_summary.high_confidence_count integer
detection_summary.medium_confidence_count integer
detection_summary.low_confidence_count integer
detection_summary.versioned_count integer
detection_summary.evidence_sources object
detection_summary.evidence_sources.header integer
detection_summary.evidence_sources.html integer
detection_summary.evidence_sources.asset_url integer
detection_summary.evidence_sources.network_url integer
detection_summary.evidence_sources.javascript integer
detection_summary.evidence_sources.meta integer
detection_summary.evidence_sources.cookie integer
detection_summary.evidence_sources.url integer
detection_summary.catalog_size integer
detection_summary.catalog_category_count integer
detection_summary.summary_field_count integer
summary object
summary.cdn string
summary.server string
summary.framework string
summary.cms string
summary.hosting string
summary.platform string
summary.analytics[] string[]
headers object
meta object
ssl object
ssl.enabled boolean
analysis object
analysis.status string
analysis.requested_url string
analysis.final_url string
analysis.response_status integer
analysis.redirect_count integer
analysis.relay_used boolean
analysis.signals_checked[] string[]
analysis.signals_unavailable[] string[]
analysis.html_characters_analyzed integer
analysis.html_bytes_analyzed integer
analysis.html_byte_limit integer
analysis.html_truncated boolean
analysis.response_body_truncated boolean
analysis.mode string
analysis.rendered boolean
analysis.javascript_executed boolean
analysis.pages_requested integer
analysis.pages_analyzed integer
analysis.page_limit integer
analysis.network_requests_observed integer
analysis.page_limit_reached boolean
analysis.resource_limit_reached boolean
analysis.redirected_to_different_host boolean
analysis.no_detection_reason string | null
analysis.recommended_mode string | null
analysis.pages[] object[]
analysis.pages[] object
analysis.pages[].url string
analysis.pages[].status integer
analysis.pages[].html_truncated boolean
analysis.pages[].network_requests_observed integer
total_time_ms integer
checked_at string
_meta object
_meta.served_by string
_meta.analysis_status string
_meta.response_status integer
_meta.cache_status string
_meta.stale boolean
_meta.cached_at string

Exemple de Requête

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/tech?url=https%3A%2F%2Fexample.com&domain=example.com&mode=example.com&max_pages=example.com&skip_cache=example.com"

Exemple de Réponse

{
  "url": "https://example.com",
  "technologies": [
    {
      "id": "string",
      "name": "string",
      "category": "string",
      "version": "string",
      "version_kind": "product",
      "confidence": "high",
      "confidence_score": 1,
      "evidence": "string",
      "evidence_details": [
        {
          "source": "header",
          "key": "string",
          "matched": "string",
          "page_url": "https://example.com"
        }
      ],
      "source_count": 1,
      "caveats": [
        "string"
      ],
      "reference": {
        "website": "https://example.com",
        "source_url": "https://example.com",
        "source_owner": "string",
        "source_kind": "official_docs",
        "access": "public",
        "access_method": "target_response_inspection",
        "cost": "none",
        "terms_status": "public_source_reviewed_factual_signature",
        "expected_freshness": "reverify_on_source_or_signature_change",
        "maintenance_risk": "low",
        "runtime_rate_limits": "not_applicable_no_source_request",
        "fallback_behavior": "unmatched_or_unavailable_signal_is_not_detected",
        "last_verified": "2026-04-15"
      }
    }
  ],
  "detection_summary": {
    "detected_count": 1,
    "category_count": 1,
    "categories": [
      "string"
    ],
    "high_confidence_count": 1,
    "medium_confidence_count": 1,
    "low_confidence_count": 1,
    "versioned_count": 1,
    "evidence_sources": {
      "header": 1,
      "html": 1,
      "asset_url": "https://example.com",
      "network_url": "https://example.com",
      "javascript": "198.51.100.10",
      "meta": 1,
      "cookie": 1,
      "url": "https://example.com"
    },
    "catalog_size": 1,
    "catalog_category_count": 1,
    "summary_field_count": 1
  },
  "summary": {
    "cdn": "string",
    "server": "string",
    "framework": "string",
    "cms": "string",
    "hosting": "string",
    "platform": "string",
    "analytics": [
      "string"
    ]
  },
  "headers": {},
  "meta": {},
  "ssl": {
    "enabled": true
  },
  "analysis": {
    "status": "complete",
    "requested_url": "https://example.com",
    "final_url": "https://example.com",
    "response_status": 1,
    "redirect_count": 1,
    "relay_used": true,
    "signals_checked": [
      "header"
    ],
    "signals_unavailable": [
      "header"
    ],
    "html_characters_analyzed": 1,
    "html_bytes_analyzed": 1,
    "html_byte_limit": 1,
    "html_truncated": true,
    "response_body_truncated": true,
    "mode": "fast",
    "rendered": true,
    "javascript_executed": "198.51.100.10",
    "pages_requested": 1,
    "pages_analyzed": 1,
    "page_limit": 1,
    "network_requests_observed": 1,
    "page_limit_reached": true,
    "resource_limit_reached": true,
    "redirected_to_different_host": true,
    "no_detection_reason": "redirected_to_different_host",
    "recommended_mode": "rendered",
    "pages": [
      {
        "url": "https://example.com",
        "status": 1,
        "html_truncated": true,
        "network_requests_observed": 1
      }
    ]
  },
  "total_time_ms": "2026-04-15T12:00:00Z",
  "checked_at": "2026-04-15T12:00:00Z",
  "_meta": {
    "served_by": "string",
    "analysis_status": "ok",
    "response_status": 1,
    "cache_status": "miss",
    "stale": true,
    "cached_at": "2026-04-15T12:00:00Z"
  }
}

POST /v1/tech/bulk

Opération: postTechStackBulk Crédits et authentification: 3 Authentification requise
POST /v1/tech/bulk

Paramètres du Corps

Paramètre Type requis
mode string
Valeurs autorisées fast
Défaut fast
optionnel
targets unknown[] requis

Champs de Réponse

Champ Type
results[] object[]
results[] object
results[].index integer
results[].input string
results[].reference string
results[].status string
results[].data object
results[].error object
results[].error.code string
results[].error.message string
results[].error.status integer
results[].error.retryable boolean
results[].billing object
results[].billing.credits_charged integer
results[].billing.credits_refunded integer
meta object
meta.total integer
meta.succeeded integer
meta.failed integer
meta.mode string
meta.max_items integer
meta.credits_per_item integer
meta.credits_charged integer
meta.credits_refunded integer
meta.analysis_status string
meta.detected_count integer
meta.empty_result boolean
meta.duration_ms integer

Exemple de Requête

curl -X POST "https://domscan.net/v1/tech/bulk" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $DOMSCAN_API_KEY" \
  -d '{
  "mode": "fast",
  "targets": [
    "example.com",
    {
      "url": "https://shop.example.com/",
      "reference": "crm-42"
    }
  ]
}'

Exemple de Réponse

{
  "results": [
    {
      "index": 1,
      "input": "string",
      "reference": "string",
      "status": "succeeded",
      "data": {},
      "error": {
        "code": "string",
        "message": "string",
        "status": 1,
        "retryable": true
      },
      "billing": {
        "credits_charged": 1,
        "credits_refunded": 1
      }
    }
  ],
  "meta": {
    "total": 1,
    "succeeded": 1,
    "failed": 1,
    "mode": "fast",
    "max_items": 10,
    "credits_per_item": 3,
    "credits_charged": 1,
    "credits_refunded": 1,
    "analysis_status": "complete",
    "detected_count": 1,
    "empty_result": true,
    "duration_ms": 1
  }
}

POST /v1/tech/jobs

Opération: createTechScanJob Crédits et authentification: 3 Authentification requise
POST /v1/tech/jobs

Paramètres du Corps

Paramètre Type requis
mode string
Valeurs autorisées fastrendereddeep
Défaut fast
optionnel
max_pages integer optionnel
targets unknown[] requis

Champs de Réponse

Champ Type
job object
job.id string
job.status string
job.mode string
job.max_pages integer
job.total integer
job.counts object
job.counts.pending integer
job.counts.processing integer
job.counts.succeeded integer
job.counts.failed integer
job.counts.cancelled integer
job.billing object
job.billing.credits_per_item integer
job.billing.credits_charged integer
job.billing.credits_refunded integer
job.billing.credits_net integer
job.status_url string
job.results_url string
job.poll_after_ms integer | null
job.created_at string
job.started_at string | null
job.completed_at string | null
job.cancelled_at string | null
job.updated_at string
job.processing_deadline_at string
job.results_expires_at string
idempotent_replay boolean

Exemple de Requête

curl -X POST "https://domscan.net/v1/tech/jobs" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $DOMSCAN_API_KEY" \
  -d '{
  "mode": "deep",
  "max_pages": 3,
  "targets": [
    "example.com",
    {
      "url": "https://shop.example.com/",
      "reference": "shop"
    }
  ]
}'

Exemple de Réponse

{
  "job": {
    "id": "string",
    "status": "queued",
    "mode": "fast",
    "max_pages": 1,
    "total": 1,
    "counts": {
      "pending": 1,
      "processing": 1,
      "succeeded": 1,
      "failed": 1,
      "cancelled": 1
    },
    "billing": {
      "credits_per_item": 3,
      "credits_charged": 1,
      "credits_refunded": 1,
      "credits_net": 1
    },
    "status_url": "https://example.com",
    "results_url": "https://example.com",
    "poll_after_ms": 1,
    "created_at": "2026-04-15T12:00:00Z",
    "started_at": "2026-04-15T12:00:00Z",
    "completed_at": "2026-04-15T12:00:00Z",
    "cancelled_at": "2026-04-15T12:00:00Z",
    "updated_at": "2026-04-15T12:00:00Z",
    "processing_deadline_at": "2026-04-15T12:00:00Z",
    "results_expires_at": "2026-04-15T12:00:00Z"
  },
  "idempotent_replay": true
}

GET /v1/tech/jobs

Opération: listTechScanJobs Crédits et authentification: Gratuit Authentification requise
GET /v1/tech/jobs

Paramètres de Requête

Paramètre Type requis
limit integer
Défaut 25
optionnel
cursor string optionnel

Champs de Réponse

Champ Type
jobs[] object[]
jobs[] object
jobs[].id string
jobs[].status string
jobs[].mode string
jobs[].max_pages integer
jobs[].total integer
jobs[].counts object
jobs[].counts.pending integer
jobs[].counts.processing integer
jobs[].counts.succeeded integer
jobs[].counts.failed integer
jobs[].counts.cancelled integer
jobs[].billing object
jobs[].billing.credits_per_item integer
jobs[].billing.credits_charged integer
jobs[].billing.credits_refunded integer
jobs[].billing.credits_net integer
jobs[].status_url string
jobs[].results_url string
jobs[].poll_after_ms integer | null
jobs[].created_at string
jobs[].started_at string | null
jobs[].completed_at string | null
jobs[].cancelled_at string | null
jobs[].updated_at string
jobs[].processing_deadline_at string
jobs[].results_expires_at string
pagination object
pagination.limit integer
pagination.next_cursor string | null
pagination.has_more boolean

Exemple de Requête

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/tech/jobs?limit=25&cursor=example.com"

Exemple de Réponse

{
  "jobs": [
    {
      "id": "string",
      "status": "queued",
      "mode": "fast",
      "max_pages": 1,
      "total": 1,
      "counts": {
        "pending": 1,
        "processing": 1,
        "succeeded": 1,
        "failed": 1,
        "cancelled": 1
      },
      "billing": {
        "credits_per_item": 3,
        "credits_charged": 1,
        "credits_refunded": 1,
        "credits_net": 1
      },
      "status_url": "https://example.com",
      "results_url": "https://example.com",
      "poll_after_ms": 1,
      "created_at": "2026-04-15T12:00:00Z",
      "started_at": "2026-04-15T12:00:00Z",
      "completed_at": "2026-04-15T12:00:00Z",
      "cancelled_at": "2026-04-15T12:00:00Z",
      "updated_at": "2026-04-15T12:00:00Z",
      "processing_deadline_at": "2026-04-15T12:00:00Z",
      "results_expires_at": "2026-04-15T12:00:00Z"
    }
  ],
  "pagination": {
    "limit": 1,
    "next_cursor": "string",
    "has_more": true
  }
}

GET /v1/tech/jobs/:job_id

Opération: getTechScanJob Crédits et authentification: Gratuit Authentification requise
GET /v1/tech/jobs/:job_id

Paramètres de Requête

Paramètre Type requis
job_id string requis

Champs de Réponse

Champ Type
job object
job.id string
job.status string
job.mode string
job.max_pages integer
job.total integer
job.counts object
job.counts.pending integer
job.counts.processing integer
job.counts.succeeded integer
job.counts.failed integer
job.counts.cancelled integer
job.billing object
job.billing.credits_per_item integer
job.billing.credits_charged integer
job.billing.credits_refunded integer
job.billing.credits_net integer
job.status_url string
job.results_url string
job.poll_after_ms integer | null
job.created_at string
job.started_at string | null
job.completed_at string | null
job.cancelled_at string | null
job.updated_at string
job.processing_deadline_at string
job.results_expires_at string

Exemple de Requête

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/tech/jobs/example.com"

Exemple de Réponse

{
  "job": {
    "id": "string",
    "status": "queued",
    "mode": "fast",
    "max_pages": 1,
    "total": 1,
    "counts": {
      "pending": 1,
      "processing": 1,
      "succeeded": 1,
      "failed": 1,
      "cancelled": 1
    },
    "billing": {
      "credits_per_item": 3,
      "credits_charged": 1,
      "credits_refunded": 1,
      "credits_net": 1
    },
    "status_url": "https://example.com",
    "results_url": "https://example.com",
    "poll_after_ms": 1,
    "created_at": "2026-04-15T12:00:00Z",
    "started_at": "2026-04-15T12:00:00Z",
    "completed_at": "2026-04-15T12:00:00Z",
    "cancelled_at": "2026-04-15T12:00:00Z",
    "updated_at": "2026-04-15T12:00:00Z",
    "processing_deadline_at": "2026-04-15T12:00:00Z",
    "results_expires_at": "2026-04-15T12:00:00Z"
  }
}

GET /v1/tech/jobs/:job_id/results

Opération: getTechScanJobResults Crédits et authentification: Gratuit Authentification requise
GET /v1/tech/jobs/:job_id/results

Paramètres de Requête

Paramètre Type requis
job_id string requis
cursor string optionnel
limit integer
Défaut 25
optionnel

Champs de Réponse

Champ Type
job object
job.id string
job.status string
job.mode string
job.max_pages integer
job.total integer
job.counts object
job.counts.pending integer
job.counts.processing integer
job.counts.succeeded integer
job.counts.failed integer
job.counts.cancelled integer
job.billing object
job.billing.credits_per_item integer
job.billing.credits_charged integer
job.billing.credits_refunded integer
job.billing.credits_net integer
job.status_url string
job.results_url string
job.poll_after_ms integer | null
job.created_at string
job.started_at string | null
job.completed_at string | null
job.cancelled_at string | null
job.updated_at string
job.processing_deadline_at string
job.results_expires_at string
results[] object[]
results[] object
results[].index integer
results[].input string
results[].reference string
results[].status string
results[].data object
results[].error object
results[].billing object
results[].analysis_status string | null
results[].detected_count integer | null
pagination object
pagination.limit integer
pagination.next_cursor string | null
pagination.has_more boolean

Exemple de Requête

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/tech/jobs/example.com/results?cursor=example.com&limit=25"

Exemple de Réponse

{
  "job": {
    "id": "string",
    "status": "queued",
    "mode": "fast",
    "max_pages": 1,
    "total": 1,
    "counts": {
      "pending": 1,
      "processing": 1,
      "succeeded": 1,
      "failed": 1,
      "cancelled": 1
    },
    "billing": {
      "credits_per_item": 3,
      "credits_charged": 1,
      "credits_refunded": 1,
      "credits_net": 1
    },
    "status_url": "https://example.com",
    "results_url": "https://example.com",
    "poll_after_ms": 1,
    "created_at": "2026-04-15T12:00:00Z",
    "started_at": "2026-04-15T12:00:00Z",
    "completed_at": "2026-04-15T12:00:00Z",
    "cancelled_at": "2026-04-15T12:00:00Z",
    "updated_at": "2026-04-15T12:00:00Z",
    "processing_deadline_at": "2026-04-15T12:00:00Z",
    "results_expires_at": "2026-04-15T12:00:00Z"
  },
  "results": [
    {
      "index": 1,
      "input": "string",
      "reference": "string",
      "status": "pending",
      "data": {},
      "error": {},
      "billing": {},
      "analysis_status": "string",
      "detected_count": 1
    }
  ],
  "pagination": {
    "limit": 1,
    "next_cursor": "string",
    "has_more": true
  }
}

DELETE /v1/tech/jobs/:job_id

Opération: cancelTechScanJob Crédits et authentification: Gratuit Authentification requise
DELETE /v1/tech/jobs/:job_id

Paramètres de Requête

Paramètre Type requis
job_id string requis

Champs de Réponse

Champ Type
job object
job.id string
job.status string
job.mode string
job.max_pages integer
job.total integer
job.counts object
job.counts.pending integer
job.counts.processing integer
job.counts.succeeded integer
job.counts.failed integer
job.counts.cancelled integer
job.billing object
job.billing.credits_per_item integer
job.billing.credits_charged integer
job.billing.credits_refunded integer
job.billing.credits_net integer
job.status_url string
job.results_url string
job.poll_after_ms integer | null
job.created_at string
job.started_at string | null
job.completed_at string | null
job.cancelled_at string | null
job.updated_at string
job.processing_deadline_at string
job.results_expires_at string

Exemple de Requête

curl -X DELETE "https://domscan.net/v1/tech/jobs/example.com" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $DOMSCAN_API_KEY" \
  -d '{}'

Exemple de Réponse

{
  "job": {
    "id": "string",
    "status": "queued",
    "mode": "fast",
    "max_pages": 1,
    "total": 1,
    "counts": {
      "pending": 1,
      "processing": 1,
      "succeeded": 1,
      "failed": 1,
      "cancelled": 1
    },
    "billing": {
      "credits_per_item": 3,
      "credits_charged": 1,
      "credits_refunded": 1,
      "credits_net": 1
    },
    "status_url": "https://example.com",
    "results_url": "https://example.com",
    "poll_after_ms": 1,
    "created_at": "2026-04-15T12:00:00Z",
    "started_at": "2026-04-15T12:00:00Z",
    "completed_at": "2026-04-15T12:00:00Z",
    "cancelled_at": "2026-04-15T12:00:00Z",
    "updated_at": "2026-04-15T12:00:00Z",
    "processing_deadline_at": "2026-04-15T12:00:00Z",
    "results_expires_at": "2026-04-15T12:00:00Z"
  }
}

GET /v1/hosting

Opération: getHosting Crédits et authentification: 3 Authentification requise
GET /v1/hosting

Paramètres de Requête

Paramètre Type requis
domain string requis

Champs de Réponse

Champ Type
domain string
hosting object
hosting.provider string
hosting.provider_id string
hosting.confidence number
hosting.region string
hosting.detection_method string
cdn object
cdn.detected boolean
cdn.provider string
cdn.provider_id string
cdn.confidence number
cdn.detection_method string
cdn.features[] string[]
waf object
waf.detected boolean
waf.provider string
waf.provider_id string
waf.confidence number
waf.detection_method string
dns_provider object
dns_provider.provider string
dns_provider.provider_id string
dns_provider.nameservers[] string[]
dns_provider.confidence number
dns_providers[] object[]
dns_providers[] object
dns_providers[].provider_id string
dns_providers[].provider string
email_provider object
email_provider.provider string
email_provider.provider_id string
email_provider.mx_records[] string[]
email_provider.confidence number
ssh object
ssh.host string
ssh.port integer
ssh.reachable boolean
ssh.banner string | null
ssh.algorithms[] string[]
ssh.weak_algorithms[] string[]
ssh.keys[] object[]
ssh.keys[] object
ssh.keys[].host string
ssh.keys[].algorithm string
ssh.keys[].key_size integer | null
ssh.keys[].fingerprint_sha256 string | null
ssh.keys[].weak boolean
ssh.keys[].weak_reasons[] string[]
ssh.error string | null
ssh.checked_at string
provider_summary object
provider_summary.cache_status string
provider_summary.provider_count integer
provider_summary.detected_surfaces[] string[]
provider_summary.confidence string
provider_summary.confidence_score integer
provider_summary.hosting_provider string | null
provider_summary.cdn_provider string | null
provider_summary.waf_provider string | null
provider_summary.dns_provider_count integer
provider_summary.email_provider string | null
provider_summary.ssh_exposed boolean | null
provider_summary.evidence[] object[]
provider_summary.evidence[] object
provider_summary.evidence[].surface string
provider_summary.evidence[].provider string
provider_summary.evidence[].confidence number | null
provider_summary.evidence[].method string | null
ip_info object
ip_info.ipv4[] string[]
ip_info.ipv6[] string[]
checked_at string
check_duration_ms integer

Exemple de Requête

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

Exemple de Réponse

{
  "domain": "github.com",
  "hosting": {
    "provider": "Microsoft Azure",
    "provider_id": "azure",
    "confidence": 0.86,
    "detection_method": "ip_range"
  },
  "cdn": {
    "detected": true,
    "provider": "Fastly",
    "provider_id": "fastly",
    "confidence": 0.94,
    "detection_method": "headers"
  },
  "waf": {
    "detected": false,
    "confidence": 0.2,
    "detection_method": "headers"
  },
  "dns_provider": {
    "provider": "AWS Route 53",
    "provider_id": "route53",
    "nameservers": [
      "ns-1283.awsdns-32.org",
      "ns-1707.awsdns-21.co.uk"
    ],
    "confidence": 0.9
  },
  "email_provider": {
    "provider": "Google Workspace",
    "provider_id": "google_workspace",
    "mx_records": [
      "aspmx.l.google.com"
    ],
    "confidence": 0.95
  },
  "ssh": {
    "host": "github.com",
    "port": 22,
    "reachable": true,
    "banner": "SSH-2.0-babeld",
    "algorithms": [
      "ssh-ed25519",
      "ecdsa-sha2-nistp256"
    ],
    "weak_algorithms": [],
    "keys": [
      {
        "host": "github.com",
        "algorithm": "ssh-ed25519",
        "key_size": 256,
        "fingerprint_sha256": "SHA256:+DiY3wvvV6TuJJhbpZisF/Ym7N3QKXNoZk6sJ2x2d2s",
        "weak": false,
        "weak_reasons": []
      }
    ],
    "error": null,
    "checked_at": "2026-04-18T21:00:00Z"
  },
  "provider_summary": {
    "cache_status": "miss",
    "provider_count": 4,
    "detected_surfaces": [
      "hosting",
      "cdn",
      "dns",
      "email",
      "ssh"
    ],
    "confidence": "high",
    "confidence_score": 92,
    "hosting_provider": "Microsoft Azure",
    "cdn_provider": "Fastly",
    "waf_provider": null,
    "dns_provider_count": 1,
    "email_provider": "Google Workspace",
    "ssh_exposed": true,
    "evidence": [
      {
        "surface": "hosting",
        "provider": "Microsoft Azure",
        "confidence": 0.86,
        "method": "ip_range"
      },
      {
        "surface": "cdn",
        "provider": "Fastly",
        "confidence": 0.94,
        "method": "headers"
      },
      {
        "surface": "dns",
        "provider": "AWS Route 53",
        "confidence": 0.9,
        "method": "ns"
      },
      {
        "surface": "email",
        "provider": "Google Workspace",
        "confidence": 0.95,
        "method": "mx"
      },
      {
        "surface": "ssh",
        "provider": "public-ssh",
        "confidence": 90,
        "method": "edge-relay"
      }
    ]
  },
  "ip_info": {
    "ipv4": [
      "140.82.121.4"
    ],
    "ipv6": []
  },
  "checked_at": "2026-04-18T21:00:00Z",
  "check_duration_ms": 156
}

POST /v1/hosting/bulk

Opération: bulkGetHosting Crédits et authentification: 3 Authentification requise
POST /v1/hosting/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/hosting/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/parking

Opération: getParkingDetection Crédits et authentification: 2 Authentification requise
GET /v1/parking

Paramètres de Requête

Paramètre Type requis
domain string requis

Champs de Réponse

Champ Type
domain string
is_parked boolean
is_for_sale boolean
parking_provider string | null
aftermarket_listings[] object[]
aftermarket_listings[] object
aftermarket_listings[].platform string
aftermarket_listings[].detected_via string
signals[] object[]
signals[] object
signals[].type string
signals[].detail string
signals[].provider string
confidence number
checked_at string
check_duration_ms integer

Exemple de Requête

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

Exemple de Réponse

{
  "domain": "example.com",
  "is_parked": true,
  "is_for_sale": true,
  "parking_provider": "string",
  "aftermarket_listings": [
    {
      "platform": "string",
      "detected_via": "dns"
    }
  ],
  "signals": [
    {
      "type": "string",
      "detail": "string",
      "provider": "string"
    }
  ],
  "confidence": 1,
  "checked_at": "2026-04-15T12:00:00Z",
  "check_duration_ms": 1
}

Ressources de référence