DNS e infraestructura · Producto DomScan

API de Buscador de Subdominios

Descubre subdominios para un dominio utilizando diversas técnicas de enumeración.

Qué obtienes

Descubre subdominios para un dominio utilizando diversas técnicas de enumeración.

SíncronoMasivoRESTMCPSDKHerramienta interactiva

Elige este producto cuando

Para quién es

Usa la suite para solucionar problemas, comprobar migraciones, investigar infraestructura y revisar seguridad.

Elige este producto cuando

Elige esto para reunir evidencias públicas observadas de subdominios. La ausencia de un nombre no demuestra que no exista ningún subdominio.

Qué obtienes

Descubre subdominios para un dominio utilizando diversas técnicas de enumeración.

Endpoints

Revisa las operaciones, entradas, salidas, modos de ejecución y límites de respuesta compatibles antes de integrar.

GET /v1/subdomains Ver referencia de API
POST /v1/subdomains/bulk Ver referencia de API

Créditos y autenticación

4-5 Autenticación obligatoria. Consulta la referencia de la operación para conocer el coste exacto y cualquier precio por elemento.

Operación de ejemplo

Usa operaciones documentadas para recopilar, evaluar, enriquecer, verificar, comparar, proteger o monitorizar evidencias públicas.

GET /v1/subdomains Créditos: 4-5

Parámetros de consulta

Parámetro Tipo obligatorio
domain string obligatorio
sources string
Valores permitidos ct
Predeterminado ct
opcional
verify string
Valores permitidos truefalse10yesno
Predeterminado false
opcional
include_wildcards string
Valores permitidos truefalse10yesno
Predeterminado false
opcional
limit integer
Predeterminado 500
opcional
prefer_cache string
Valores permitidos truefalse10yesno
Predeterminado false
opcional
cursor string opcional

Campos de respuesta

Campo Tipo
has_more boolean
next_cursor string | null
cache_age_s integer
domain string
subdomains[] object[]
subdomains[] object
subdomains[].name string
subdomains[].source string
subdomains[].first_seen string | null
subdomains[].verified boolean
subdomains[].dns_records object
subdomains[].dns_records.A[] string[]
subdomains[].dns_records.CNAME string | null
wildcards[] object[]
wildcards[] object
wildcards[].pattern string
wildcards[].source string
wildcards[].first_seen string | null
summary object
summary.total_found integer
summary.returned integer
summary.verified_count integer
summary.unverified_count integer
summary.sources_used[] string[]
summary.apex_included boolean
summary.wildcard_suppressed_count integer
summary.wildcard_returned_count integer
intelligence_summary object
intelligence_summary.data_sources[] string[]
intelligence_summary.source_count integer
intelligence_summary.cache_status string
intelligence_summary.returned_count integer
intelligence_summary.total_found integer
intelligence_summary.truncated boolean
intelligence_summary.limit integer
intelligence_summary.verification_requested boolean
intelligence_summary.include_wildcards boolean
intelligence_summary.verified_count integer
intelligence_summary.verified_ratio number | null
intelligence_summary.live_dns_record_count integer
intelligence_summary.apex_included boolean
intelligence_summary.wildcard_suppressed_count integer
intelligence_summary.wildcard_returned_count integer
intelligence_summary.first_seen_oldest string | null
intelligence_summary.first_seen_newest string | null
intelligence_summary.warning_count integer
warnings[] string[]
meta object
meta.query_time_ms integer
meta.cached boolean
meta.stale boolean

Solicitud de ejemplo

curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/subdomains?domain=example.com&sources=ct&verify=yes&include_wildcards=1&limit=500&prefer_cache=false"
const response = await fetch("https://domscan.net/v1/subdomains?domain=example.com&sources=ct&verify=yes&include_wildcards=1&limit=500&prefer_cache=false", {
  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/subdomains?domain=example.com&sources=ct&verify=yes&include_wildcards=1&limit=500&prefer_cache=false",
    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/subdomains?domain=example.com&sources=ct&verify=yes&include_wildcards=1&limit=500&prefer_cache=false", 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/subdomains?domain=example.com&sources=ct&verify=yes&include_wildcards=1&limit=500&prefer_cache=false")
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))

Respuesta de ejemplo

{
  "domain": "example.com",
  "subdomains": [
    {
      "name": "api.example.com",
      "source": "crtsh",
      "first_seen": "2025-01-15T00:00:00Z",
      "verified": true,
      "dns_records": {
        "A": [
          "example"
        ],
        "CNAME": "example"
      }
    }
  ],
  "summary": {
    "total_found": 1,
    "returned": 1,
    "verified_count": 1,
    "unverified_count": 1,
    "sources_used": [
      "ct"
    ],
    "apex_included": false,
    "wildcard_suppressed_count": 1,
    "wildcard_returned_count": 1
  },
  "intelligence_summary": {
    "data_sources": [
      "ct"
    ],
    "source_count": 1,
    "cache_status": "live",
    "returned_count": 1,
    "total_found": 1,
    "truncated": false,
    "limit": 1,
    "verification_requested": false,
    "include_wildcards": false,
    "verified_count": 1,
    "verified_ratio": 0.5,
    "live_dns_record_count": 1,
    "apex_included": false,
    "wildcard_suppressed_count": 1,
    "wildcard_returned_count": 1,
    "first_seen_oldest": "example",
    "first_seen_newest": "example",
    "warning_count": 1
  },
  "meta": {
    "query_time_ms": 1,
    "cached": false,
    "stale": false
  },
  "has_more": false,
  "next_cursor": "example",
  "cache_age_s": 1,
  "wildcards": [
    {
      "pattern": "*.example.com",
      "source": "ct",
      "first_seen": "example"
    }
  ],
  "warnings": [
    "example"
  ]
}

Códigos de estado HTTP

  • 200 OK
  • 202 Aceptado
  • 400 Solicitud incorrecta
  • 401 No autorizado
  • 402 Pago requerido
  • 429 Demasiadas solicitudes
  • 503 Servicio no disponible
  • 504 Tiempo de espera de la puerta de enlace agotado

Preguntas frecuentes

¿Dónde puedo encontrar la referencia de solicitud y respuesta de Buscador de Subdominios?

Usa la referencia de API de Buscador de Subdominios para revisar parámetros, campos de respuesta, ejemplos, códigos de estado y modos de operación compatibles.

¿Cómo debo interpretar los resultados desconocidos o incompletos de Buscador de Subdominios?

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.

¿Cómo se calcula el precio de Buscador de Subdominios?

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

InstantOutseerMongoDBRespondentSage Expense ManagementInstantlyD.R. HortonWhatConvertsAdobeLLM Pulse