Справочник API

API Определение технологического стека

Определяйте технологический стек, используемый веб-сайтом, включая CMS, фреймворки и сервисы. Используйте этот справочник, чтобы выбрать операцию и встроить её документированный контракт ответа.

Операции

GET /v1/tech

Операция: getTechStack Кредиты и аутентификация: 3-9 Требуется аутентификация
GET /v1/tech

Параметры запроса

Параметр Тип обязателен
url string опционально
domain string опционально
mode string
Допустимые значения fastrendereddeep
По умолчанию fast
опционально
max_pages integer
По умолчанию 3
опционально
skip_cache string
Допустимые значения 01
По умолчанию 0
опционально

Поля ответа

Поле Тип
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

Пример запроса

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"

Пример ответа

{
  "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

Операция: postTechStackBulk Кредиты и аутентификация: 3 Требуется аутентификация
POST /v1/tech/bulk

Параметры тела запроса

Параметр Тип обязателен
mode string
Допустимые значения fast
По умолчанию fast
опционально
targets unknown[] обязателен

Поля ответа

Поле Тип
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

Пример запроса

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"
    }
  ]
}'

Пример ответа

{
  "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

Операция: createTechScanJob Кредиты и аутентификация: 3 Требуется аутентификация
POST /v1/tech/jobs

Параметры тела запроса

Параметр Тип обязателен
mode string
Допустимые значения fastrendereddeep
По умолчанию fast
опционально
max_pages integer опционально
targets unknown[] обязателен

Поля ответа

Поле Тип
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

Пример запроса

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"
    }
  ]
}'

Пример ответа

{
  "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

Операция: listTechScanJobs Кредиты и аутентификация: Бесплатно Требуется аутентификация
GET /v1/tech/jobs

Параметры запроса

Параметр Тип обязателен
limit integer
По умолчанию 25
опционально
cursor string опционально

Поля ответа

Поле Тип
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

Пример запроса

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

Пример ответа

{
  "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

Операция: getTechScanJob Кредиты и аутентификация: Бесплатно Требуется аутентификация
GET /v1/tech/jobs/:job_id

Параметры запроса

Параметр Тип обязателен
job_id string обязателен

Поля ответа

Поле Тип
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

Пример запроса

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

Пример ответа

{
  "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

Операция: getTechScanJobResults Кредиты и аутентификация: Бесплатно Требуется аутентификация
GET /v1/tech/jobs/:job_id/results

Параметры запроса

Параметр Тип обязателен
job_id string обязателен
cursor string опционально
limit integer
По умолчанию 25
опционально

Поля ответа

Поле Тип
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

Пример запроса

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

Пример ответа

{
  "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

Операция: cancelTechScanJob Кредиты и аутентификация: Бесплатно Требуется аутентификация
DELETE /v1/tech/jobs/:job_id

Параметры запроса

Параметр Тип обязателен
job_id string обязателен

Поля ответа

Поле Тип
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

Пример запроса

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

Пример ответа

{
  "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

Операция: getHosting Кредиты и аутентификация: 3 Требуется аутентификация
GET /v1/hosting

Параметры запроса

Параметр Тип обязателен
domain string обязателен

Поля ответа

Поле Тип
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

Пример запроса

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

Пример ответа

{
  "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

Операция: bulkGetHosting Кредиты и аутентификация: 3 Требуется аутентификация
POST /v1/hosting/bulk

Параметры тела запроса

Параметр Тип обязателен
domains string[] обязателен

Поля ответа

Поле Тип
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

Пример запроса

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"
  ]
}'

Пример ответа

{
  "results": [
    null
  ],
  "meta": {
    "total": 1,
    "succeeded": 1,
    "failed": 1,
    "max_items": 10,
    "credits_per_item": 1,
    "duration_ms": 1
  }
}

GET /v1/parking

Операция: getParkingDetection Кредиты и аутентификация: 2 Требуется аутентификация
GET /v1/parking

Параметры запроса

Параметр Тип обязателен
domain string обязателен

Поля ответа

Поле Тип
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

Пример запроса

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

Пример ответа

{
  "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
}

Справочные материалы