Utvecklarreferens

Underdomänsökare

Utforska API-dokumentationen för Underdomänsökare, anropsparametrar, svarsfält, kodexempel och felhantering för DomScan-integrationer.

Underdomänsökare

Nej. Detta är passiv täckning utan fullständighetsgaranti. Interna namn och offentliga värdar som saknas i källornas datauppsättningar visas inte, och DNS-verifiering söker inte efter ytterligare namn.

Använd GET /v1/subdomains?domain=example.com&sources=ct. Värdet ct väljer kompatibilitetspipelinen medan varje post anger sin faktiska beläggskälla. Missar i läget endast cache returnerar 202 och fel i samtliga källor returnerar 503. Båda återbetalar krediter.

GET /v1/subdomains

Frågeparametrar

ParameterTypDescription
domain obligatorisk string Rotdomän att hitta underdomäner för (till exempel "github.com")
prefer_cache valfri boolean token Returnera endast cachade resultat. Om ingen färsk eller äldre cache finns returnerar API:t 202, köar en bakgrundsuppdatering och återbetalar krediterna för begäran. Godkända värden: true, false, 1, 0, yes och no. Standardvärde: false.
sources valfri string Kompatibilitetsväljare. Endast ct accepteras. Det startar den passiva upptäcktspipelinen, men varje resultat anger den leverantör som tillhandahöll belägget: crtsh, crtname, hackertarget, threatminer, wayback eller certspotter. Äldre cachade poster kan ange ct.
verify valfri boolean token Kontrollerar DNS endast för de namn som redan valts för svaret. Verifieringen upptäcker inte fler namn. Godkända värden: true, false, 1, 0, yes och no. Standardvärde: false.
include_wildcards valfri boolean token Returnerar belägg från jokerteckencertifikat i en separat wildcards-array. Jokertecken blandas inte med resultat för konkreta värdnamn. Godkända värden: true, false, 1, 0, yes och no. Standardvärde: false.
limit valfri integer Högsta antal konkreta värdnamnsposter som returneras. Ange ett heltal från 1 till 2000. Standardvärde: 500.

Användningsområden

  • Kartläggning av attackytor och säkerhetsrevisioner
  • Granska möjliga glömda värdnamn eller värdnamn från skugg-IT
  • Teknisk due diligence inför förvärv
  • Konkurrensanalys av infrastruktur
  • Spaning för bug bounty-program

Svarsfält

FältDescription
subdomains[].nameReturnerat värdnamn. Apexdomänen kan visas när en källa inkluderar den.
subdomains[].sourceGranska offentliga värdnamnsbelägg med tydliga källetiketter
subdomains[].first_seenCT-baserade poster anger det tidigaste certificate not-before-värdet som hittats. Poster från passiva reservkällor kan returnera null.
subdomains[].verifiedTrue endast när verify är aktiverat och DNS-upplösningen lyckas för det returnerade värdnamnet. Annars false.
subdomains[].dns_recordsA- och CNAME-poster från valfri verifiering av det returnerade värdnamnet, eller null. Fältet lägger inte till namn i resultatet.
summary.total_foundTotalt antal konkreta värdnamnsposter som hittades före svarsgränsen, inklusive apexdomänen när en källa inkluderar den.
summary.verified_countAntal returnerade värdnamn som kunde slås upp under den valfria DNS-verifieringen.

HTTP-statuskoder

HTTP-statuskoderDescription
200 OKBegäran lyckades
202 AccepteradCache-only-miss för subdomäner accepterad för bakgrundsuppdatering. Inga krediter debiteras; försök igen efter Retry-After-fördröjningen.
400 Felaktig begäranOgiltiga parametrar
402 Betalning krävsDet finns inte tillräckligt med krediter för att köra denna begäran.
503 Tjänsten är inte tillgängligUppströmstjänsten är inte tillgänglig eller begränsar tillfälligt förfrågningar.
504 Gateway-timeoutUppströmsförfrågan tog för lång tid.

Exempelbegäran

curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/subdomains?domain=example.com&sources=ct&include_wildcards=yes&limit=100"

curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/subdomains?domain=example.com&sources=ct&verify=yes&limit=50"

curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/subdomains?domain=example.com&prefer_cache=1"
import requests

domscan = requests.Session()
domscan.headers.update({"X-API-Key": "your-api-key"})

response = domscan.get(
    "https://domscan.net/v1/subdomains",
    params={
        "domain": "example.com",
        "sources": "ct",
        "verify": "yes",
        "include_wildcards": "yes",
        "limit": 100
    }
)
data = response.json()

print(f"Returned {data['summary']['returned']} hostname entries")
print(f"Verified: {data['summary']['verified_count']}")

live_subs = [s for s in data['subdomains'] if s['verified']]
for sub in live_subs[:10]:
    print(f"  {sub['name']}")
const domscanFetch = (url, options = {}) =>
  fetch(url, {
    ...options,
    headers: { ...options.headers, "X-API-Key": "your-api-key" },
  });

const response = await domscanFetch(
  'https://domscan.net/v1/subdomains?' + new URLSearchParams({
    domain: 'example.com',
    sources: 'ct',
    verify: 'yes',
    include_wildcards: 'yes',
    limit: '100'
  })
);
const data = await response.json();

console.log(`Returned ${data.summary.returned} hostname entries`);
console.log(`Verified: ${data.summary.verified_count}`);

data.subdomains
  .filter(s => s.verified)
  .forEach(s => console.log(`  ${s.name}`));

Exempelsvar

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

202 Accepterad

{
  "status": "pending",
  "code": "CACHE_MISS_REFRESH_QUEUED",
  "message": "Try again in a moment",
  "domain": "example.com",
  "retry_after": 30,
  "credits_charged": 0,
  "billing_status": "not_charged",
  "request_id": "m8abc12-x9y8"
}
POST /v1/subdomains/bulk

Brödtextparametrar

Parameter Typ obligatorisk
domains string[] obligatorisk
verify boolean
Standard false
valfri
include_wildcards boolean
Standard false
valfri
limit integer
Standard 500
valfri

Svarsfält

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

Exempelbegäran

curl -X POST "https://domscan.net/v1/subdomains/bulk" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $DOMSCAN_API_KEY" \
  -d '{
  "domains": [
    "example.com",
    "cloudflare.com"
  ],
  "verify": false,
  "limit": 500
}'

Exempelsvar

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

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

VercelLLM PulseOLXCasa ModernaPipeCal.comBeehiivSnykTogglRemoteSprigDeel