Webbdata · DomScan-produkt

Teknikstackdetektering API-referens

Identifiera teknikstacken som används av en webbplats inklusive CMS, ramverk och tjänster.

Det här får du

Identifiera teknikstacken som används av en webbplats inklusive CMS, ramverk och tjänster.

SynkrontBulkAsynkrontRESTMCPSDKInteraktivt verktyg

Välj denna produkt när

Vem är det till för?

Använd fokuserade API:er när en produkt eller ett arbetsflöde behöver aktuella bevis från en offentlig sida i ett strukturerat svar.

Välj denna produkt när

Välj detta när du behöver bevis på exponerade ramverk, plattformar, analysverktyg eller infrastrukturt teknik.

Det här får du

Identifiera teknikstacken som används av en webbplats inklusive CMS, ramverk och tjänster.

Endpoints

Granska stödda operationer, indata, utdata, körningslägen och svarsbegränsningar innan du integrerar.

GET /v1/tech Visa API-referens
POST /v1/tech/bulk Visa API-referens
POST /v1/tech/jobs Visa API-referens
GET /v1/tech/jobs Visa API-referens
GET /v1/tech/jobs/:job_id Visa API-referens
GET /v1/tech/jobs/:job_id/results Visa API-referens
DELETE /v1/tech/jobs/:job_id Visa API-referens
GET /v1/hosting Visa API-referens
POST /v1/hosting/bulk Visa API-referens
GET /v1/parking Visa API-referens
GET /v1/agent-readiness Visa API-referensLäs guiden

Credits och autentisering

0-9 Autentisering krävs. Se operationsreferensen för exakt kostnad och eventuell prissättning per objekt.

Exempel på operation

Använd dokumenterade operationer för att samla in, bedöma, berika, verifiera, jämföra, skydda eller övervaka offentliga bevis.

GET /v1/tech Krediter: 3-9

Frågeparametrar

Parameter Typ obligatorisk
url string valfri
domain string valfri
mode string
Tillåtna värden fastrendereddeep
Standard fast
valfri
max_pages integer
Standard 3
valfri
skip_cache string
Tillåtna värden 01
Standard 0
valfri

Svarsfält

Fält Typ
cache_age_s integer
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

Exempelbegäran

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/tech?url=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fexample.com&domain=example.com&mode=fast&max_pages=3&skip_cache=0"
const response = await fetch("https://domscan.net/v1/tech?url=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fexample.com&domain=example.com&mode=fast&max_pages=3&skip_cache=0", {
  headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);
import os
import requests

response = requests.get(
    "https://domscan.net/v1/tech?url=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fexample.com&domain=example.com&mode=fast&max_pages=3&skip_cache=0",
    headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())
package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/tech?url=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fexample.com&domain=example.com&mode=fast&max_pages=3&skip_cache=0", nil)
	if err != nil {
		panic(err)
	}
	req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	data, err := io.ReadAll(resp.Body)
	if err != nil {
		panic(err)
	}
	fmt.Println(resp.Status, string(data))
}
require "json"
require "net/http"

uri = URI("https://domscan.net/v1/tech?url=https%3A%2F%2Fround-lake.dustinice.workers.dev%3A443%2Fhttps%2Fexample.com&domain=example.com&mode=fast&max_pages=3&skip_cache=0")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body))

Exempelsvar

{
  "url": "https://example.com",
  "technologies": [
    {
      "id": "example-id",
      "name": "example",
      "category": "example",
      "confidence": "high",
      "confidence_score": 85,
      "evidence": "example",
      "evidence_details": [
        {
          "source": "header",
          "matched": "example",
          "key": "example",
          "page_url": "https://example.com"
        }
      ],
      "source_count": 1,
      "caveats": [
        "example"
      ],
      "reference": {
        "website": "https://example.com",
        "source_url": "https://example.com",
        "source_owner": "example",
        "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-08-27"
      },
      "version": "2.15.0",
      "version_kind": "product"
    }
  ],
  "detection_summary": {
    "detected_count": 1,
    "category_count": 1,
    "categories": [
      "example"
    ],
    "high_confidence_count": 1,
    "medium_confidence_count": 1,
    "low_confidence_count": 1,
    "versioned_count": 1,
    "evidence_sources": {
      "header": 1,
      "html": 1,
      "asset_url": 1,
      "network_url": 1,
      "javascript": 1,
      "meta": 1,
      "cookie": 1,
      "url": 1
    },
    "catalog_size": 1,
    "catalog_category_count": 1,
    "summary_field_count": 1
  },
  "summary": {
    "cdn": "example",
    "server": "example",
    "framework": "example",
    "cms": "example",
    "hosting": "example",
    "platform": "example",
    "analytics": [
      "example"
    ]
  },
  "headers": {},
  "meta": {},
  "ssl": {
    "enabled": false
  },
  "analysis": {
    "status": "complete",
    "requested_url": "https://example.com",
    "final_url": "https://example.com",
    "response_status": 1,
    "redirect_count": 1,
    "relay_used": false,
    "signals_checked": [
      "header"
    ],
    "signals_unavailable": [
      "header"
    ],
    "html_characters_analyzed": 1,
    "html_bytes_analyzed": 1,
    "html_byte_limit": 1,
    "html_truncated": false,
    "response_body_truncated": false,
    "mode": "fast",
    "rendered": false,
    "javascript_executed": false,
    "pages_requested": 1,
    "pages_analyzed": 1,
    "page_limit": 1,
    "network_requests_observed": 1,
    "page_limit_reached": false,
    "resource_limit_reached": false,
    "redirected_to_different_host": false,
    "no_detection_reason": "redirected_to_different_host",
    "recommended_mode": "rendered",
    "pages": [
      {
        "url": "https://example.com",
        "status": 1,
        "html_truncated": false,
        "network_requests_observed": 1
      }
    ]
  },
  "total_time_ms": 1,
  "checked_at": "2026-08-27T12:00:00Z",
  "_meta": {
    "served_by": "example",
    "analysis_status": "ok",
    "response_status": 1,
    "cache_status": "miss",
    "stale": false,
    "cached_at": "2026-08-27T12:00:00Z"
  },
  "cache_age_s": 1
}

HTTP-statuskoder

  • 200 OK
  • 400 Felaktig begäran
  • 401 Obehörig
  • 402 Betalning krävs
  • 429 För många begäranden
  • 503 Tjänsten är inte tillgänglig

Vanliga frågor

Var hittar jag request- och response-referensen för Teknikstackdetektering?

Använd API-referensen för Teknikstackdetektering för att granska parametrar, svarsfält, exempel, statuskoder och stödda körningslägen.

Hur ska jag tolka okända eller ofullständiga resultat från Teknikstackdetektering?

Okända eller partiella resultat betyder att de begärda bevisen inte kunde fastställas helt. Behåll resultatstatus, konfidens, aktualitet och begränsningar i efterföljande beslut.

Hur prissätts Teknikstackdetektering?

Priset beror på operation och körningsläge. Se endpointreferensen för aktuell creditkostnad, autentiseringskrav och regler per objekt.

Används av människor på dessa företag

InstantOutseerMongoDBRespondentSage Expense ManagementInstantlyD.R. HortonWhatConvertsAdobeLLM Pulse