Para quién es
Usa APIs específicas cuando un producto o flujo necesite evidencias actuales de una página pública en una respuesta estructurada.
Prueba con un producto, resultado, ruta de endpoint o tema de API.
Detecta la pila de tecnología utilizada por un sitio web incluyendo CMS, frameworks y servicios.
Detecta la pila de tecnología utilizada por un sitio web incluyendo CMS, frameworks y servicios.
Usa APIs específicas cuando un producto o flujo necesite evidencias actuales de una página pública en una respuesta estructurada.
Elige esto cuando necesites evidencias de frameworks, plataformas, analítica o tecnologías de infraestructura expuestas.
Detecta la pila de tecnología utilizada por un sitio web incluyendo CMS, frameworks y servicios.
Revisa las operaciones, entradas, salidas, modos de ejecución y límites de respuesta compatibles antes de integrar.
0-9 Autenticación obligatoria. Consulta la referencia de la operación para conocer el coste exacto y cualquier precio por elemento.
Usa operaciones documentadas para recopilar, evaluar, enriquecer, verificar, comparar, proteger o monitorizar evidencias públicas.
| Parámetro | Tipo | obligatorio |
|---|---|---|
| url | string | opcional |
| domain | string | opcional |
| mode |
string
Valores permitidos
fastrendereddeep
Predeterminado
fast
|
opcional |
| max_pages |
integer
Predeterminado
3
|
opcional |
| skip_cache |
string
Valores permitidos
01
Predeterminado
0
|
opcional |
| Campo | Tipo |
|---|---|
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 |
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/tech?url=https%3A%2F%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%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%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%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%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)){
"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
}
200 OK400 Solicitud incorrecta401 No autorizado402 Pago requerido429 Demasiadas solicitudes503 Servicio no disponibleUsa la referencia de API de Detección de Pila de Tecnología para revisar parámetros, campos de respuesta, ejemplos, códigos de estado y modos de operación compatibles.
Los resultados desconocidos o parciales indican que la evidencia solicitada no pudo determinarse por completo. Conserva el estado del resultado, la confianza, la vigencia y las limitaciones en las decisiones posteriores.
El precio depende de la operación y del modo de ejecución. Consulta la referencia del endpoint para conocer el coste actual en créditos, el requisito de autenticación y las reglas por elemento.
Utilizado por personas en estas empresas