Lookup + Monitor OpenAPI spec
Note
View this specification or browse all our OpenAPI specifications on Swagger API Hub.
openapi: 3.0.3
info:
title: DomainTools Lookup and Monitor APIs
description: |
version: 1.0.0
servers:
- url: 'https://api.domaintools.com'
description: DomainTools APIs
paths:
'/v1/{query}/':
get:
operationId: getDomainProfile
summary: Domain Profile
description: 'Basic registrant, server, and registration data for a domain name, plus preview data for other products'
parameters:
- $ref: '#/components/parameters/domain_path'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Domain_Profile'
'404':
$ref: '#/components/responses/404'
externalDocs:
url: 'https://docs.domaintools.com/api/lookups/domain_profile/'
tags:
- Classic Lookup & Reversing
'/v1/{query}/host-domains/':
get:
operationId: getHostDomains
summary: Reverse IP
description: List of domains that share the same network host
parameters:
- $ref: '#/components/parameters/ip_address_path'
- $ref: '#/components/parameters/limit_no'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Reverse_IP'
'206':
$ref: '#/components/responses/206'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
externalDocs:
url: 'https://docs.domaintools.com/api/lookups/reverse_ip/'
tags:
- Classic Lookup & Reversing
'/v1/{query}/hosting-history/':
get:
operationId: getHostingHistory
summary: Hosting History
description: 'Provides the registrar, IP and name server history for a domain name'
parameters:
- $ref: '#/components/parameters/domain_path'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Hosting_History'
'206':
$ref: '#/components/responses/206'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
externalDocs:
url: 'https://docs.domaintools.com/api/lookups/hosting_history/'
tags:
- Classic Lookup & Reversing
'/v1/{query}/name-server-domains/':
get:
operationId: getNameServerDomains
summary: Reverse Name Server
description: List of domains that share the same primary name server
parameters:
- $ref: '#/components/parameters/domain_path'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Reverse_Name_Server'
'206':
$ref: '#/components/responses/206'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
externalDocs:
url: 'https://docs.domaintools.com/api/lookups/reverse_nameserver/'
tags:
- Classic Lookup & Reversing
'/v1/{query}/rdap/parsed/':
get:
operationId: getParsedDomainRdap
summary: Parsed Domain RDAP
description: returns the most recent Domain-RDAP registration record in response to a HTTP GET query.
parameters:
- $ref: '#/components/parameters/domain_path'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/200_rdap'
'206':
$ref: '#/components/responses/206'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
externalDocs:
url: 'https://docs.domaintools.com/api/lookups/parsed_rdap/'
tags:
- Classic Lookup & Reversing
'/v1/{query}/reverse-ip/':
get:
operationId: getReverseIp
summary: Reverse IP
description: List of domains that share the same IP address (Internet host).
parameters:
- $ref: '#/components/parameters/domain_path'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Reverse_IP'
'206':
description: Results error out
'400':
description: Query is malformed
'404':
description: Domain doesn't exist
'500':
description: Hit a rate limit on our backend service
'503':
description: Exceed your service level limits
externalDocs:
url: 'https://docs.domaintools.com/api/lookups/reverse_ip/'
tags:
- Classic Lookup & Reversing
'/v1/{query}/whois/':
get:
operationId: getWhoisLookup
summary: WHOIS Lookup
description: WHOIS records for domain names and IP addresses
parameters:
- $ref: '#/components/parameters/domain_path'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Whois_Lookup'
'206':
$ref: '#/components/responses/206'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
externalDocs:
url: 'https://docs.domaintools.com/api/lookups/whois_lookup/'
tags:
- Classic Lookup & Reversing
'/v1/{query}/whois/history/':
get:
operationId: getWhoisHistory
summary: WHOIS History
description: Retrieve historical WHOIS records of a given domain name.
parameters:
- $ref: '#/components/parameters/domain_path'
- $ref: '#/components/parameters/sort'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/mode'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Whois_History'
'206':
$ref: '#/components/responses/206'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
externalDocs:
url: 'https://docs.domaintools.com/api/lookups/whois_history/'
tags:
- Classic Lookup & Reversing
'/v1/{query}/whois/parsed/':
get:
operationId: getParsedWhois
summary: Parsed WHOIS
description: Parsed results for WHOIS records for domain names and IP addresses
parameters:
- $ref: '#/components/parameters/ip_domain_path'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Parsed_Whois_Domain'
- $ref: '#/components/schemas/Parsed_Whois_IP'
'206':
description: Results error out
'400':
description: Query is malformed
'404':
description: Domain doesn't exist
'500':
description: Hit a rate limit on our backend service
'503':
description: Exceed your service level limits
externalDocs:
url: 'https://docs.domaintools.com/api/lookups/parsed_whois/'
tags:
- Classic Lookup & Reversing
'/v1/account/':
get:
operationId: getAccountInfo
summary: Account Information
description: |
Information of the active API endpoints, rate limits and usage for an account.
parameters:
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/account_information'
'206':
$ref: '#/components/responses/206'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
externalDocs:
url: 'https://docs.domaintools.com/api/general/account_information/'
tags:
- Information
'/v1/{query}/domain-history/':
summary: Domain History
description: |
### Intent
Track the complete evolution of a domain's history across its infrastructure, content, and ownership. Identify significant events such as infrastructure weaponization, service changes, or registration transfers.
### Capabilities
- **Retrieve Complete History**: Fetch the entire historical record for any domain, from its initial registration to the present.
- **Customize Data Views**: Isolate specific events by including or excluding data fields (e.g., `A`, `NS`, `MX`, `SSL`). This focuses on critical signals while reducing noise.
- **Anchor to Current Lifecycle**: Constrain results to a domain's current "Active" registration period to analyze its most recent activity.
### Use Cases
- **Detect Infrastructure Weaponization**: Pinpoint when a domain’s infrastructure was weaponized by isolating changes in `A`, `NS`, or `MX` records within its current lifecycle. Identify the exact day it was brought online or redirected for a malicious campaign.
- **Monitor Service Activation**: Determine when a domain launched a functional service by identifying the first appearance of website content or the issuance of an `SSL` certificate.
- **Identify Ownership Changes**: Reveal a transfer of domain ownership by comparing `registrar` and `registrant` data across distinct registration lifecycles.
get:
operationId: getDomainHistory
summary: Get the history of a domain
description: Retrieve the history of a domain
parameters:
- $ref: '#/components/parameters/domain'
- $ref:
/v1/ip-monitor/:
get:
operationId: getIpMonitor
summary: IP Monitor
description: Receive notification when there are new and/or deleted domains on a given IP Address
parameters:
- $ref: '#/components/parameters/ip_address'
- $ref: '#/components/parameters/days_back'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/IP_Monitor'
'206':
$ref: '#/components/responses/206'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
externalDocs:
url: 'https://docs.domaintools.com/api/monitors/ip_monitor/'
tags:
- Classic Monitors
/v1/ip-registrant-monitor/:
get:
operationId: getIpRegistrantMonitor
summary: IP Registrant Monitor
description: Receive notification when specific people or organizations are allocated new IP ranges or have existing ranges de-allocated
parameters:
- $ref: '#/components/parameters/term_ip_registrant_monitor'
- $ref: '#/components/parameters/country'
- $ref: '#/components/parameters/whois_server'
- $ref: '#/components/parameters/include_total_count'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/search_type'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/IP_Registrant_Monitor'
'206':
$ref: '#/components/responses/206'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
externalDocs:
url: 'https://docs.domaintools.com/api/monitors/ip_registrant_monitor/'
tags:
- Classic Monitors
/v1/mark-alert/:
get:
operationId: getMarkAlert
summary: Brand Monitor
description: Monitor new domain registrations for specific keywords
parameters:
- $ref: '#/components/parameters/term_complex'
- $ref: '#/components/parameters/exclude'
- $ref: '#/components/parameters/domain_status'
- $ref: '#/components/parameters/days_back'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Brand_Monitor'
'206':
$ref: '#/components/responses/206'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
externalDocs:
url: 'https://docs.domaintools.com/api/monitors/brand_monitor/'
tags:
- Classic Monitors
/v1/name-server-monitor/:
get:
operationId: getNameServerMonitor
summary: Name Server Monitor
description: Receive notification when there are new and/or deleted domains on a given Domain Name Server
parameters:
- $ref: '#/components/parameters/domain'
- $ref: '#/components/parameters/days_back'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Name_Server_Monitor'
'206':
description: Results error out
'400':
description: Query is malformed
'404':
description: Domain doesn't exist
'500':
description: Hit a rate limit on our backend service
'503':
description: Exceed your service level limits
externalDocs:
url: 'https://docs.domaintools.com/api/monitors/name_server_monitor/'
tags:
- Classic Monitors
/v1/registrant-alert/:
get:
operationId: getRegistrantAlert
summary: Registrant Monitor
description: 'Receive notification when specific people or organizations register, renew or delete domain names'
parameters:
- $ref: '#/components/parameters/term_complex'
- $ref: '#/components/parameters/exclude'
- $ref: '#/components/parameters/days_back'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Registrant_Monitor'
'206':
description: Results error out
'400':
description: Query is malformed
'404':
description: Domain doesn't exist
'500':
description: Hit a rate limit on our backend service
'503':
description: Exceed your service level limit
externalDocs:
url: 'https://docs.domaintools.com/api/monitors/registrant_monitor/'
tags:
- Classic Monitors
/v1/reputation/:
get:
operationId: getReputation
summary: Domain Reputation
description: 'This functionality is superseded by Risk API, which offers a more complete and robust evaluation and should be used for all new development.'
parameters:
- $ref: '#/components/parameters/domain'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Domain_Reputation'
'206':
$ref: '#/components/responses/206'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
externalDocs:
url: 'https://docs.domaintools.com/api/lookups/domain_reputation/'
tags:
- Classic Lookup & Reversing
/v1/reverse-ip-whois/:
get:
operationId: getReverseIpWhois
summary: Reverse IP WHOIS
description: |
Provides a list of IP network ranges with WHOIS records that match a specific query
Input either an IP or query parameter
parameters:
- $ref: '#/components/parameters/ip'
- name: query
in: query
description: |
A space separated list of free text query terms. Returns the list of IP ranges that satisfy the query. The query terms have the following rules:
+term: Term must be included in the results.
-term: Term must not be included in the results.
term*: Term as a prefix must be included in the results.
No modifiers: The search performed is a phrase search.
schema:
type: string
- $ref: '#/components/parameters/country'
- $ref: '#/components/parameters/whois_server'
- $ref: '#/components/parameters/include_total_count'
- $ref: '#/components/parameters/page_limit'
- $ref: '#/components/parameters/ip_version'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Reverse_IP_Whois_IP'
- $ref: '#/components/schemas/Reverse_IP_Whois_Query'
'206':
description: Results error out
'400':
description: Query is malformed
'404':
description: Domain doesn't exist
'500':
description: Hit a rate limit on our backend service
'503':
description: Exceed your service level limits
externalDocs:
url: 'https://docs.domaintools.com/api/lookups/reverse_ip_whois/'
tags:
- Classic Lookup & Reversing
/v1/reverse-whois/:
get:
operationId: getReverseWhois
summary: Reverse WHOIS
description: Provides a list of domain names with WHOIS records that match a specific query
parameters:
- $ref: '#/components/parameters/term_reverse_whois'
- $ref: '#/components/parameters/exclude'
- $ref: '#/components/parameters/scope'
- $ref: '#/components/parameters/mode_reverse_whois'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Reverse_Whois'
'206':
$ref: '#/components/responses/206'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
externalDocs:
url: 'https://docs.domaintools.com/api/lookups/reverse_whois/'
tags:
- Classic Lookup & Reversing
/v1/risk/:
get:
operationId: getDomainRiskScore
summary: Domain Risk Score
description: Provides risk scores and threat predictions based on DomainTools Proximity and Threat Profile algorithms
parameters:
- $ref: '#/components/parameters/domain'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Domain_Risk_Score'
'206':
$ref: '#/components/responses/206'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
externalDocs:
url: 'https://docs.domaintools.com/api/lookups/domain_risk_score/'
tags:
- Classic Lookup & Reversing
/v1/risk/evidence/:
get:
operationId: getRiskScoreEvidence
summary: Evidence
description: 'Provides evidence reasons of the the risk score, such as ''blocklist'', ''dns'', ''realtime'', ''registrant'', or ''zerolist''.'
parameters:
- $ref: '#/components/parameters/domain'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Domain_Risk_Score_Evidence'
'206':
$ref: '#/components/responses/206'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
externalDocs:
url: 'https://docs.domaintools.com/api/lookups/domain_risk_score/'
tags:
- Classic Lookup & Reversing
/v2/domain-search/:
get:
operationId: getDomainSearch
summary: Domain Search
description: Searches active and deleted domain names that match a query string
parameters:
- $ref: '#/components/parameters/term_simple'
- $ref: '#/components/parameters/exclude_query'
- $ref: '#/components/parameters/max_length'
- $ref: '#/components/parameters/min_length'
- $ref: '#/components/parameters/has_hyphen'
- $ref: '#/components/parameters/has_number'
- $ref: '#/components/parameters/active_only'
- $ref: '#/components/parameters/deleted_only'
- $ref: '#/components/parameters/anchor_left'
- $ref: '#/components/parameters/anchor_right'
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/app_partner'
- $ref: '#/components/parameters/app_name'
- $ref: '#/components/parameters/app_version'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Domain_Search'
'206':
$ref: '#/components/responses/206'
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
'503':
$ref: '#/components/responses/503'
externalDocs:
url: 'https://docs.domaintools.com/api/lookups/domain_search/'
tags:
- Classic Lookup & Reversing
components:
parameters:
anchor_left:
in: query
name: anchor_left
description: Return only domains that start with the query term.
schema:
type: boolean
anchor_right:
in: query
name: anchor_right
description: Return only domains that end with the query term.
schema:
type: boolean
app_name:
in: query
name: app_name
description: 'Appliance, module, or playbook, or any combination of these'
schema:
type: string
default: DomainTools_APIs
app_partner:
in: query
name: app_partner
description: Your product name
schema:
type: string
default: SwaggerHub
app_version:
in: query
name: app_version
description: Version of your integration/connector
schema:
type: number
default: 1.4
multipleOf: 0.1
country:
in: query
name: country
description: |
Limits results to IP addresses allocated to an entity with a particular country. Valid options are ISO 3166-1 two character country codes.
Default: (All country codes)
schema:
type: string
days_back:
in: query
name: days_back
description: Use this parameter in exceptional circumstances where you need to search domains registered up to six days prior to the current date. Set the value to an integer in the range of 1-6.
schema:
type: integer
enum:
- 1
- 2
- 3
- 4
- 5
- 6
deleted_only:
in: query
name: deleted_only
description: Return only domains previously registered but not currently registered.
schema:
type: boolean
domain:
in: query
name: domain
description: domain name
required: true
schema:
type: string
domain_path:
in: path
name: query
description: domain names
required: true
schema:
type: string
domain_status:
in: query
name: domain_status
description: 'Sets the scope of domain names to search. By default, the API will search both new domain names and domains which are now on-hold (pending delete). To narrow your search to only one of these status codes, set this parameter to either new or on-hold.'
schema:
type: string
enum:
- new
- on-hold
exclude:
in: query
name: exclude
description: 'Domain names with these words will be excluded from the result set. For exclusions of multiple terms, use the ( | ) character as a logical AND.'
schema:
type: string
exclude_query:
in: query
name: exclude_query
description: Terms to exclude from matching — each term in the query string must be at least three characters long. Use spaces to separate multiple terms
schema:
type: string
format:
in: query
name: format
description: data format
schema:
type: string
enum:
- json
- xml
- html
has_hyphen:
in: query
name: has_hyphen
description: Return results with hyphens in the domain name.
schema:
type: boolean
has_number:
in: query
name: has_number
description: Return results with numbers in the domain name.
schema:
type: boolean
active_only:
in: query
name: active_only
description: Return only domains currently registered.
schema:
type: boolean
include_total_count:
in: query
name: include_total_count
description: Returns the total number of results for a query. This should typically be used only for the first page of a large result set.
schema:
type: boolean
ip:
in: query
name: ip
description: IPv4 address the registered domain was last known to point to during an active DNS check
schema:
type: string
format: ipv4
ip_address:
in: query
name: query
description: The IP Address you wish to query
required: true
schema:
type: string
format: ipv4
ip_address_path:
in: path
name: query
description: The IP Address you wish to query
required: true
schema:
type: string
ip_domain_path:
in: path
name: query
description: domain names or ip address
required: true
schema:
type: string
ip_version:
in: query
name: ip_version
description: 'Limits the query search results to a particular IP version. If omitted, the default is to query against IPv4. Valid options are 4 or 6.'
schema:
type: integer
default: 4
enum:
- 4
- 6
limit:
in: query
name: limit
description: Specify the maximum number of records to retrieve in an API query.
required: false
schema:
type: integer
maximum: 100
minimum: 1
limit_no:
in: query
name: limit
description: Specify the maximum number of records to retrieve in an API query.
schema:
type: integer
max_length:
in: query
name: max_length
description: Limit the maximum domain character count.
schema:
type: integer
maxLength: 65
min_length:
in: query
name: min_length
description: Limit the minimum domain character count.
schema:
type: integer
minLength: 2
mode:
in: query
name: mode
description: |
An optional parameter that changes the mode of the API result
* check_existence - checks if the domain exists in the DomainTools database. Returns a result of true or false.
* count - Returns a record_count of how many historical records are associated with the queried domain.
* list - This is the default for this parameter and returns the historical records associated with the domain.
schema:
type: string
enum:
- check_existence
- count
- list
mode_reverse_whois:
in: query
name: mode
description: |
* quote : only lists the size and retail price of the query if you have per-domain pricing access
* purchase : includes the complete list of domain names that match the query
schema:
type: string
enum:
- quote
- purchase
offset:
in: query
name: offset
description: For paginating requests beyond the limit
schema:
type: integer
page:
in: query
name: page
description: Sets the page of results to retrieve from the server.
schema:
type: integer
required: false
page_limit:
in: query
name: page
description: Providing the page number allows access to additional pages of data. Results are returned 1000 ranges at a time. The maximum allowed value is 5.
schema:
type: integer
default: 1
enum:
- 1
- 2
- 3
- 4
- 5
scope:
in: query
name: scope
description: 'Sets the scope of the report to include only current WHOIS records, or to include both current and historic records. Value must be current (the default) or historic.'
schema:
type: string
search_type:
in: query
name: search_type
description: Type of changes to return
schema:
type: string
default: all
enum:
- all
- additions
- removals
- modifications
sort:
in: query
name: sort
description: Sort the records returned in either ascending or descending order.
schema:
type: string
enum:
- date_asc
- date_desc
term_complex:
in: query
name: query
description: 'One or more terms, where the pipe character ( | )may be used as a logical AND to require that all strings be present in order to match.'
required: true
schema:
type: string
term_ip_registrant_monitor:
in: query
name: query
description: |
A space separated list of free text query terms. Returns the list of IP ranges that satisfy the query. The query terms have the following rules:
+term: Term must be included in the results.
-term: Term must not be included in the results.
term*: Term as a prefix must be included in the results.
No modifiers: The search performed is a phrase search
required: true
schema:
type: string
term_reverse_whois:
in: query
name: terms
description: 'One or more terms, where the pipe character ( | )may be used as a logical AND to require that all strings be present in order to match.'
required: true
schema:
type: string
term_simple:
in: query
name: query
description: 'Each term in the query string must be at least three characters long. Use spaces to separate multiple terms, but be sure to URL encode the values before passing them to the API.'
required: true
schema:
type: string
whois_server:
in: query
name: server
description: |
Limits results to ranges from a particular WHOIS server.
Default: (All whois servers)
schema:
type: string
enum:
- whois.arin.net
- whois.apnic.net
- whois.ripe.net
- whois.lacnic.net
- whois.afrinic.net
schemas:
200_rdap:
type: object
properties:
responses:
properties:
domain_rdap:
type: array
items:
type: object
properties:
source:
type: string
enum:
- registry
- registrar
timestamp:
type: string
link:
type: string
record:
description: raw record
type: string
parsed_domain_rdap:
type: object
properties:
domain:
type: string
handle:
type: string
domain_statuses:
type: array
items:
type: string
creation_date:
type: string
last_changed_date:
type: string
expiration_date:
type: string
registrar:
type: object
properties:
name:
type: string
iana_id:
type: string
contacts:
type: array
items:
$ref: '#/components/schemas/rdap_contacts'
contacts:
type: array
items:
$ref: '#/components/schemas/rdap_contacts'
dnssec:
type: object
properties:
signed:
type: boolean
nameservers:
type: array
items:
type: string
conformance:
type: array
items:
type: string
emails:
type: array
items:
type: string
email_domains:
type: array
items:
type: string
unclassified_emails:
type: array
items:
type: string
record_source:
description: domain name
type: string
type: object
rdap_contacts:
type: object
properties:
handle:
type: string
name:
type: string
org:
type: string
email:
type: string
phone:
type: string
street:
type: string
city:
type: string
postal:
type: string
region:
type: string
country:
type: string
fax:
type: string
roles:
type: array
items:
type: string
general_contact1:
type: object
properties:
name:
type: string
org:
type: string
street:
type: array
items:
type: string
city:
type: string
state:
type: string
postal:
type: string
country:
type: string
phone:
type: string
fax:
type: string
email:
type: string
account_information:
type: object
properties:
response:
type: object
properties:
account:
type: object
properties:
api_username:
type: string
active:
type: boolean
products:
type: array
items:
type: object
properties:
id:
type: string
per_month_limit:
type: string
per_minute_limit:
type: string
absolute_limit:
type: string
usage:
type: object
properties:
today:
type: string
month:
type: string
expiration_date:
type: string
Brand_Monitor:
type: object
properties:
response:
type: object
properties:
query:
type: string
exclude:
type: string
new:
type: boolean
on-hold:
type: boolean
date:
type: string
total:
type: integer
alerts:
type: array
items:
type: object
properties:
domain:
type: string
status:
type: string
Domain_Profile:
type: object
properties:
response:
type: object
properties:
registrant:
type: object
properties:
name:
type: string
domain:
type: integer
product_url:
type: string
server:
type: object
properties:
ip_address:
type: string
other_domains:
type: integer
product_url:
type: string
registration:
type: object
properties:
created:
type: string
expires:
type: string
updated:
type: string
registrar:
type: string
statuses:
type: array
items:
type: string
name_servers:
type: array
items:
type: object
properties:
server:
type: string
product_url:
type: string
history:
type: object
properties:
registrar:
type: object
properties:
earliest_event:
type: string
events:
type: integer
product_url:
type: string
name_server:
type: object
properties:
events:
type: integer
timespan_in_years:
type: integer
product_url:
type: string
ip_address:
type: object
properties:
events:
type: integer
timespan_in_years:
type: integer
product_url:
type: string
whois:
type: object
properties:
records:
type: integer
earliest_event:
type: string
product_url:
type: string
seo:
type: object
properties:
score:
type: integer
product_url:
type: string
website_data:
type: object
properties:
response_code:
type: integer
title:
type: string
server:
type: string
meta:
type: array
items:
type: string
product_url:
type: string
Domain_Reputation:
type: object
properties:
response:
type: object
properties:
domain:
type: string
risk_score:
type: string
reasons:
type: string
Domain_Search:
type: object
properties:
response:
type: object
properties:
query_info:
type: object
properties:
active_only:
type: boolean
min_length:
type: integer
total_results:
type: integer
exclude_query:
type: string
has_hyphen:
type: boolean
max_length:
type: integer
anchor_right:
type: boolean
anchor_left:
type: boolean
page:
type: integer
limit:
type: integer
has_number:
type: boolean
deleted_only:
type: boolean
results:
type: array
items:
type: object
properties:
sld:
type: string
tlds:
type: array
items:
type: string
hashad_tlds:
type: array
items:
type: string
char_count:
type: integer
has_hyphen:
type: integer
has_deleted:
type: integer
has_number:
type: integer
tlds_count:
type: integer
has_active:
type: integer
Domain_Risk_Score:
type: object
properties:
response:
type: object
properties:
domain:
type: string
risk_score:
type: integer
components:
items:
type: object
properties:
name:
type: string
enum:
- proximity
- threat_profile
- threat_profile_phishing
- threat_profile_malware
- threat_profile_spam
risk_score:
type: integer
type: array
Domain_Risk_Score_Evidence:
type: object
properties:
response:
type: object
properties:
domain:
type: string
risk_score:
type: integer
components:
items:
type: object
properties:
name:
type: string
enum:
- proximity
- threat_profile
- threat_profile_phishing
- threat_profile_malware
- threat_profile_spam
risk_score:
type: integer
threats:
type: array
items:
type: string
enum:
- phishing
- malware
- spam
evidence:
type: array
items:
type: string
type: array
Hosting_History:
type: object
properties:
response:
type: object
properties:
domain_name:
type: string
ip_history:
type: array
items:
type: object
properties:
action:
type: string
action_in_words:
type: string
actiondate:
type: string
domain:
type: string
post_ip:
type: string
pre_ip:
type: string
nameserver_history:
type: array
items:
type: object
properties:
action:
type: string
action_in_words:
type: string
actiondate:
type: string
domain:
type: string
post_mns:
type: string
pre_mns:
type: string
registrar_history:
type: array
items:
type: object
properties:
date_created:
type: string
date_expires:
type: string
date_lastchecked:
type: string
date_updated:
type: string
domain:
type: string
registrar:
type: string
registrartag:
type: string
IP_Monitor:
type: object
properties:
response:
type: object
properties:
limit:
type: integer
date:
type: string
ip_address:
type: string
total:
type: string
page:
type: integer
page_count:
type: integer
alerts:
type: array
items:
type: object
properties:
previous_ip_address:
type: string
new_ip_address:
type: string
action:
type: string
domain:
type: string
IP_Registrant_Monitor:
type: object
properties:
response:
type: object
properties:
record_count:
type: integer
modified:
type: array
items:
type: string
page:
type: number
added:
type: array
items:
type: object
properties:
ip_to:
type: string
organization:
type: string
record_ip:
type: string
record_date:
type: string
range:
type: string
ip_from:
type: string
server:
type: string
country:
type: string
removed:
type: array
items:
type: object
properties:
ip_to:
type: string
record_ip:
type: string
record_date:
type: string
range:
type: string
ip_from:
type: string
organization:
type: string
server:
type: string
country:
type: string
has_more_pages:
type: string
date:
type: string
query:
type: string
Name_Server_Monitor:
type: object
properties:
response:
type: object
properties:
limit:
type: integer
date:
type: string
name_server:
type: string
total:
type: integer
page:
type: integer
page_count:
type: integer
alerts:
type: array
items:
type: object
properties:
new_name_server:
type: string
old_name_server:
type: string
action:
type: string
domain:
type: string
Parsed_Whois_Domain:
type: object
properties:
response:
type: object
properties:
registrant:
type: string
registration:
type: object
properties:
created:
type: string
expires:
type: string
updated:
type: string
registrar:
type: string
statuses:
type: array
items:
type: string
name_servers:
type: array
items:
type: string
parsed_whois:
type: object
properties:
domain:
type: string
created_date:
type: string
updated_date:
type: string
expired_date:
type: string
statuses:
type: array
items:
type: string
name_servers:
type: array
items:
type: string
registrar:
type: object
properties:
name:
type: string
abuse_contact_phone:
type: string
abuse_contact_email:
type: string
iana_id:
type: string
url:
type: string
whois_server:
type: string
contacts:
type: object
properties:
registrant:
$ref: '#/components/schemas/general_contact1'
admin:
$ref: '#/components/schemas/general_contact1'
tech:
$ref: '#/components/schemas/general_contact1'
billing:
$ref: '#/components/schemas/general_contact1'
other_properties:
type: object
properties: {}
whois:
type: object
properties:
date:
type: string
record:
type: string
Parsed_Whois_IP:
type: object
properties:
response:
type: object
properties:
registrant:
type: string
record_source:
type: string
parsed_whois:
type: object
properties:
networks:
type: array
items:
type: object
properties:
id:
type: string
range:
type: object
properties:
from:
type: string
to:
type: string
cidr:
type: array
items:
type: string
count:
type: number
asn:
type: array
items:
type: string
name:
type: string
org:
type: string
parent:
type: string
parent_id:
type: string
customer:
type: string
country:
type: string
phone:
type: array
items:
type: string
descr:
type: array
items:
type: string
contact_keys:
type: object
properties:
org:
type: array
items:
type: string
tech:
type: array
items:
type: string
status:
type: string
remarks:
type: array
items:
type: string
notify_email:
type: array
items:
type: string
mnt_keys:
type: object
properties: {}
created_date:
type: string
updated_date:
type: string
changed_by:
type: array
items:
type: string
source:
type: string
ref:
type: string
other:
type: object
properties: {}
contacts:
type: array
items:
type: object
properties:
id:
type: string
type:
type: string
name:
type: string
address:
type: array
items:
type: string
country:
type: string
phone:
type: array
items:
type: string
fax:
type: array
items:
type: string
email:
type: array
items:
type: string
descr:
type: array
items:
type: string
contact_keys:
type: object
properties: {}
remarks:
type: array
items:
type: string
notify_email:
type: array
items:
type: string
abuse_mailbox:
type: array
items:
type: string
mnt_keys:
type: object
properties: {}
created_date:
type: string
updated_date:
type: string
changed_by:
type: array
items:
type: string
source:
type: string
ref:
type: string
other:
type: object
properties: {}
routes:
type: array
items:
type: string
referral_servers:
type: array
items:
type: string
other_properties:
type: array
items:
type: string
whois:
type: object
properties:
date:
type: string
record:
type: string
Registrant_Monitor:
type: object
properties:
response:
type: object
properties:
query:
type: string
limit:
type: number
total:
type: number
date:
type: string
alerts:
type: array
items:
type: object
properties:
domain:
type: string
match_type:
type: string
current_owner:
type: string
created:
type: string
modified:
type: string
last_owner:
type: string
Reverse_IP:
type: object
properties:
response:
type: object
properties:
ip_addresses:
type: array
items:
type: object
properties:
domain_count:
type: integer
domain_names:
type: array
items:
type: string
ip_address:
type: string
Reverse_IP_Whois_Query:
type: object
properties:
response:
type: object
properties:
has_more_pages:
type: boolean
page:
type: integer
total_count:
type: integer
record_count:
type: integer
records:
type: array
items:
type: object
properties:
ip_from:
type: string
ip_to:
type: string
record_ip:
type: string
record_date:
type: string
server:
type: string
organization:
type: string
country:
type: string
range:
type: string
Reverse_IP_Whois_IP:
type: object
properties:
response:
type: object
properties:
ip_from:
type: string
ip_to:
type: string
ip_from_alloc:
type: string
ip_to_alloc:
type: string
record_ip:
type: string
record_date:
type: string
server:
type: string
organization:
type: string
country:
type: string
range:
type: string
whois_record:
type: string
Reverse_Name_Server:
type: object
properties:
response:
type: object
properties:
name_server:
type: object
properties:
hostname:
type: string
primary:
type: integer
secondary:
type: string
total:
type: integer
primary_domains:
type: array
items:
type: string
secondary_domains:
type: array
items:
type: string
Reverse_Whois:
type: object
properties:
response:
type: object
properties:
domain_count:
type: object
properties:
current:
type: integer
historic:
type: integer
domains:
type: array
items:
type: string
report_price:
type: object
properties:
current:
type: integer
historic:
type: integer
Whois_History:
type: object
properties:
response:
type: object
properties:
record_count:
type: number
history:
type: array
items:
type: object
properties:
date:
type: string
is_private:
type: string
whois:
type: object
properties:
registrant:
type: string
registration:
type: object
properties:
created:
type: string
expires:
type: string
registrar:
type: string
statuses:
type: array
items:
type: string
name_servers:
type: array
items:
type: string
server:
type: string
record:
type: string
Whois_Lookup:
type: object
properties:
response:
type: object
properties:
registrant:
type: string
registration:
type: object
properties:
created:
type: string
expires:
type: string
updated:
type: string
registrar:
type: string
statuses:
type: array
items:
type: string
name_servers:
type: array
items:
type: string
whois:
type: object
properties:
date:
type: string
record:
type: string
record_source:
type: string
responses:
'206':
description: Results incomplete or error out
'400':
description: Query is malformed
'403':
description: Error
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
code:
type: integer
message:
type: string
resources:
type: object
properties:
support:
type: string
'404':
description: Domain doesn't exist
'500':
description: Hit a rate limit on our backend service
'503':
description: Exceed your service level limits
securitySchemes:
api_username:
type: apiKey
in: query
name: api_username
api_key:
type: apiKey
in: query
name: api_key
header_api_key:
type: apiKey
name: X-API-Key
in: header
tags:
- name: Information
description: 'Access the latest information about your account, including service limits.'
- name: Classic Monitors
description: Monitor domains or domain name patterns for activity.
- name: Classic Lookup & Reversing
description: Lookup and reverse.
security:
- api_username: []
api_key: []
- header_api_key: []