Skip to content

DomainTools Real-Time Feeds API Reference

Version 0.1.1

Real-Time Threat Intelligence Feeds provide data on the different stages of the domain lifecycle: from first-observed in the wild, to newly re-activated after a period of quiet. Access current feed data in real-time or retrieve historical feed data through separate APIs. Some feeds also offer data for DNS firewalls in Response Policy Zone (RPZ) format.

Servers

https://api.domaintools.com - DomainTools API endpoint

Authorization

API Key

Header-based authentication using your DomainTools API key.

For example: curl -H 'X-Api-Key: MY_API_KEY' 'https://api.domaintools.com/v1/feed/nod/?sessionID=mySIEM'

In: header

Name: X-API-Key

HMAC

HMAC SHA1-based authentication. Clients must send three query parameters on each request:

  1. api_username (your HMAC API username)

  2. timestamp (current UTC time in ISO 8601 format)

  3. signature (HMAC SHA1 of api_username + timestamp + request_path, hex‐encoded)

In: query

Name: signature

HTTP Basic

HTTP Basic Authentication using your DomainTools API username as the username, and API key as the password.

Scheme: basic

Domain Discovery Feed

New domains as they are either discovered in domain registration information, observed by our global sensor network, or reported by trusted third parties.

/v1/feed/domaindiscovery/ (GET)

Returns data from the real-time Domain Discovery feed.

Each session requires a sessionID.

appParter, appName, appVersion are optional

Example query:

curl -H 'X-Api-Key: MY_API_KEY' 'https://api.domaintools.com/v1/feed/nod/?sessionID=mySIEM'

Operation ID: getDomainDiscovery

Additional Documentation

Parameters

domain (string)

In: query

Required: false

Description:

Filter for an exact domain or a domain substring by prefixing or suffixing your string with *.

Multiple parameters are supported: e.g., ?domain=*apple*&domain=*mic*.

The URL-encoded version of * (%2A) may be required in some clients.

See full documentation.

Validation Rules:

  • Min Length: 1
  • Max Length: 253
  • Pattern: ^\*?[A-Za-z0-9](?:[A-Za-z0-9\-\.]{0,251}[A-Za-z0-9])?\.?$|^[A-Za-z0-9](?:[A-Za-z0-9\-\.]{0,251}[A-Za-z0-9])?\*\.?$

Schema Description:

A domain name or substring using the DNS character set (letters, digits, hyphens).

An asterisk (*) may be used as a wildcard prefix or suffix, but not in the middle. Omit the parameter entirely to fetch all domains.

A trailing dot is acceptable. International characters must be in punycode.

before (integer or string)

In: query

Required: false

Description:

Returns results observed from the earliest available record up to the specified point in time (inclusive).

Use with after to return results from a specific window, starting from the after time (inclusive) and ending at the before time (inclusive).

At least one of after, before, or sessionID must be provided to establish a valid query window. If after is omitted, before (or sessionID) becomes required, and vice versa.

Schema Description:

Defines the end of the query window for filtering domains by when they were observed.

Accepts one of:

  • relative time, in negative seconds

  • absolute time, in an ISO 8601 timestamp

after (integer or string)

In: query

Required: false

Description:

Returns results observed from the specified point in time (inclusive) up to the latest available record.

Use with before to return results from a specific window, starting from the after time (inclusive) and ending at the before time (inclusive).

At least one of after, before, or sessionID must be provided to establish a valid query window. If before is omitted, after (or sessionID) becomes required, and vice versa.

Schema Description:

Defines the start of the query window for filtering domains by when they were first observed.

Accepts one of:

  • relative time, in negative seconds

  • absolute time, in an ISO 8601 timestamp

Use in combination with seenBefore to define a bounded time range.

headers (integer)

In: query

Required: false

Description:

Adds a header row as the first line of the response when text/csv is requested.

Set headers=1 to enable. Only applies when requesting CSV format.

Validation Rules:

  • Must be one of: 1

Schema Description:

Optional flag to include a header row as the first line of the response when the response format is text/csv.

Set to 1 to enable CSV headers. If omitted, no header row is included.

Only the value 1 is accepted; any other value is invalid.

sessionID (string)

In: query

Required: false

Description:

A string that serves as a unique identifier for the session, used for resuming data retrieval from the last point.

Use a new sessionID to begin a new session, fetching the most recent hour by default. fromBeginning can change this behavior.

Reuse the same sessionID to return all feed data since your last request.

If an API call returns an HTTP 206 response, repeat the same request with the same sessionID to receive the next tranche of results, until an HTTP 200 response is returned, indicating all results have been delivered.

If omitted, time window parameters (such as after/before) are required.

Validation Rules:

  • Min Length: 1
  • Max Length: 64
  • Pattern: ^[A-Za-z0-9\-]{1,64}$

Schema Description:

Unique, client-generated session identifier for incremental feed retrieval.

Requirements:

  • 1 to 64 characters in length

  • Alphanumeric characters and hyphens only

  • Case-sensitive

Use a new value to start a new session; reuse the same value to resume a session and fetch additional results.

If omitted, time window parameters (such as after/before) are required.

Example:

mySOC
fromBeginning (boolean)

In: query

Required: false

Description:

When starting a new session with sessionID, set fromBeginning=true to fetch data from the earliest available time (the first hour) rather than the most recent hour.

Returns an error if the given sessionID already exists.

Validation Rules:

  • Must be one of: True

Schema Description:

Optional flag to return data from the start of the available window (the first hour) when beginning a new session.

Only the value true is accepted; any other value (including false) will be ignored or treated as omitted.

top (integer)

In: query

Required: false

Description:

Limits the number of results in the response payload. Primarily for testing.

Validation Rules:

  • Minimum: 1
  • Maximum: 1000000000

Schema Description:

Maximum number of feed entries to return in the response payload.

Primarily intended for testing.

api_username (string)

In: query

Required: false

Description:

Only required for HMAC authentication.

Your DomainTools API username.

signature (string)

In: query

Required: false

Description:

Hex-encoded HMAC signature computed over the string api_username + timestamp + request_path using the API key and a supported algorithm (MD5, SHA1, or SHA256) as the HMAC secret. For example, if using SHA256, compute: hex(HMAC_SHA256(api_key, api_username + timestamp + "/v1/feed/nad/"))
and pass that as ?signature=….

timestamp (string)

In: query

Required: false

Description:

Only required for HMAC authentication. Current UTC timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
Used to prevent replay attacks; the server will reject timestamps outside an allowed window.

Validation Rules:

  • Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
app_partner (string)

In: query

Required: false

Description:

Your product or integration name.

app_name (string)

In: query

Required: false

Description:

Appliance/module/playbook name

app_version (string)

In: query

Required: false

Description:

Your product or integration version.

Responses

200

Description: OK

Content-Type: application/x-ndjson

Schema Description: NDJSON stream, one JSON object per line, matching the FeedRecord schema. Each object has keys: - timestamp: ISO 8601 string - domain: string

Example:

{"timestamp":"2012-10-03T16:03:12Z","domain":"www.badactor.com"}
{"timestamp":"2012-10-03T16:03:12Z","domain":"www.example.com"}
Content-Type: text/csv

Schema Description: CSV-formatted row representing a single feed record. Fields (comma-separated): 1. timestamp (ISO 8601 UTC) 2. domain (string)

Example:

2012-10-03T16:03:12Z,www.badactor.com

206

Description: Partial content limited to 10M rows or 1 hour evaluation window

Content-Type: application/x-ndjson

Schema Description: NDJSON stream, one JSON object per line, matching the FeedRecord schema. Each object has keys: - timestamp: ISO 8601 string - domain: string

Example:

{"timestamp":"2012-10-03T16:03:12Z","domain":"www.badactor.com"}
{"timestamp":"2012-10-03T16:03:12Z","domain":"www.example.com"}
Content-Type: text/csv

Schema Description: CSV-formatted row representing a single feed record. Fields (comma-separated): 1. timestamp (ISO 8601 UTC) 2. domain (string)

Example:

2012-10-03T16:03:12Z,www.badactor.com

403

Description: 403 Forbidden — missing or invalid API credentials.

Content-Type: application/json

Required Fields: error, resources Schema Properties: - error (object): - resources (object):

404

Description: The requested resource could not be found.

Content-Type: application/json

Required Fields: status_code, reason_phrase Schema Properties: - status_code (integer): - reason_phrase (string):

406

Description: The requested media type is not supported. Only application/x-ndjson and text/csv are accepted. If you requested application/json, use one of the supported formats instead.

Content-Type: application/json

Required Fields: error Schema Properties: - error (string): A human-readable message indicating that the value in the Accept header is not supported.

422

Description: 422 Unprocessable Entity — The request is syntactically valid but violates semantic or domain-specific rules.

Content-Type: application/json

Required Fields: error Schema Properties: - error (string): A human-readable message explaining why the request could not be processed, despite being well-formed.

/v1/feed/domaindiscovery/ (DELETE)

End/cancel a feed session

Ends a previous session. Requires a valid sessionID query parameter. If the session does not exist, a 404 response is returned.

Operation ID: deleteDomainDiscoverySession

Parameters

sessionID (string)

In: query

Required: false

Description:

A string that serves as a unique identifier for the session, used for resuming data retrieval from the last point.

Use a new sessionID to begin a new session, fetching the most recent hour by default. fromBeginning can change this behavior.

Reuse the same sessionID to return all feed data since your last request.

If an API call returns an HTTP 206 response, repeat the same request with the same sessionID to receive the next tranche of results, until an HTTP 200 response is returned, indicating all results have been delivered.

If omitted, time window parameters (such as after/before) are required.

Validation Rules:

  • Min Length: 1
  • Max Length: 64
  • Pattern: ^[A-Za-z0-9\-]{1,64}$

Schema Description:

Unique, client-generated session identifier for incremental feed retrieval.

Requirements:

  • 1 to 64 characters in length

  • Alphanumeric characters and hyphens only

  • Case-sensitive

Use a new value to start a new session; reuse the same value to resume a session and fetch additional results.

If omitted, time window parameters (such as after/before) are required.

Example:

mySOC
api_username (string)

In: query

Required: false

Description:

Only required for HMAC authentication.

Your DomainTools API username.

signature (string)

In: query

Required: false

Description:

Hex-encoded HMAC signature computed over the string api_username + timestamp + request_path using the API key and a supported algorithm (MD5, SHA1, or SHA256) as the HMAC secret. For example, if using SHA256, compute: hex(HMAC_SHA256(api_key, api_username + timestamp + "/v1/feed/nad/"))
and pass that as ?signature=….

timestamp (string)

In: query

Required: false

Description:

Only required for HMAC authentication. Current UTC timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
Used to prevent replay attacks; the server will reject timestamps outside an allowed window.

Validation Rules:

  • Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
app_partner (string)

In: query

Required: false

Description:

Your product or integration name.

app_name (string)

In: query

Required: false

Description:

Appliance/module/playbook name

app_version (string)

In: query

Required: false

Description:

Your product or integration version.

Responses

200

Description: Session deleted successfully (empty response body).

Content-Type: application/json

Schema Description: Empty object returned when no content is required in the response body.

400

Description: Bad Request.

Content-Type: application/json

Schema Properties: - error (object): - resources (object):

404

Description: The requested resource could not be found.

Content-Type: application/json

Required Fields: status_code, reason_phrase Schema Properties: - status_code (integer): - reason_phrase (string):

Domain Hotlist Feed

High-risk, apex-level domains that are observed by DomainTools' global sensor network to be active within 24 hours.

/v1/feed/domainhotlist/ (GET)

Returns data from the real-time Domain Hotlist feed.

High-risk, apex-level domains that are observed by DomainTools' global sensor network to be active within 24 hours.

Operation ID: getDomainHotlist

Additional Documentation

Parameters

overall_min (integer)

In: query

Required: false

Description:

Filter domains for overall domain risk scores greater than or equal to this value.

Validation Rules:

  • Minimum: 1
  • Maximum: 99

Schema Description:

Filter domains for risk scores greater than or equal to this value.

malware_min (integer)

In: query

Required: false

Description:

Filter domains for malware domain risk scores greater than or equal to this value.

Validation Rules:

  • Minimum: 1
  • Maximum: 99

Schema Description:

Filter domains for risk scores greater than or equal to this value.

phishing_min (integer)

In: query

Required: false

Description:

Filter domains for phishing domain risk scores greater than or equal to this value.

Validation Rules:

  • Minimum: 1
  • Maximum: 99

Schema Description:

Filter domains for risk scores greater than or equal to this value.

spam_min (integer)

In: query

Required: false

Description:

Filter domains for spam domain risk scores greater than or equal to this value.

Validation Rules:

  • Minimum: 1
  • Maximum: 99

Schema Description:

Filter domains for risk scores greater than or equal to this value.

domain (string)

In: query

Required: false

Description:

Filter for an exact domain or a domain substring by prefixing or suffixing your string with *.

Multiple parameters are supported: e.g., ?domain=*apple*&domain=*mic*.

The URL-encoded version of * (%2A) may be required in some clients.

See full documentation.

Validation Rules:

  • Min Length: 1
  • Max Length: 253
  • Pattern: ^\*?[A-Za-z0-9](?:[A-Za-z0-9\-\.]{0,251}[A-Za-z0-9])?\.?$|^[A-Za-z0-9](?:[A-Za-z0-9\-\.]{0,251}[A-Za-z0-9])?\*\.?$

Schema Description:

A domain name or substring using the DNS character set (letters, digits, hyphens).

An asterisk (*) may be used as a wildcard prefix or suffix, but not in the middle. Omit the parameter entirely to fetch all domains.

A trailing dot is acceptable. International characters must be in punycode.

before (integer or string)

In: query

Required: false

Description:

Returns results observed from the earliest available record up to the specified point in time (inclusive).

Use with after to return results from a specific window, starting from the after time (inclusive) and ending at the before time (inclusive).

At least one of after, before, or sessionID must be provided to establish a valid query window. If after is omitted, before (or sessionID) becomes required, and vice versa.

Schema Description:

Defines the end of the query window for filtering domains by when they were observed.

Accepts one of:

  • relative time, in negative seconds

  • absolute time, in an ISO 8601 timestamp

after (integer or string)

In: query

Required: false

Description:

Returns results observed from the specified point in time (inclusive) up to the latest available record.

Use with before to return results from a specific window, starting from the after time (inclusive) and ending at the before time (inclusive).

At least one of after, before, or sessionID must be provided to establish a valid query window. If before is omitted, after (or sessionID) becomes required, and vice versa.

Schema Description:

Defines the start of the query window for filtering domains by when they were first observed.

Accepts one of:

  • relative time, in negative seconds

  • absolute time, in an ISO 8601 timestamp

Use in combination with seenBefore to define a bounded time range.

headers (integer)

In: query

Required: false

Description:

Adds a header row as the first line of the response when text/csv is requested.

Set headers=1 to enable. Only applies when requesting CSV format.

Validation Rules:

  • Must be one of: 1

Schema Description:

Optional flag to include a header row as the first line of the response when the response format is text/csv.

Set to 1 to enable CSV headers. If omitted, no header row is included.

Only the value 1 is accepted; any other value is invalid.

sessionID (string)

In: query

Required: false

Description:

A string that serves as a unique identifier for the session, used for resuming data retrieval from the last point.

Use a new sessionID to begin a new session, fetching the most recent hour by default. fromBeginning can change this behavior.

Reuse the same sessionID to return all feed data since your last request.

If an API call returns an HTTP 206 response, repeat the same request with the same sessionID to receive the next tranche of results, until an HTTP 200 response is returned, indicating all results have been delivered.

If omitted, time window parameters (such as after/before) are required.

Validation Rules:

  • Min Length: 1
  • Max Length: 64
  • Pattern: ^[A-Za-z0-9\-]{1,64}$

Schema Description:

Unique, client-generated session identifier for incremental feed retrieval.

Requirements:

  • 1 to 64 characters in length

  • Alphanumeric characters and hyphens only

  • Case-sensitive

Use a new value to start a new session; reuse the same value to resume a session and fetch additional results.

If omitted, time window parameters (such as after/before) are required.

Example:

mySOC
fromBeginning (boolean)

In: query

Required: false

Description:

When starting a new session with sessionID, set fromBeginning=true to fetch data from the earliest available time (the first hour) rather than the most recent hour.

Returns an error if the given sessionID already exists.

Validation Rules:

  • Must be one of: True

Schema Description:

Optional flag to return data from the start of the available window (the first hour) when beginning a new session.

Only the value true is accepted; any other value (including false) will be ignored or treated as omitted.

top (integer)

In: query

Required: false

Description:

Limits the number of results in the response payload. Primarily for testing.

Validation Rules:

  • Minimum: 1
  • Maximum: 1000000000

Schema Description:

Maximum number of feed entries to return in the response payload.

Primarily intended for testing.

api_username (string)

In: query

Required: false

Description:

Only required for HMAC authentication.

Your DomainTools API username.

signature (string)

In: query

Required: false

Description:

Hex-encoded HMAC signature computed over the string api_username + timestamp + request_path using the API key and a supported algorithm (MD5, SHA1, or SHA256) as the HMAC secret. For example, if using SHA256, compute: hex(HMAC_SHA256(api_key, api_username + timestamp + "/v1/feed/nad/"))
and pass that as ?signature=….

Accept (string)

In: header

Required: false

Description:

Specifies the desired response format. - application/x-ndjson: JSON Lines (default) - text/csv: Comma-separated values. Use headers=1 to include a header row. Requests for application/json will result in a 406 Not Acceptable.

Validation Rules:

  • Must be one of: application/x-ndjson, text/csv
app_partner (string)

In: query

Required: false

Description:

Your product or integration name.

app_name (string)

In: query

Required: false

Description:

Appliance/module/playbook name

app_version (string)

In: query

Required: false

Description:

Your product or integration version.

Responses

200

Description: Stream of domain risk feed entries.

Content-Type: application/x-ndjson

Schema Description: NDJSON-formatted line containing a single domain risk record.

Each line is a standalone JSON object matching the structure of DomainRiskRecord.

Example:

{"domain": "badactor.com", "phishing_risk": 75, "malware_risk": 85, "spam_risk": 88, "proximity_risk": 99, "overall_risk": 99}
Content-Type: text/csv

Schema Description: CSV-formatted row representing a domain risk record.

Fields (comma-separated):

  1. timestamp (ISO 8601 UTC) - when the domain was observed
  2. domain (string) - apex domain name
  3. phishing_risk (0-100)
  4. malware_risk (0-100)
  5. spam_risk (0-100)
  6. proximity_risk (0-100)
  7. overall_risk (0-100)
  8. evaluated_at (ISO 8601 UTC) - when the risk was last evaluated
206

Description: Partial domain risk feed response (HTTP 206) — indicates that additional data is available. Client should repeat the request with the same sessionID to retrieve the next segment.

Content-Type: application/x-ndjson

Schema Description: NDJSON-formatted line containing a single domain risk record.

Each line is a standalone JSON object matching the structure of DomainRiskRecord.

Example:

{"domain": "badactor.com", "phishing_risk": 75, "malware_risk": 85, "spam_risk": 88, "proximity_risk": 99, "overall_risk": 99}
Content-Type: text/csv

Schema Description: CSV-formatted row representing a domain risk record.

Fields (comma-separated):

  1. timestamp (ISO 8601 UTC) - when the domain was observed
  2. domain (string) - apex domain name
  3. phishing_risk (0-100)
  4. malware_risk (0-100)
  5. spam_risk (0-100)
  6. proximity_risk (0-100)
  7. overall_risk (0-100)
  8. evaluated_at (ISO 8601 UTC) - when the risk was last evaluated
403

Description: 403 Forbidden — missing or invalid API credentials.

Content-Type: application/json

Required Fields: error, resources Schema Properties: - error (object): - resources (object):

404

Description: The requested resource could not be found.

Content-Type: application/json

Required Fields: status_code, reason_phrase Schema Properties: - status_code (integer): - reason_phrase (string):

406

Description: The requested media type is not supported. Only application/x-ndjson and text/csv are accepted. If you requested application/json, use one of the supported formats instead.

Content-Type: application/json

Required Fields: error Schema Properties: - error (string): A human-readable message indicating that the value in the Accept header is not supported.

422

Description: 422 Unprocessable Entity — The request is syntactically valid but violates semantic or domain-specific rules.

Content-Type: application/json

Required Fields: error Schema Properties: - error (string): A human-readable message explaining why the request could not be processed, despite being well-formed.

/v1/feed/domainhotlist/ (DELETE)

End/cancel a feed session

Ends a previous session.

Requires a valid sessionID query parameter. If the session does not exist, a 404 response is returned.

Operation ID: deleteDomainHotlistSession

Parameters

sessionID (string)

In: query

Required: false

Description:

A string that serves as a unique identifier for the session, used for resuming data retrieval from the last point.

Use a new sessionID to begin a new session, fetching the most recent hour by default. fromBeginning can change this behavior.

Reuse the same sessionID to return all feed data since your last request.

If an API call returns an HTTP 206 response, repeat the same request with the same sessionID to receive the next tranche of results, until an HTTP 200 response is returned, indicating all results have been delivered.

If omitted, time window parameters (such as after/before) are required.

Validation Rules:

  • Min Length: 1
  • Max Length: 64
  • Pattern: ^[A-Za-z0-9\-]{1,64}$

Schema Description:

Unique, client-generated session identifier for incremental feed retrieval.

Requirements:

  • 1 to 64 characters in length

  • Alphanumeric characters and hyphens only

  • Case-sensitive

Use a new value to start a new session; reuse the same value to resume a session and fetch additional results.

If omitted, time window parameters (such as after/before) are required.

Example:

mySOC
api_username (string)

In: query

Required: false

Description:

Only required for HMAC authentication.

Your DomainTools API username.

signature (string)

In: query

Required: false

Description:

Hex-encoded HMAC signature computed over the string api_username + timestamp + request_path using the API key and a supported algorithm (MD5, SHA1, or SHA256) as the HMAC secret. For example, if using SHA256, compute: hex(HMAC_SHA256(api_key, api_username + timestamp + "/v1/feed/nad/"))
and pass that as ?signature=….

timestamp (string)

In: query

Required: false

Description:

Only required for HMAC authentication. Current UTC timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
Used to prevent replay attacks; the server will reject timestamps outside an allowed window.

Validation Rules:

  • Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
app_partner (string)

In: query

Required: false

Description:

Your product or integration name.

app_name (string)

In: query

Required: false

Description:

Appliance/module/playbook name

app_version (string)

In: query

Required: false

Description:

Your product or integration version.

Responses

200

Description: Session deleted successfully (empty response body).

Content-Type: application/json

Schema Description: Empty object returned when no content is required in the response body.

400

Description: Bad Request.

Content-Type: application/json

Schema Properties: - error (object): - resources (object):

404

Description: The requested resource could not be found.

Content-Type: application/json

Required Fields: status_code, reason_phrase Schema Properties: - status_code (integer): - reason_phrase (string):

Domain Risk Feed

Realtime domain risk information for apex-level domains, regardless of observed traffic.

/v1/feed/domainrisk/ (GET)

Returns data from the real-time Domain Risk feed.

Realtime domain risk information for apex-level domains, regardless of observed traffic.

Operation ID: getDomainRisk

Additional Documentation

Parameters

overall_min (integer)

In: query

Required: false

Description:

Filter domains for overall domain risk scores greater than or equal to this value.

Validation Rules:

  • Minimum: 1
  • Maximum: 99

Schema Description:

Filter domains for risk scores greater than or equal to this value.

malware_min (integer)

In: query

Required: false

Description:

Filter domains for malware domain risk scores greater than or equal to this value.

Validation Rules:

  • Minimum: 1
  • Maximum: 99

Schema Description:

Filter domains for risk scores greater than or equal to this value.

phishing_min (integer)

In: query

Required: false

Description:

Filter domains for phishing domain risk scores greater than or equal to this value.

Validation Rules:

  • Minimum: 1
  • Maximum: 99

Schema Description:

Filter domains for risk scores greater than or equal to this value.

spam_min (integer)

In: query

Required: false

Description:

Filter domains for spam domain risk scores greater than or equal to this value.

Validation Rules:

  • Minimum: 1
  • Maximum: 99

Schema Description:

Filter domains for risk scores greater than or equal to this value.

domain (string)

In: query

Required: false

Description:

Filter for an exact domain or a domain substring by prefixing or suffixing your string with *.

Multiple parameters are supported: e.g., ?domain=*apple*&domain=*mic*.

The URL-encoded version of * (%2A) may be required in some clients.

See full documentation.

Validation Rules:

  • Min Length: 1
  • Max Length: 253
  • Pattern: ^\*?[A-Za-z0-9](?:[A-Za-z0-9\-\.]{0,251}[A-Za-z0-9])?\.?$|^[A-Za-z0-9](?:[A-Za-z0-9\-\.]{0,251}[A-Za-z0-9])?\*\.?$

Schema Description:

A domain name or substring using the DNS character set (letters, digits, hyphens).

An asterisk (*) may be used as a wildcard prefix or suffix, but not in the middle. Omit the parameter entirely to fetch all domains.

A trailing dot is acceptable. International characters must be in punycode.

before (integer or string)

In: query

Required: false

Description:

Returns results observed from the earliest available record up to the specified point in time (inclusive).

Use with after to return results from a specific window, starting from the after time (inclusive) and ending at the before time (inclusive).

At least one of after, before, or sessionID must be provided to establish a valid query window. If after is omitted, before (or sessionID) becomes required, and vice versa.

Schema Description:

Defines the end of the query window for filtering domains by when they were observed.

Accepts one of:

  • relative time, in negative seconds

  • absolute time, in an ISO 8601 timestamp

after (integer or string)

In: query

Required: false

Description:

Returns results observed from the specified point in time (inclusive) up to the latest available record.

Use with before to return results from a specific window, starting from the after time (inclusive) and ending at the before time (inclusive).

At least one of after, before, or sessionID must be provided to establish a valid query window. If before is omitted, after (or sessionID) becomes required, and vice versa.

Schema Description:

Defines the start of the query window for filtering domains by when they were first observed.

Accepts one of:

  • relative time, in negative seconds

  • absolute time, in an ISO 8601 timestamp

Use in combination with seenBefore to define a bounded time range.

headers (integer)

In: query

Required: false

Description:

Adds a header row as the first line of the response when text/csv is requested.

Set headers=1 to enable. Only applies when requesting CSV format.

Validation Rules:

  • Must be one of: 1

Schema Description:

Optional flag to include a header row as the first line of the response when the response format is text/csv.

Set to 1 to enable CSV headers. If omitted, no header row is included.

Only the value 1 is accepted; any other value is invalid.

sessionID (string)

In: query

Required: false

Description:

A string that serves as a unique identifier for the session, used for resuming data retrieval from the last point.

Use a new sessionID to begin a new session, fetching the most recent hour by default. fromBeginning can change this behavior.

Reuse the same sessionID to return all feed data since your last request.

If an API call returns an HTTP 206 response, repeat the same request with the same sessionID to receive the next tranche of results, until an HTTP 200 response is returned, indicating all results have been delivered.

If omitted, time window parameters (such as after/before) are required.

Validation Rules:

  • Min Length: 1
  • Max Length: 64
  • Pattern: ^[A-Za-z0-9\-]{1,64}$

Schema Description:

Unique, client-generated session identifier for incremental feed retrieval.

Requirements:

  • 1 to 64 characters in length

  • Alphanumeric characters and hyphens only

  • Case-sensitive

Use a new value to start a new session; reuse the same value to resume a session and fetch additional results.

If omitted, time window parameters (such as after/before) are required.

Example:

mySOC
fromBeginning (boolean)

In: query

Required: false

Description:

When starting a new session with sessionID, set fromBeginning=true to fetch data from the earliest available time (the first hour) rather than the most recent hour.

Returns an error if the given sessionID already exists.

Validation Rules:

  • Must be one of: True

Schema Description:

Optional flag to return data from the start of the available window (the first hour) when beginning a new session.

Only the value true is accepted; any other value (including false) will be ignored or treated as omitted.

top (integer)

In: query

Required: false

Description:

Limits the number of results in the response payload. Primarily for testing.

Validation Rules:

  • Minimum: 1
  • Maximum: 1000000000

Schema Description:

Maximum number of feed entries to return in the response payload.

Primarily intended for testing.

api_username (string)

In: query

Required: false

Description:

Only required for HMAC authentication.

Your DomainTools API username.

signature (string)

In: query

Required: false

Description:

Hex-encoded HMAC signature computed over the string api_username + timestamp + request_path using the API key and a supported algorithm (MD5, SHA1, or SHA256) as the HMAC secret. For example, if using SHA256, compute: hex(HMAC_SHA256(api_key, api_username + timestamp + "/v1/feed/nad/"))
and pass that as ?signature=….

timestamp (string)

In: query

Required: false

Description:

Only required for HMAC authentication. Current UTC timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
Used to prevent replay attacks; the server will reject timestamps outside an allowed window.

Validation Rules:

  • Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
app_partner (string)

In: query

Required: false

Description:

Your product or integration name.

app_name (string)

In: query

Required: false

Description:

Appliance/module/playbook name

app_version (string)

In: query

Required: false

Description:

Your product or integration version.

Responses

200

Description: Stream of domain risk feed entries.

Content-Type: application/x-ndjson

Schema Description: NDJSON-formatted line containing a single domain risk record.

Each line is a standalone JSON object matching the structure of DomainRiskRecord.

Example:

{"domain": "badactor.com", "phishing_risk": 75, "malware_risk": 85, "spam_risk": 88, "proximity_risk": 99, "overall_risk": 99}
Content-Type: text/csv

Schema Description: CSV-formatted row representing a domain risk record.

Fields (comma-separated):

  1. timestamp (ISO 8601 UTC) - when the domain was observed
  2. domain (string) - apex domain name
  3. phishing_risk (0-100)
  4. malware_risk (0-100)
  5. spam_risk (0-100)
  6. proximity_risk (0-100)
  7. overall_risk (0-100)
  8. evaluated_at (ISO 8601 UTC) - when the risk was last evaluated
206

Description: Partial domain risk feed response (HTTP 206) — indicates that additional data is available. Client should repeat the request with the same sessionID to retrieve the next segment.

Content-Type: application/x-ndjson

Schema Description: NDJSON-formatted line containing a single domain risk record.

Each line is a standalone JSON object matching the structure of DomainRiskRecord.

Example:

{"domain": "badactor.com", "phishing_risk": 75, "malware_risk": 85, "spam_risk": 88, "proximity_risk": 99, "overall_risk": 99}
Content-Type: text/csv

Schema Description: CSV-formatted row representing a domain risk record.

Fields (comma-separated):

  1. timestamp (ISO 8601 UTC) - when the domain was observed
  2. domain (string) - apex domain name
  3. phishing_risk (0-100)
  4. malware_risk (0-100)
  5. spam_risk (0-100)
  6. proximity_risk (0-100)
  7. overall_risk (0-100)
  8. evaluated_at (ISO 8601 UTC) - when the risk was last evaluated
403

Description: 403 Forbidden — missing or invalid API credentials.

Content-Type: application/json

Required Fields: error, resources Schema Properties: - error (object): - resources (object):

404

Description: The requested resource could not be found.

Content-Type: application/json

Required Fields: status_code, reason_phrase Schema Properties: - status_code (integer): - reason_phrase (string):

406

Description: The requested media type is not supported. Only application/x-ndjson and text/csv are accepted. If you requested application/json, use one of the supported formats instead.

Content-Type: application/json

Required Fields: error Schema Properties: - error (string): A human-readable message indicating that the value in the Accept header is not supported.

422

Description: 422 Unprocessable Entity — The request is syntactically valid but violates semantic or domain-specific rules.

Content-Type: application/json

Required Fields: error Schema Properties: - error (string): A human-readable message explaining why the request could not be processed, despite being well-formed.

/v1/feed/domainrisk/ (DELETE)

End/cancel a feed session

Ends a previous session.

Requires a valid sessionID query parameter. If the session does not exist, a 404 response is returned.

Operation ID: deleteDomainRiskSession

Parameters

sessionID (string)

In: query

Required: false

Description:

A string that serves as a unique identifier for the session, used for resuming data retrieval from the last point.

Use a new sessionID to begin a new session, fetching the most recent hour by default. fromBeginning can change this behavior.

Reuse the same sessionID to return all feed data since your last request.

If an API call returns an HTTP 206 response, repeat the same request with the same sessionID to receive the next tranche of results, until an HTTP 200 response is returned, indicating all results have been delivered.

If omitted, time window parameters (such as after/before) are required.

Validation Rules:

  • Min Length: 1
  • Max Length: 64
  • Pattern: ^[A-Za-z0-9\-]{1,64}$

Schema Description:

Unique, client-generated session identifier for incremental feed retrieval.

Requirements:

  • 1 to 64 characters in length

  • Alphanumeric characters and hyphens only

  • Case-sensitive

Use a new value to start a new session; reuse the same value to resume a session and fetch additional results.

If omitted, time window parameters (such as after/before) are required.

Example:

mySOC
api_username (string)

In: query

Required: false

Description:

Only required for HMAC authentication.

Your DomainTools API username.

signature (string)

In: query

Required: false

Description:

Hex-encoded HMAC signature computed over the string api_username + timestamp + request_path using the API key and a supported algorithm (MD5, SHA1, or SHA256) as the HMAC secret. For example, if using SHA256, compute: hex(HMAC_SHA256(api_key, api_username + timestamp + "/v1/feed/nad/"))
and pass that as ?signature=….

timestamp (string)

In: query

Required: false

Description:

Only required for HMAC authentication. Current UTC timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
Used to prevent replay attacks; the server will reject timestamps outside an allowed window.

Validation Rules:

  • Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
app_partner (string)

In: query

Required: false

Description:

Your product or integration name.

app_name (string)

In: query

Required: false

Description:

Appliance/module/playbook name

app_version (string)

In: query

Required: false

Description:

Your product or integration version.

Responses

200

Description: Session deleted successfully (empty response body).

Content-Type: application/json

Schema Description: Empty object returned when no content is required in the response body.

400

Description: Bad Request.

Content-Type: application/json

Schema Properties: - error (object): - resources (object):

404

Description: The requested resource could not be found.

Content-Type: application/json

Required Fields: status_code, reason_phrase Schema Properties: - status_code (integer): - reason_phrase (string):

Download API

TODO Download up to 7 days of past files.

/v1/download/{feed}/ (GET)

Download feed archive from real-time or daily feeds.

Get signed URLs for one or more downloadable feed files.

Operation ID: getFeedDownload

Additional Documentation

Parameters

feed (string)

In: path

Required: true

Description:

Not specified. Validation Rules:

  • Must be one of: domaindiscovery, domainhotlist, domainrdap, domainrisk, nad, nod, noh, 5_min_domain_whois, 5_min_domain_whois_parsed, 5_min_ip_whois, 5_min_ip_whois_parsed, daily_domain_discovery, daily_domain_hotlist, daily_domain_risk, daily_ip_hotlist, daily_ip_risk

Schema Description:

Feed identifier for use in Download API path. Includes:

  • Real-time feeds

  • 5-minute feeds

  • Daily feeds

app_partner (string)

In: query

Required: false

Description:

Your product or integration name.

app_name (string)

In: query

Required: false

Description:

Appliance/module/playbook name

app_version (string)

In: query

Required: false

Description:

Your product or integration version.

limit (integer)

In: query

Required: false

Description:

Limits the number of files returned in the response, starting from the most recent.

Use to control payload size or test specific cases. Must be a positive integer.

Validation Rules:

  • Minimum: 1

Schema Description:

Optional parameter to limit the number of downloadable files returned, starting from the most recent.

Must be a positive integer. Defaults to an implementation-defined maximum if omitted.

api_username (string)

In: query

Required: false

Description:

Only required for HMAC authentication.

Your DomainTools API username.

signature (string)

In: query

Required: false

Description:

Hex-encoded HMAC signature computed over the string api_username + timestamp + request_path using the API key and a supported algorithm (MD5, SHA1, or SHA256) as the HMAC secret. For example, if using SHA256, compute: hex(HMAC_SHA256(api_key, api_username + timestamp + "/v1/feed/nad/"))
and pass that as ?signature=….

timestamp (string)

In: query

Required: false

Description:

Only required for HMAC authentication. Current UTC timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
Used to prevent replay attacks; the server will reject timestamps outside an allowed window.

Validation Rules:

  • Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$

Responses

200

Description: 200 OK — List of signed URLs to download historical feed data and checksums.

Content-Type: application/json

Schema Description: A list of downloadable files for a specified DomainTools feed and timeframe. Schema Properties: - response (object):

400

Description: Bad Request.

Content-Type: application/json

Schema Properties: - error (object): - resources (object):

403

Description: 403 Forbidden — missing or invalid API credentials.

Content-Type: application/json

Required Fields: error, resources Schema Properties: - error (object): - resources (object):

Newly Active Domains Feed

Apex-level domains (e.g. example.com but not www.example.com) that we observe based on the latest lifecycle of the domain. A domain may be seen either for the first time ever, or again after at least 10 days of inactivity (no observed resolutions in DNS). Populated with our global passive DNS (pDNS) sensor network.

/v1/feed/nad/ (GET)

Returns data from the Newly Active Domains (NAD) feed.

Apex-level domains (e.g. example.com but not www.example.com) that we observe based on the latest lifecycle of the domain. A domain may be seen either for the first time ever, or again after at least 10 days of inactivity. Populated with our global passive DNS (pDNS) sensor network.

Operation ID: getNAD

Additional Documentation

Parameters

domain (string)

In: query

Required: false

Description:

Filter for an exact domain or a domain substring by prefixing or suffixing your string with *.

Multiple parameters are supported: e.g., ?domain=*apple*&domain=*mic*.

The URL-encoded version of * (%2A) may be required in some clients.

See full documentation.

Validation Rules:

  • Min Length: 1
  • Max Length: 253
  • Pattern: ^\*?[A-Za-z0-9](?:[A-Za-z0-9\-\.]{0,251}[A-Za-z0-9])?\.?$|^[A-Za-z0-9](?:[A-Za-z0-9\-\.]{0,251}[A-Za-z0-9])?\*\.?$

Schema Description:

A domain name or substring using the DNS character set (letters, digits, hyphens).

An asterisk (*) may be used as a wildcard prefix or suffix, but not in the middle. Omit the parameter entirely to fetch all domains.

A trailing dot is acceptable. International characters must be in punycode.

before (integer or string)

In: query

Required: false

Description:

Returns results observed from the earliest available record up to the specified point in time (inclusive).

Use with after to return results from a specific window, starting from the after time (inclusive) and ending at the before time (inclusive).

At least one of after, before, or sessionID must be provided to establish a valid query window. If after is omitted, before (or sessionID) becomes required, and vice versa.

Schema Description:

Defines the end of the query window for filtering domains by when they were observed.

Accepts one of:

  • relative time, in negative seconds

  • absolute time, in an ISO 8601 timestamp

after (integer or string)

In: query

Required: false

Description:

Returns results observed from the specified point in time (inclusive) up to the latest available record.

Use with before to return results from a specific window, starting from the after time (inclusive) and ending at the before time (inclusive).

At least one of after, before, or sessionID must be provided to establish a valid query window. If before is omitted, after (or sessionID) becomes required, and vice versa.

Schema Description:

Defines the start of the query window for filtering domains by when they were first observed.

Accepts one of:

  • relative time, in negative seconds

  • absolute time, in an ISO 8601 timestamp

Use in combination with seenBefore to define a bounded time range.

headers (integer)

In: query

Required: false

Description:

Adds a header row as the first line of the response when text/csv is requested.

Set headers=1 to enable. Only applies when requesting CSV format.

Validation Rules:

  • Must be one of: 1

Schema Description:

Optional flag to include a header row as the first line of the response when the response format is text/csv.

Set to 1 to enable CSV headers. If omitted, no header row is included.

Only the value 1 is accepted; any other value is invalid.

sessionID (string)

In: query

Required: false

Description:

A string that serves as a unique identifier for the session, used for resuming data retrieval from the last point.

Use a new sessionID to begin a new session, fetching the most recent hour by default. fromBeginning can change this behavior.

Reuse the same sessionID to return all feed data since your last request.

If an API call returns an HTTP 206 response, repeat the same request with the same sessionID to receive the next tranche of results, until an HTTP 200 response is returned, indicating all results have been delivered.

If omitted, time window parameters (such as after/before) are required.

Validation Rules:

  • Min Length: 1
  • Max Length: 64
  • Pattern: ^[A-Za-z0-9\-]{1,64}$

Schema Description:

Unique, client-generated session identifier for incremental feed retrieval.

Requirements:

  • 1 to 64 characters in length

  • Alphanumeric characters and hyphens only

  • Case-sensitive

Use a new value to start a new session; reuse the same value to resume a session and fetch additional results.

If omitted, time window parameters (such as after/before) are required.

Example:

mySOC
fromBeginning (boolean)

In: query

Required: false

Description:

When starting a new session with sessionID, set fromBeginning=true to fetch data from the earliest available time (the first hour) rather than the most recent hour.

Returns an error if the given sessionID already exists.

Validation Rules:

  • Must be one of: True

Schema Description:

Optional flag to return data from the start of the available window (the first hour) when beginning a new session.

Only the value true is accepted; any other value (including false) will be ignored or treated as omitted.

top (integer)

In: query

Required: false

Description:

Limits the number of results in the response payload. Primarily for testing.

Validation Rules:

  • Minimum: 1
  • Maximum: 1000000000

Schema Description:

Maximum number of feed entries to return in the response payload.

Primarily intended for testing.

api_username (string)

In: query

Required: false

Description:

Only required for HMAC authentication.

Your DomainTools API username.

signature (string)

In: query

Required: false

Description:

Hex-encoded HMAC signature computed over the string api_username + timestamp + request_path using the API key and a supported algorithm (MD5, SHA1, or SHA256) as the HMAC secret. For example, if using SHA256, compute: hex(HMAC_SHA256(api_key, api_username + timestamp + "/v1/feed/nad/"))
and pass that as ?signature=….

timestamp (string)

In: query

Required: false

Description:

Only required for HMAC authentication. Current UTC timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
Used to prevent replay attacks; the server will reject timestamps outside an allowed window.

Validation Rules:

  • Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
app_partner (string)

In: query

Required: false

Description:

Your product or integration name.

app_name (string)

In: query

Required: false

Description:

Appliance/module/playbook name

app_version (string)

In: query

Required: false

Description:

Your product or integration version.

Responses

200

Description: OK

Content-Type: application/x-ndjson

Schema Description: NDJSON stream, one JSON object per line, matching the FeedRecord schema. Each object has keys: - timestamp: ISO 8601 string - domain: string

Example:

{"timestamp":"2012-10-03T16:03:12Z","domain":"www.badactor.com"}
{"timestamp":"2012-10-03T16:03:12Z","domain":"www.example.com"}
Content-Type: text/csv

Schema Description: CSV-formatted row representing a single feed record. Fields (comma-separated): 1. timestamp (ISO 8601 UTC) 2. domain (string)

Example:

2012-10-03T16:03:12Z,www.badactor.com

206

Description: Partial content limited to 10M rows or 1 hour evaluation window

Content-Type: application/x-ndjson

Schema Description: NDJSON stream, one JSON object per line, matching the FeedRecord schema. Each object has keys: - timestamp: ISO 8601 string - domain: string

Example:

{"timestamp":"2012-10-03T16:03:12Z","domain":"www.badactor.com"}
{"timestamp":"2012-10-03T16:03:12Z","domain":"www.example.com"}
Content-Type: text/csv

Schema Description: CSV-formatted row representing a single feed record. Fields (comma-separated): 1. timestamp (ISO 8601 UTC) 2. domain (string)

Example:

2012-10-03T16:03:12Z,www.badactor.com

403

Description: 403 Forbidden — missing or invalid API credentials.

Content-Type: application/json

Required Fields: error, resources Schema Properties: - error (object): - resources (object):

404

Description: The requested resource could not be found.

Content-Type: application/json

Required Fields: status_code, reason_phrase Schema Properties: - status_code (integer): - reason_phrase (string):

406

Description: The requested media type is not supported. Only application/x-ndjson and text/csv are accepted. If you requested application/json, use one of the supported formats instead.

Content-Type: application/json

Required Fields: error Schema Properties: - error (string): A human-readable message indicating that the value in the Accept header is not supported.

422

Description: 422 Unprocessable Entity — The request is syntactically valid but violates semantic or domain-specific rules.

Content-Type: application/json

Required Fields: error Schema Properties: - error (string): A human-readable message explaining why the request could not be processed, despite being well-formed.

/v1/feed/nad/ (DELETE)

End/cancel a feed session

Ends a session previously started with the NAD feed.

Requires a valid sessionID query parameter. If the session does not exist, a 404 response is returned.

Operation ID: deleteNADSession

Additional Documentation

Parameters

sessionID (string)

In: query

Required: false

Description:

A string that serves as a unique identifier for the session, used for resuming data retrieval from the last point.

Use a new sessionID to begin a new session, fetching the most recent hour by default. fromBeginning can change this behavior.

Reuse the same sessionID to return all feed data since your last request.

If an API call returns an HTTP 206 response, repeat the same request with the same sessionID to receive the next tranche of results, until an HTTP 200 response is returned, indicating all results have been delivered.

If omitted, time window parameters (such as after/before) are required.

Validation Rules:

  • Min Length: 1
  • Max Length: 64
  • Pattern: ^[A-Za-z0-9\-]{1,64}$

Schema Description:

Unique, client-generated session identifier for incremental feed retrieval.

Requirements:

  • 1 to 64 characters in length

  • Alphanumeric characters and hyphens only

  • Case-sensitive

Use a new value to start a new session; reuse the same value to resume a session and fetch additional results.

If omitted, time window parameters (such as after/before) are required.

Example:

mySOC
api_username (string)

In: query

Required: false

Description:

Only required for HMAC authentication.

Your DomainTools API username.

signature (string)

In: query

Required: false

Description:

Hex-encoded HMAC signature computed over the string api_username + timestamp + request_path using the API key and a supported algorithm (MD5, SHA1, or SHA256) as the HMAC secret. For example, if using SHA256, compute: hex(HMAC_SHA256(api_key, api_username + timestamp + "/v1/feed/nad/"))
and pass that as ?signature=….

timestamp (string)

In: query

Required: false

Description:

Only required for HMAC authentication. Current UTC timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
Used to prevent replay attacks; the server will reject timestamps outside an allowed window.

Validation Rules:

  • Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
app_partner (string)

In: query

Required: false

Description:

Your product or integration name.

app_name (string)

In: query

Required: false

Description:

Appliance/module/playbook name

app_version (string)

In: query

Required: false

Description:

Your product or integration version.

Responses

200

Description: Session deleted successfully (empty response body).

Content-Type: application/json

Schema Description: Empty object returned when no content is required in the response body.

400

Description: Bad Request.

Content-Type: application/json

Schema Properties: - error (object): - resources (object):

404

Description: The requested resource could not be found.

Content-Type: application/json

Required Fields: status_code, reason_phrase Schema Properties: - status_code (integer): - reason_phrase (string):

Newly Observed Domains Feed

Apex-level domains (e.g. example.com but not www.example.com) that we observe for the first time, and have not observed previously with our global DNS sensor network.

/v1/feed/nod/ (GET)

Returns data from the Newly Observed Domains (NOD) feed.

Apex-level domains (e.g. example.com but not www.example.com) that we observe for the first time, and have not observed previously with our global passive DNS sensor network.

Operation ID: getNOD

Additional Documentation

Parameters

domain (string)

In: query

Required: false

Description:

Filter for an exact domain or a domain substring by prefixing or suffixing your string with *.

Multiple parameters are supported: e.g., ?domain=*apple*&domain=*mic*.

The URL-encoded version of * (%2A) may be required in some clients.

See full documentation.

Validation Rules:

  • Min Length: 1
  • Max Length: 253
  • Pattern: ^\*?[A-Za-z0-9](?:[A-Za-z0-9\-\.]{0,251}[A-Za-z0-9])?\.?$|^[A-Za-z0-9](?:[A-Za-z0-9\-\.]{0,251}[A-Za-z0-9])?\*\.?$

Schema Description:

A domain name or substring using the DNS character set (letters, digits, hyphens).

An asterisk (*) may be used as a wildcard prefix or suffix, but not in the middle. Omit the parameter entirely to fetch all domains.

A trailing dot is acceptable. International characters must be in punycode.

before (integer or string)

In: query

Required: false

Description:

Returns results observed from the earliest available record up to the specified point in time (inclusive).

Use with after to return results from a specific window, starting from the after time (inclusive) and ending at the before time (inclusive).

At least one of after, before, or sessionID must be provided to establish a valid query window. If after is omitted, before (or sessionID) becomes required, and vice versa.

Schema Description:

Defines the end of the query window for filtering domains by when they were observed.

Accepts one of:

  • relative time, in negative seconds

  • absolute time, in an ISO 8601 timestamp

after (integer or string)

In: query

Required: false

Description:

Returns results observed from the specified point in time (inclusive) up to the latest available record.

Use with before to return results from a specific window, starting from the after time (inclusive) and ending at the before time (inclusive).

At least one of after, before, or sessionID must be provided to establish a valid query window. If before is omitted, after (or sessionID) becomes required, and vice versa.

Schema Description:

Defines the start of the query window for filtering domains by when they were first observed.

Accepts one of:

  • relative time, in negative seconds

  • absolute time, in an ISO 8601 timestamp

Use in combination with seenBefore to define a bounded time range.

headers (integer)

In: query

Required: false

Description:

Adds a header row as the first line of the response when text/csv is requested.

Set headers=1 to enable. Only applies when requesting CSV format.

Validation Rules:

  • Must be one of: 1

Schema Description:

Optional flag to include a header row as the first line of the response when the response format is text/csv.

Set to 1 to enable CSV headers. If omitted, no header row is included.

Only the value 1 is accepted; any other value is invalid.

sessionID (string)

In: query

Required: false

Description:

A string that serves as a unique identifier for the session, used for resuming data retrieval from the last point.

Use a new sessionID to begin a new session, fetching the most recent hour by default. fromBeginning can change this behavior.

Reuse the same sessionID to return all feed data since your last request.

If an API call returns an HTTP 206 response, repeat the same request with the same sessionID to receive the next tranche of results, until an HTTP 200 response is returned, indicating all results have been delivered.

If omitted, time window parameters (such as after/before) are required.

Validation Rules:

  • Min Length: 1
  • Max Length: 64
  • Pattern: ^[A-Za-z0-9\-]{1,64}$

Schema Description:

Unique, client-generated session identifier for incremental feed retrieval.

Requirements:

  • 1 to 64 characters in length

  • Alphanumeric characters and hyphens only

  • Case-sensitive

Use a new value to start a new session; reuse the same value to resume a session and fetch additional results.

If omitted, time window parameters (such as after/before) are required.

Example:

mySOC
fromBeginning (boolean)

In: query

Required: false

Description:

When starting a new session with sessionID, set fromBeginning=true to fetch data from the earliest available time (the first hour) rather than the most recent hour.

Returns an error if the given sessionID already exists.

Validation Rules:

  • Must be one of: True

Schema Description:

Optional flag to return data from the start of the available window (the first hour) when beginning a new session.

Only the value true is accepted; any other value (including false) will be ignored or treated as omitted.

top (integer)

In: query

Required: false

Description:

Limits the number of results in the response payload. Primarily for testing.

Validation Rules:

  • Minimum: 1
  • Maximum: 1000000000

Schema Description:

Maximum number of feed entries to return in the response payload.

Primarily intended for testing.

api_username (string)

In: query

Required: false

Description:

Only required for HMAC authentication.

Your DomainTools API username.

signature (string)

In: query

Required: false

Description:

Hex-encoded HMAC signature computed over the string api_username + timestamp + request_path using the API key and a supported algorithm (MD5, SHA1, or SHA256) as the HMAC secret. For example, if using SHA256, compute: hex(HMAC_SHA256(api_key, api_username + timestamp + "/v1/feed/nad/"))
and pass that as ?signature=….

timestamp (string)

In: query

Required: false

Description:

Only required for HMAC authentication. Current UTC timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
Used to prevent replay attacks; the server will reject timestamps outside an allowed window.

Validation Rules:

  • Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
app_partner (string)

In: query

Required: false

Description:

Your product or integration name.

app_name (string)

In: query

Required: false

Description:

Appliance/module/playbook name

app_version (string)

In: query

Required: false

Description:

Your product or integration version.

Responses

200

Description: OK

Content-Type: application/x-ndjson

Schema Description: NDJSON stream, one JSON object per line, matching the FeedRecord schema. Each object has keys: - timestamp: ISO 8601 string - domain: string

Example:

{"timestamp":"2012-10-03T16:03:12Z","domain":"www.badactor.com"}
{"timestamp":"2012-10-03T16:03:12Z","domain":"www.example.com"}
Content-Type: text/csv

Schema Description: CSV-formatted row representing a single feed record. Fields (comma-separated): 1. timestamp (ISO 8601 UTC) 2. domain (string)

Example:

2012-10-03T16:03:12Z,www.badactor.com

206

Description: Partial content limited to 10M rows or 1 hour evaluation window

Content-Type: application/x-ndjson

Schema Description: NDJSON stream, one JSON object per line, matching the FeedRecord schema. Each object has keys: - timestamp: ISO 8601 string - domain: string

Example:

{"timestamp":"2012-10-03T16:03:12Z","domain":"www.badactor.com"}
{"timestamp":"2012-10-03T16:03:12Z","domain":"www.example.com"}
Content-Type: text/csv

Schema Description: CSV-formatted row representing a single feed record. Fields (comma-separated): 1. timestamp (ISO 8601 UTC) 2. domain (string)

Example:

2012-10-03T16:03:12Z,www.badactor.com

403

Description: 403 Forbidden — missing or invalid API credentials.

Content-Type: application/json

Required Fields: error, resources Schema Properties: - error (object): - resources (object):

404

Description: The requested resource could not be found.

Content-Type: application/json

Required Fields: status_code, reason_phrase Schema Properties: - status_code (integer): - reason_phrase (string):

406

Description: The requested media type is not supported. Only application/x-ndjson and text/csv are accepted. If you requested application/json, use one of the supported formats instead.

Content-Type: application/json

Required Fields: error Schema Properties: - error (string): A human-readable message indicating that the value in the Accept header is not supported.

422

Description: 422 Unprocessable Entity — The request is syntactically valid but violates semantic or domain-specific rules.

Content-Type: application/json

Required Fields: error Schema Properties: - error (string): A human-readable message explaining why the request could not be processed, despite being well-formed.

/v1/feed/nod/ (DELETE)

End/cancel a feed session

Ends a session previously started with the NOD feed.

Requires a valid sessionID query parameter. If the session does not exist, a 404 response is returned.

Operation ID: deleteNODSession

Additional Documentation

Parameters

sessionID (string)

In: query

Required: false

Description:

A string that serves as a unique identifier for the session, used for resuming data retrieval from the last point.

Use a new sessionID to begin a new session, fetching the most recent hour by default. fromBeginning can change this behavior.

Reuse the same sessionID to return all feed data since your last request.

If an API call returns an HTTP 206 response, repeat the same request with the same sessionID to receive the next tranche of results, until an HTTP 200 response is returned, indicating all results have been delivered.

If omitted, time window parameters (such as after/before) are required.

Validation Rules:

  • Min Length: 1
  • Max Length: 64
  • Pattern: ^[A-Za-z0-9\-]{1,64}$

Schema Description:

Unique, client-generated session identifier for incremental feed retrieval.

Requirements:

  • 1 to 64 characters in length

  • Alphanumeric characters and hyphens only

  • Case-sensitive

Use a new value to start a new session; reuse the same value to resume a session and fetch additional results.

If omitted, time window parameters (such as after/before) are required.

Example:

mySOC
api_username (string)

In: query

Required: false

Description:

Only required for HMAC authentication.

Your DomainTools API username.

signature (string)

In: query

Required: false

Description:

Hex-encoded HMAC signature computed over the string api_username + timestamp + request_path using the API key and a supported algorithm (MD5, SHA1, or SHA256) as the HMAC secret. For example, if using SHA256, compute: hex(HMAC_SHA256(api_key, api_username + timestamp + "/v1/feed/nad/"))
and pass that as ?signature=….

timestamp (string)

In: query

Required: false

Description:

Only required for HMAC authentication. Current UTC timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
Used to prevent replay attacks; the server will reject timestamps outside an allowed window.

Validation Rules:

  • Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
app_partner (string)

In: query

Required: false

Description:

Your product or integration name.

app_name (string)

In: query

Required: false

Description:

Appliance/module/playbook name

app_version (string)

In: query

Required: false

Description:

Your product or integration version.

Responses

200

Description: Session deleted successfully (empty response body).

Content-Type: application/json

Schema Description: Empty object returned when no content is required in the response body.

400

Description: Bad Request.

Content-Type: application/json

Schema Properties: - error (object): - resources (object):

404

Description: The requested resource could not be found.

Content-Type: application/json

Required Fields: status_code, reason_phrase Schema Properties: - status_code (integer): - reason_phrase (string):

Newly Observed Hostnames Feed

Hostname resolutions that we observe for the first time with our global DNS sensor network.

/v1/feed/noh/ (GET)

Returns data from the Newly Observed Hostnames (NOH) feed.

Hostname resolutions that we observe for the first time with our global passive DNS sensor network.

Operation ID: getNOH

Additional Documentation

Parameters

domain (string)

In: query

Required: false

Description:

Filter for an exact domain or a domain substring by prefixing or suffixing your string with *.

Multiple parameters are supported: e.g., ?domain=*apple*&domain=*mic*.

The URL-encoded version of * (%2A) may be required in some clients.

See full documentation.

Validation Rules:

  • Min Length: 1
  • Max Length: 253
  • Pattern: ^\*?[A-Za-z0-9](?:[A-Za-z0-9\-\.]{0,251}[A-Za-z0-9])?\.?$|^[A-Za-z0-9](?:[A-Za-z0-9\-\.]{0,251}[A-Za-z0-9])?\*\.?$

Schema Description:

A domain name or substring using the DNS character set (letters, digits, hyphens).

An asterisk (*) may be used as a wildcard prefix or suffix, but not in the middle. Omit the parameter entirely to fetch all domains.

A trailing dot is acceptable. International characters must be in punycode.

before (integer or string)

In: query

Required: false

Description:

Returns results observed from the earliest available record up to the specified point in time (inclusive).

Use with after to return results from a specific window, starting from the after time (inclusive) and ending at the before time (inclusive).

At least one of after, before, or sessionID must be provided to establish a valid query window. If after is omitted, before (or sessionID) becomes required, and vice versa.

Schema Description:

Defines the end of the query window for filtering domains by when they were observed.

Accepts one of:

  • relative time, in negative seconds

  • absolute time, in an ISO 8601 timestamp

after (integer or string)

In: query

Required: false

Description:

Returns results observed from the specified point in time (inclusive) up to the latest available record.

Use with before to return results from a specific window, starting from the after time (inclusive) and ending at the before time (inclusive).

At least one of after, before, or sessionID must be provided to establish a valid query window. If before is omitted, after (or sessionID) becomes required, and vice versa.

Schema Description:

Defines the start of the query window for filtering domains by when they were first observed.

Accepts one of:

  • relative time, in negative seconds

  • absolute time, in an ISO 8601 timestamp

Use in combination with seenBefore to define a bounded time range.

headers (integer)

In: query

Required: false

Description:

Adds a header row as the first line of the response when text/csv is requested.

Set headers=1 to enable. Only applies when requesting CSV format.

Validation Rules:

  • Must be one of: 1

Schema Description:

Optional flag to include a header row as the first line of the response when the response format is text/csv.

Set to 1 to enable CSV headers. If omitted, no header row is included.

Only the value 1 is accepted; any other value is invalid.

sessionID (string)

In: query

Required: false

Description:

A string that serves as a unique identifier for the session, used for resuming data retrieval from the last point.

Use a new sessionID to begin a new session, fetching the most recent hour by default. fromBeginning can change this behavior.

Reuse the same sessionID to return all feed data since your last request.

If an API call returns an HTTP 206 response, repeat the same request with the same sessionID to receive the next tranche of results, until an HTTP 200 response is returned, indicating all results have been delivered.

If omitted, time window parameters (such as after/before) are required.

Validation Rules:

  • Min Length: 1
  • Max Length: 64
  • Pattern: ^[A-Za-z0-9\-]{1,64}$

Schema Description:

Unique, client-generated session identifier for incremental feed retrieval.

Requirements:

  • 1 to 64 characters in length

  • Alphanumeric characters and hyphens only

  • Case-sensitive

Use a new value to start a new session; reuse the same value to resume a session and fetch additional results.

If omitted, time window parameters (such as after/before) are required.

Example:

mySOC
fromBeginning (boolean)

In: query

Required: false

Description:

When starting a new session with sessionID, set fromBeginning=true to fetch data from the earliest available time (the first hour) rather than the most recent hour.

Returns an error if the given sessionID already exists.

Validation Rules:

  • Must be one of: True

Schema Description:

Optional flag to return data from the start of the available window (the first hour) when beginning a new session.

Only the value true is accepted; any other value (including false) will be ignored or treated as omitted.

top (integer)

In: query

Required: false

Description:

Limits the number of results in the response payload. Primarily for testing.

Validation Rules:

  • Minimum: 1
  • Maximum: 1000000000

Schema Description:

Maximum number of feed entries to return in the response payload.

Primarily intended for testing.

api_username (string)

In: query

Required: false

Description:

Only required for HMAC authentication.

Your DomainTools API username.

signature (string)

In: query

Required: false

Description:

Hex-encoded HMAC signature computed over the string api_username + timestamp + request_path using the API key and a supported algorithm (MD5, SHA1, or SHA256) as the HMAC secret. For example, if using SHA256, compute: hex(HMAC_SHA256(api_key, api_username + timestamp + "/v1/feed/nad/"))
and pass that as ?signature=….

timestamp (string)

In: query

Required: false

Description:

Only required for HMAC authentication. Current UTC timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
Used to prevent replay attacks; the server will reject timestamps outside an allowed window.

Validation Rules:

  • Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
app_partner (string)

In: query

Required: false

Description:

Your product or integration name.

app_name (string)

In: query

Required: false

Description:

Appliance/module/playbook name

app_version (string)

In: query

Required: false

Description:

Your product or integration version.

Responses

200

Description: OK

Content-Type: application/x-ndjson

Schema Description: NDJSON stream, one JSON object per line, matching the FeedRecord schema. Each object has keys: - timestamp: ISO 8601 string - domain: string

Example:

{"timestamp":"2012-10-03T16:03:12Z","domain":"www.badactor.com"}
{"timestamp":"2012-10-03T16:03:12Z","domain":"www.example.com"}
Content-Type: text/csv

Schema Description: CSV-formatted row representing a single feed record. Fields (comma-separated): 1. timestamp (ISO 8601 UTC) 2. domain (string)

Example:

2012-10-03T16:03:12Z,www.badactor.com

206

Description: Partial content limited to 10M rows or 1 hour evaluation window

Content-Type: application/x-ndjson

Schema Description: NDJSON stream, one JSON object per line, matching the FeedRecord schema. Each object has keys: - timestamp: ISO 8601 string - domain: string

Example:

{"timestamp":"2012-10-03T16:03:12Z","domain":"www.badactor.com"}
{"timestamp":"2012-10-03T16:03:12Z","domain":"www.example.com"}
Content-Type: text/csv

Schema Description: CSV-formatted row representing a single feed record. Fields (comma-separated): 1. timestamp (ISO 8601 UTC) 2. domain (string)

Example:

2012-10-03T16:03:12Z,www.badactor.com

403

Description: 403 Forbidden — missing or invalid API credentials.

Content-Type: application/json

Required Fields: error, resources Schema Properties: - error (object): - resources (object):

404

Description: The requested resource could not be found.

Content-Type: application/json

Required Fields: status_code, reason_phrase Schema Properties: - status_code (integer): - reason_phrase (string):

406

Description: The requested media type is not supported. Only application/x-ndjson and text/csv are accepted. If you requested application/json, use one of the supported formats instead.

Content-Type: application/json

Required Fields: error Schema Properties: - error (string): A human-readable message indicating that the value in the Accept header is not supported.

422

Description: 422 Unprocessable Entity — The request is syntactically valid but violates semantic or domain-specific rules.

Content-Type: application/json

Required Fields: error Schema Properties: - error (string): A human-readable message explaining why the request could not be processed, despite being well-formed.

/v1/feed/noh/ (DELETE)

End/cancel a feed session

Ends a session previously started with the NOH feed.

Requires a valid sessionID query parameter. If the session does not exist, a 404 response is returned.

Operation ID: deleteNOHSession

Additional Documentation

Parameters

sessionID (string)

In: query

Required: false

Description:

A string that serves as a unique identifier for the session, used for resuming data retrieval from the last point.

Use a new sessionID to begin a new session, fetching the most recent hour by default. fromBeginning can change this behavior.

Reuse the same sessionID to return all feed data since your last request.

If an API call returns an HTTP 206 response, repeat the same request with the same sessionID to receive the next tranche of results, until an HTTP 200 response is returned, indicating all results have been delivered.

If omitted, time window parameters (such as after/before) are required.

Validation Rules:

  • Min Length: 1
  • Max Length: 64
  • Pattern: ^[A-Za-z0-9\-]{1,64}$

Schema Description:

Unique, client-generated session identifier for incremental feed retrieval.

Requirements:

  • 1 to 64 characters in length

  • Alphanumeric characters and hyphens only

  • Case-sensitive

Use a new value to start a new session; reuse the same value to resume a session and fetch additional results.

If omitted, time window parameters (such as after/before) are required.

Example:

mySOC
api_username (string)

In: query

Required: false

Description:

Only required for HMAC authentication.

Your DomainTools API username.

signature (string)

In: query

Required: false

Description:

Hex-encoded HMAC signature computed over the string api_username + timestamp + request_path using the API key and a supported algorithm (MD5, SHA1, or SHA256) as the HMAC secret. For example, if using SHA256, compute: hex(HMAC_SHA256(api_key, api_username + timestamp + "/v1/feed/nad/"))
and pass that as ?signature=….

timestamp (string)

In: query

Required: false

Description:

Only required for HMAC authentication. Current UTC timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
Used to prevent replay attacks; the server will reject timestamps outside an allowed window.

Validation Rules:

  • Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
app_partner (string)

In: query

Required: false

Description:

Your product or integration name.

app_name (string)

In: query

Required: false

Description:

Appliance/module/playbook name

app_version (string)

In: query

Required: false

Description:

Your product or integration version.

Responses

200

Description: Session deleted successfully (empty response body).

Content-Type: application/json

Schema Description: Empty object returned when no content is required in the response body.

400

Description: Bad Request.

Content-Type: application/json

Schema Properties: - error (object): - resources (object):

404

Description: The requested resource could not be found.

Content-Type: application/json

Required Fields: status_code, reason_phrase Schema Properties: - status_code (integer): - reason_phrase (string):

Parsed Domain RDAP Feed

Changes to global domain registration information, populated by the Registration Data Access Protocol (RDAP). Compliments the 5-Minute WHOIS Feed as registries and registrars switch from Whois to RDAP.

/v1/feed/domainrdap/ (GET)

Returns data from the real-time Parsed Domain RDAP Feed.

Changes to global domain registration information, populated by the Registration Data Access Protocol (RDAP). Compliments the 5-Minute WHOIS Feed as registries and registrars switch from Whois to RDAP.

Operation ID: getParsedDRDAP

Additional Documentation

Parameters

domain (string)

In: query

Required: false

Description:

Filter for an exact domain or a domain substring by prefixing or suffixing your string with *.

Multiple parameters are supported: e.g., ?domain=*apple*&domain=*mic*.

The URL-encoded version of * (%2A) may be required in some clients.

See full documentation.

Validation Rules:

  • Min Length: 1
  • Max Length: 253
  • Pattern: ^\*?[A-Za-z0-9](?:[A-Za-z0-9\-\.]{0,251}[A-Za-z0-9])?\.?$|^[A-Za-z0-9](?:[A-Za-z0-9\-\.]{0,251}[A-Za-z0-9])?\*\.?$

Schema Description:

A domain name or substring using the DNS character set (letters, digits, hyphens).

An asterisk (*) may be used as a wildcard prefix or suffix, but not in the middle. Omit the parameter entirely to fetch all domains.

A trailing dot is acceptable. International characters must be in punycode.

before (integer or string)

In: query

Required: false

Description:

Returns results observed from the earliest available record up to the specified point in time (inclusive).

Use with after to return results from a specific window, starting from the after time (inclusive) and ending at the before time (inclusive).

At least one of after, before, or sessionID must be provided to establish a valid query window. If after is omitted, before (or sessionID) becomes required, and vice versa.

Schema Description:

Defines the end of the query window for filtering domains by when they were observed.

Accepts one of:

  • relative time, in negative seconds

  • absolute time, in an ISO 8601 timestamp

after (integer or string)

In: query

Required: false

Description:

Returns results observed from the specified point in time (inclusive) up to the latest available record.

Use with before to return results from a specific window, starting from the after time (inclusive) and ending at the before time (inclusive).

At least one of after, before, or sessionID must be provided to establish a valid query window. If before is omitted, after (or sessionID) becomes required, and vice versa.

Schema Description:

Defines the start of the query window for filtering domains by when they were first observed.

Accepts one of:

  • relative time, in negative seconds

  • absolute time, in an ISO 8601 timestamp

Use in combination with seenBefore to define a bounded time range.

headers (integer)

In: query

Required: false

Description:

Adds a header row as the first line of the response when text/csv is requested.

Set headers=1 to enable. Only applies when requesting CSV format.

Validation Rules:

  • Must be one of: 1

Schema Description:

Optional flag to include a header row as the first line of the response when the response format is text/csv.

Set to 1 to enable CSV headers. If omitted, no header row is included.

Only the value 1 is accepted; any other value is invalid.

sessionID (string)

In: query

Required: false

Description:

A string that serves as a unique identifier for the session, used for resuming data retrieval from the last point.

Use a new sessionID to begin a new session, fetching the most recent hour by default. fromBeginning can change this behavior.

Reuse the same sessionID to return all feed data since your last request.

If an API call returns an HTTP 206 response, repeat the same request with the same sessionID to receive the next tranche of results, until an HTTP 200 response is returned, indicating all results have been delivered.

If omitted, time window parameters (such as after/before) are required.

Validation Rules:

  • Min Length: 1
  • Max Length: 64
  • Pattern: ^[A-Za-z0-9\-]{1,64}$

Schema Description:

Unique, client-generated session identifier for incremental feed retrieval.

Requirements:

  • 1 to 64 characters in length

  • Alphanumeric characters and hyphens only

  • Case-sensitive

Use a new value to start a new session; reuse the same value to resume a session and fetch additional results.

If omitted, time window parameters (such as after/before) are required.

Example:

mySOC
fromBeginning (boolean)

In: query

Required: false

Description:

When starting a new session with sessionID, set fromBeginning=true to fetch data from the earliest available time (the first hour) rather than the most recent hour.

Returns an error if the given sessionID already exists.

Validation Rules:

  • Must be one of: True

Schema Description:

Optional flag to return data from the start of the available window (the first hour) when beginning a new session.

Only the value true is accepted; any other value (including false) will be ignored or treated as omitted.

top (integer)

In: query

Required: false

Description:

Limits the number of results in the response payload. Primarily for testing.

Validation Rules:

  • Minimum: 1
  • Maximum: 1000000000

Schema Description:

Maximum number of feed entries to return in the response payload.

Primarily intended for testing.

api_username (string)

In: query

Required: false

Description:

Only required for HMAC authentication.

Your DomainTools API username.

signature (string)

In: query

Required: false

Description:

Hex-encoded HMAC signature computed over the string api_username + timestamp + request_path using the API key and a supported algorithm (MD5, SHA1, or SHA256) as the HMAC secret. For example, if using SHA256, compute: hex(HMAC_SHA256(api_key, api_username + timestamp + "/v1/feed/nad/"))
and pass that as ?signature=….

timestamp (string)

In: query

Required: false

Description:

Only required for HMAC authentication. Current UTC timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
Used to prevent replay attacks; the server will reject timestamps outside an allowed window.

Validation Rules:

  • Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
app_partner (string)

In: query

Required: false

Description:

Your product or integration name.

app_name (string)

In: query

Required: false

Description:

Appliance/module/playbook name

app_version (string)

In: query

Required: false

Description:

Your product or integration version.

Responses

200

Description: List of Parsed Domain RDAP feed records, including raw RDAP responses from both registry and registrar, as well as a parsed summary.

Content-Type: application/x-ndjson

Required Fields: timestamp, domain, raw_record, parsed_record Schema Properties: - timestamp (string (date-time)): - domain (string): - raw_record (object): - parsed_record (object):

206

Description: Partial content limited to 10M rows or 1 hour evaluation window

Content-Type: application/x-ndjson

Schema Description: NDJSON stream, one JSON object per line, matching the FeedRecord schema. Each object has keys: - timestamp: ISO 8601 string - domain: string

Example:

{"timestamp":"2012-10-03T16:03:12Z","domain":"www.badactor.com"}
{"timestamp":"2012-10-03T16:03:12Z","domain":"www.example.com"}
Content-Type: text/csv

Schema Description: CSV-formatted row representing a single feed record. Fields (comma-separated): 1. timestamp (ISO 8601 UTC) 2. domain (string)

Example:

2012-10-03T16:03:12Z,www.badactor.com

403

Description: 403 Forbidden — missing or invalid API credentials.

Content-Type: application/json

Required Fields: error, resources Schema Properties: - error (object): - resources (object):

404

Description: The requested resource could not be found.

Content-Type: application/json

Required Fields: status_code, reason_phrase Schema Properties: - status_code (integer): - reason_phrase (string):

406

Description: The requested media type is not supported. Only application/x-ndjson and text/csv are accepted. If you requested application/json, use one of the supported formats instead.

Content-Type: application/json

Required Fields: error Schema Properties: - error (string): A human-readable message indicating that the value in the Accept header is not supported.

422

Description: 422 Unprocessable Entity — The request is syntactically valid but violates semantic or domain-specific rules.

Content-Type: application/json

Required Fields: error Schema Properties: - error (string): A human-readable message explaining why the request could not be processed, despite being well-formed.

/v1/feed/domainrdap/ (DELETE)

End/cancel a feed session

Ends a previous session.

Requires a valid sessionID query parameter. If the session does not exist, a 404 response is returned.

Operation ID: deleteDRDAPSession

Parameters

sessionID (string)

In: query

Required: false

Description:

A string that serves as a unique identifier for the session, used for resuming data retrieval from the last point.

Use a new sessionID to begin a new session, fetching the most recent hour by default. fromBeginning can change this behavior.

Reuse the same sessionID to return all feed data since your last request.

If an API call returns an HTTP 206 response, repeat the same request with the same sessionID to receive the next tranche of results, until an HTTP 200 response is returned, indicating all results have been delivered.

If omitted, time window parameters (such as after/before) are required.

Validation Rules:

  • Min Length: 1
  • Max Length: 64
  • Pattern: ^[A-Za-z0-9\-]{1,64}$

Schema Description:

Unique, client-generated session identifier for incremental feed retrieval.

Requirements:

  • 1 to 64 characters in length

  • Alphanumeric characters and hyphens only

  • Case-sensitive

Use a new value to start a new session; reuse the same value to resume a session and fetch additional results.

If omitted, time window parameters (such as after/before) are required.

Example:

mySOC
api_username (string)

In: query

Required: false

Description:

Only required for HMAC authentication.

Your DomainTools API username.

signature (string)

In: query

Required: false

Description:

Hex-encoded HMAC signature computed over the string api_username + timestamp + request_path using the API key and a supported algorithm (MD5, SHA1, or SHA256) as the HMAC secret. For example, if using SHA256, compute: hex(HMAC_SHA256(api_key, api_username + timestamp + "/v1/feed/nad/"))
and pass that as ?signature=….

timestamp (string)

In: query

Required: false

Description:

Only required for HMAC authentication. Current UTC timestamp in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ).
Used to prevent replay attacks; the server will reject timestamps outside an allowed window.

Validation Rules:

  • Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
app_partner (string)

In: query

Required: false

Description:

Your product or integration name.

app_name (string)

In: query

Required: false

Description:

Appliance/module/playbook name

app_version (string)

In: query

Required: false

Description:

Your product or integration version.

Responses

200

Description: Session deleted successfully (empty response body).

Content-Type: application/json

Schema Description: Empty object returned when no content is required in the response body.

400

Description: Bad Request.

Content-Type: application/json

Schema Properties: - error (object): - resources (object):

404

Description: The requested resource could not be found.

Content-Type: application/json

Required Fields: status_code, reason_phrase Schema Properties: - status_code (integer): - reason_phrase (string):

Last modified: July 01, 2025