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: []