Skip to main content

Attack Surface Search API

Search for attack surface data related to domains, including subdomains, technologies, and more.

warning

OEM API requires special partner access. Contact FullHunt sales to enable OEM capabilities on your account.

Search Attack Surface Data

Search for comprehensive attack surface information related to a domain.

HTTP Request

POST https://fullhunt.io/api/v1/oem/attack-surface/search

Request Body Parameters

ParameterRequiredTypeDescription
typeYesstringType of search to perform. Currently only supports "domain"
queryYesstringThe domain to search for
query_tagsNoobjectKey-value pairs for client-specific tracking

Example Request

curl -X POST "https://fullhunt.io/api/v1/oem/attack-surface/search" \
-H "X-API-KEY: xxxx-xxxx-xxxx-xxxxxx" \
-H "Content-Type: application/json" \
-d '{
"type": "domain",
"query": "acme.com",
"query_tags": {
"client_name": "ACMECorp",
"workspace": "production"
}
}'

Example Response

{
"response": {
"domain": "acme.com",
"hosts": [
{
"categories": ["Web-Servers"],
"cdn": "",
"cert_object": {
"dns_names": ["*.acme.com", "acme.com"],
"issuer_common_name": "DigiCert TLS RSA SHA256 2020 CA1",
"issuer_country": "US",
"issuer_organization": "DigiCert Inc",
"not_after": "04-05-2024 23:59:59",
"not_before": "05-05-2023 00:00:00",
"signature_algorithm": "SHA256-RSA",
"subject_common_name": "*.acme.com",
"subject_country": "US",
"subject_organization": "Acme Corporation"
},
"dns": {
"a": ["192.0.2.1"],
"aaaa": null,
"cname": [],
"mx": ["mail.acme.com"],
"ns": ["ns1.acme.com", "ns2.acme.com"],
"txt": ["v=spf1 include:_spf.acme.com ~all"]
},
"domain": "acme.com",
"host": "www.acme.com",
"http_status_code": 200,
"http_title": "Acme Corporation - Home",
"ip_address": "192.0.2.1",
"is_live": true,
"is_resolvable": true,
"products": ["Nginx", "React"],
"tags": ["https", "web-servers", "nginx"],
"technologies": [
{
"categories": ["Web servers"],
"name": "Nginx"
},
{
"categories": ["JavaScript frameworks"],
"name": "React"
}
]
}
],
"metadata": {
"all_results_count": 25,
"available_results_for_user": 25,
"timestamp": 1683721587,
"domain": "acme.com"
}
}
}

Response Fields

Root Response Object

FieldTypeDescription
responseobjectMain response containing domain data
response.domainstringThe searched domain
response.hostsarrayArray of host objects containing attack surface data
response.metadataobjectMetadata about the search results

Host Object Fields

FieldTypeDescription
categoriesarrayCategories the host belongs to (e.g., "Web-Servers")
cdnstringCDN provider if the host is behind a CDN
cert_objectobjectSSL/TLS certificate information
dnsobjectDNS records for the host
domainstringParent domain of the host
hoststringThe full hostname
http_status_codeintegerHTTP status code returned by the host
http_titlestringHTTP page title
ip_addressstringIP address of the host
is_livebooleanWhether the host is currently live
is_resolvablebooleanWhether the host resolves to an IP
productsarrayDetected products/technologies
tagsarrayTags associated with the host
technologiesarrayDetailed technology information

Certificate Object Fields

FieldTypeDescription
dns_namesarrayDNS names in the certificate
issuer_common_namestringCertificate issuer common name
issuer_countrystringCertificate issuer country
issuer_organizationstringCertificate issuer organization
not_afterstringCertificate expiration date
not_beforestringCertificate valid from date
signature_algorithmstringCertificate signature algorithm
subject_common_namestringCertificate subject common name
subject_countrystringCertificate subject country
subject_organizationstringCertificate subject organization

DNS Object Fields

FieldTypeDescription
aarrayA records (IPv4 addresses)
aaaaarrayAAAA records (IPv6 addresses)
cnamearrayCNAME records
mxarrayMX records
nsarrayNS records
txtarrayTXT records

Technology Object Fields

FieldTypeDescription
categoriesarrayTechnology categories
namestringTechnology name

Metadata Object Fields

FieldTypeDescription
all_results_countintegerTotal number of results found
available_results_for_userintegerNumber of results available to the user
timestampintegerUnix timestamp of the search
domainstringThe searched domain

Use Cases

Attack Surface Management

  • Discover all subdomains and hosts for a domain
  • Identify exposed services and technologies
  • Monitor SSL/TLS certificate status and expiration

Security Assessment

  • Identify potential attack vectors
  • Analyze technology stack for vulnerabilities
  • Assess DNS configuration security

Partner Integration

  • Integrate attack surface data into security platforms
  • Provide comprehensive domain intelligence to clients
  • Build external attack surface management solutions

Query Tags for Tracking

Use the query_tags parameter to track searches by client or context:

{
"query_tags": {
"client_id": "client_123",
"client_name": "ACME Corporation",
"workspace": "production",
"scan_type": "attack_surface",
"user_id": "user456"
}
}

Rate Limiting

OEM Attack Surface Search API has custom rate limits based on your partner agreement:

  • Negotiated limits based on usage requirements
  • Burst capacity for high-volume periods
  • Priority processing for partner requests

Error Handling

The API returns standard HTTP status codes:

Status CodeDescription
200Success
400Bad Request - Invalid parameters
401Unauthorized - Invalid API key
403Forbidden - OEM access not enabled
429Rate limit exceeded
500Internal server error

Data Freshness

  • Attack surface data is continuously updated
  • Results include timestamp information
  • Some data may be cached for performance
  • Real-time scanning available for premium partners

Security Considerations

  • All data is transmitted over HTTPS
  • API keys should be kept secure and rotated regularly
  • Results may contain sensitive infrastructure information
  • Consider implementing additional access controls in your platform
  • Be mindful of rate limiting when integrating into automated systems