Domain Summary
Retrieve a dashboard summary for a domain, optimized for fast page load.
/api/domain/{domain_name}/summaryBearer <token>API key authentication — use your Cyborux API key as a Bearer token.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
domain_name | string | The domain name (e.g. example.com). |
Response
{
"domain": "example.com",
"last_analyzed": "2026-03-08T14:22:00Z",
"status": "completed",
"counts": {
"emails": 134,
"people": 18,
"files": 9,
"subdomains": 47,
"usernames": 22,
"related_domains": 5
},
"security_metrics": {
"spoofable_emails": 12,
"leaked_emails": 27,
"active_subdomains": 38,
"takeover_vulnerable": 2,
"passwords_exposed": 5,
"people_with_emails": 15,
"people_in_files": 3,
"critical_vulnerabilities": 1,
"high_vulnerabilities": 4,
"is_domain_spoofable": true,
"login_pages_count": 3,
"usernames_in_files": 8,
"avg_services_emails": 4.2,
"avg_services_usernames": 2.1
},
"risk_score": 67,
"risk_level": "high",
"tls_grade": "A",
"tls_scanned": true,
"highlights": {
"most_exposed_people": [],
"interesting_subdomains": [],
"interesting_files": []
},
"domain_info": {
"registrar": "GoDaddy",
"creation_date": "2010-05-15",
"expiration_date": "2027-05-15",
"dnssec": "unsigned",
"name_servers": ["ns1.example.com", "ns2.example.com"]
},
"is_fully_analyzed": true,
"analysis_progress": null,
"tech_summary": {
"categories": [
{ "name": "Web servers", "count": 3 },
{ "name": "JavaScript frameworks", "count": 5 }
],
"total": 12
},
"organization_name": "Example Corp"
}| Status | Detail |
|---|---|
401 | Not authenticated. |
403 | Forbidden — you do not have access to this domain. |
404 | Domain not found. |
{
"detail": "Not authenticated."
}Response Fields
domainstringThe domain name.
last_analyzedstring | nullISO 8601 timestamp of when the authenticated user last submitted this domain for analysis. Each user sees their own analysis date, not a global timestamp.
statusstringAnalysis status: pending, processing, or completed.
countsobjectTotal entity counts: emails, people, files, subdomains, usernames, related_domains.
security_metricsobjectSecurity indicators including spoofable_emails, leaked_emails, active_subdomains, takeover_vulnerable, passwords_exposed, people_with_emails, people_in_files, critical_vulnerabilities, high_vulnerabilities, is_domain_spoofable, login_pages_count, usernames_in_files, avg_services_emails, avg_services_usernames.
risk_scorenumber | nullAggregated risk score from 0 to 100. null if not yet calculated.
risk_levelstring | nullRisk classification: info, low, medium, high, or critical. null if not yet calculated.
tls_gradestring | nullTLS/SSL security grade (A+, A, A-, B, C, D, E, F, T, M). null when not yet scanned, when HTTPS is not available, or when the TLS scanner could not complete the assessment. Use tls_scanned to check whether a scan was attempted.
tls_scannedbooleanWhether a TLS assessment has been attempted. A null grade with tls_scanned: true indicates the domain either does not serve HTTPS or the scanner could not complete the assessment.
highlightsobjectDashboard highlights: most_exposed_people (excludes people with unlikely affiliation), interesting_subdomains, interesting_files.
domain_infoobjectWHOIS and DNS data: registrar, creation_date, expiration_date, dnssec, name_servers.
is_fully_analyzedbooleanWhether all analysis phases (including deep enrichment) have completed.
analysis_progressobject | nullProgress indicator with phase and percentage. Only present when status is processing.
tech_summaryobject | nullTechnology stack summary with categories (name + count + percentage).
organization_namestring | nullOrganization name provided when the domain was first analyzed.
curl -X GET https://api.cyborux.com/api/domain/example.com/summary \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch(
"https://api.cyborux.com/api/domain/example.com/summary",
{ headers: { "Authorization": "Bearer YOUR_API_KEY" } }
);
const data = await res.json();import requests
response = requests.get(
"https://api.cyborux.com/api/domain/example.com/summary",
headers={"Authorization": "Bearer YOUR_API_KEY"},
)
data = response.json()