CyboruxCyborux API
Domains

Cross-Entity Search

Search across all entity types for a domain in a single request.

https://api.cyborux.com
GET/api/domain/{domain_name}/search
Path Parameters
string
string
integer
integer
string
Authorizationheader
Bearer <token>

API key authentication — use your Cyborux API key as a Bearer token.

Path Parameters

ParameterTypeDescription
domain_namestringThe domain name (e.g. example.com).

Query Parameters

ParameterTypeDefaultDescription
qstringRequired. Search query (1–200 characters). Matched against email addresses, names, filenames, subdomains, usernames, and related domain names.
page?integer1Page number for each entity result set.
per_page?integer50Items per page per entity type. Maximum 100.
sort_by?stringrisk_levelSort field for all result sets. Accepted values: risk_level, discovered_at.

Response

Each entity type returns its own items array and a total count. The pagination parameters apply uniformly across all entity types.

{
  "query": "john",
  "total_matches": 8,
  "results": {
    "emails": {
      "count": 2,
      "items": [
        {
          "id": 1201,
          "email": "john.smith@example.com",
          "is_leaked": true,
          "spoofable": false,
          "registered_services": ["LinkedIn"],
          "linked_person_id": 18,
          "email_type": "corporate",
          "risk_level": "medium",
          "breach_count": 3
        }
      ],
      "pagination": { "page": 1, "per_page": 50, "total": 2, "total_pages": 1, "has_more": false }
    },
    "people": {
      "count": 1,
      "items": [
        {
          "id": 18,
          "name": "John Smith",
          "role": "CTO",
          "avatar": null,
          "social_profiles": ["https://linkedin.com/in/jsmith"],
          "email_count": 2,
          "file_count": 1,
          "username_count": 1,
          "password_count": 0,
          "risk_level": "high"
        }
      ],
      "pagination": { "page": 1, "per_page": 50, "total": 1, "total_pages": 1, "has_more": false }
    },
    "files": {
      "count": 1,
      "items": [
        {
          "name": "john-smith-report.pdf",
          "file_metadata": { "author": "John Smith", "company": "Example Corp", "created_date": "2025:01:15" },
          "software_used": ["Microsoft Word"],
          "file_size_bytes": 45200,
          "people_count": 1,
          "risk_level": "info"
        }
      ],
      "pagination": { "page": 1, "per_page": 50, "total": 1, "total_pages": 1, "has_more": false }
    },
    "subdomains": {
      "count": 2,
      "items": [
        {
          "subdomain": "john-dev.example.com",
          "takeover": null,
          "is_active": true,
          "service": null,
          "technology_count": 3,
          "risk_level": "medium",
          "is_internal": false,
          "has_login_page": false,
          "is_dev": true
        }
      ],
      "pagination": { "page": 1, "per_page": 50, "total": 2, "total_pages": 1, "has_more": false }
    },
    "usernames": {
      "count": 1,
      "items": [
        {
          "username": "jsmith_dev",
          "has_password": true,
          "profiles": ["https://github.com/jsmith_dev"],
          "people_id": 18,
          "risk_level": "medium"
        }
      ],
      "pagination": { "page": 1, "per_page": 50, "total": 1, "total_pages": 1, "has_more": false }
    },
    "related_domains": {
      "count": 0,
      "items": [],
      "pagination": { "page": 1, "per_page": 50, "total": 0, "total_pages": 0, "has_more": false }
    }
  }
}
StatusDetail
401Not authenticated.
403Forbidden — you do not have access to this domain.
404Domain not found.
422Validation error — q is missing, empty, or exceeds 200 characters.
{
  "detail": "Not authenticated."
}
curl -X GET "https://api.cyborux.com/api/domain/example.com/search?q=john&page=1&per_page=10&sort_by=risk_level" \
  -H "Authorization: Bearer YOUR_API_KEY"
const res = await fetch(
  "https://api.cyborux.com/api/domain/example.com/search?q=john&page=1&per_page=10&sort_by=risk_level",
  { headers: { "Authorization": "Bearer YOUR_API_KEY" } }
);
const data = await res.json();
import requests

response = requests.get(
    "https://api.cyborux.com/api/domain/example.com/search",
    params={"q": "john", "page": 1, "per_page": 10, "sort_by": "risk_level"},
    headers={"Authorization": "Bearer YOUR_API_KEY"},
)
data = response.json()