DomainTools Lookups API

Endpoints for retrieving detailed information about domains and IPs, and for finding connections between domains and infrastructure.

Operations 16

GET /v1/{domain}/ Domain Profile #
GET /v1/{domain}/hosting-history/ Hosting History #
GET /v1/{domain}/rdap/parsed/ Parsed Domain RDAP #
GET /v1/{query}/whois/ WHOIS Lookup #
GET /v1/{domain}/whois/history/ WHOIS History #
GET /v1/{query}/whois/parsed/ Parsed WHOIS #
GET /v1/reputation/ Domain Reputation #
GET /v1/risk/ Domain Risk Score #
GET /v1/risk/evidence/ Risk Score Evidence #
GET /v1/{ip}/host-domains/ Reverse IP #
GET /v1/{nameServer}/name-server-domains/ Reverse Name Server #
GET /v1/{domain}/reverse-ip/ Reverse IP (from Domain) #
GET /v1/reverse-ip-whois/ Reverse IP WHOIS #
GET /v1/reverse-whois/ Reverse WHOIS #
GET /v2/domain-search/ Domain Search #
GET /v1/domain-history/ Domain History #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/domaintools-lookups-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

domaintools-lookups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DomainTools and Monitors Lookups API
  version: 1.0.0
  description: 'The OpenAPI spec for DomainTools Lookup, Reversing, and Monitoring endpoints.

    '
  contact:
    name: DomainTools Support
    url: https://www.domaintools.com/support
    email: enterprisesupport@domaintools.com
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  termsOfService: https://www.domaintools.com/company/terms-of-service/
servers:
- url: https://api.domaintools.com
  description: DomainTools APIs
security:
- header_auth: []
- open_key_auth: []
- hmac_auth: []
tags:
- name: Lookups
  description: 'Endpoints for retrieving detailed information about domains and IPs, and for finding connections between domains and infrastructure.

    '
paths:
  /v1/{domain}/:
    get:
      operationId: getDomainProfile
      summary: Domain Profile
      description: 'Basic registrant, server, and registration data for a domain name, plus preview data for other products.

        '
      tags:
      - Lookups
      parameters:
      - $ref: '#/components/parameters/domainPath'
      - $ref: '#/components/parameters/appPartner'
      - $ref: '#/components/parameters/appName'
      - $ref: '#/components/parameters/appVersion'
      - $ref: '#/components/parameters/responseFormat'
      responses:
        '200':
          $ref: '#/components/responses/DomainProfileSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
  /v1/{domain}/hosting-history/:
    get:
      operationId: getHostingHistory
      summary: Hosting History
      description: 'Provides the registrar, IP and name server history for a domain name.

        '
      tags:
      - Lookups
      parameters:
      - $ref: '#/components/parameters/domainPath'
      - $ref: '#/components/parameters/appPartner'
      - $ref: '#/components/parameters/appName'
      - $ref: '#/components/parameters/appVersion'
      - $ref: '#/components/parameters/responseFormat'
      responses:
        '200':
          $ref: '#/components/responses/HostingHistorySuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      externalDocs:
        url: https://docs.domaintools.com/api/lookups/hosting-history/
  /v1/{domain}/rdap/parsed/:
    get:
      operationId: getParsedDomainRdap
      summary: Parsed Domain RDAP
      description: Returns the most recent Domain-RDAP registration record.
      tags:
      - Lookups
      parameters:
      - $ref: '#/components/parameters/domainPath'
      - $ref: '#/components/parameters/appPartner'
      - $ref: '#/components/parameters/appName'
      - $ref: '#/components/parameters/appVersion'
      responses:
        '200':
          $ref: '#/components/responses/ParsedDomainRdapSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      externalDocs:
        url: https://docs.domaintools.com/api/lookups/parsed-rdap/
  /v1/{query}/whois/:
    get:
      operationId: getWhoisLookup
      summary: WHOIS Lookup
      description: WHOIS records for domain names and IP addresses.
      tags:
      - Lookups
      parameters:
      - $ref: '#/components/parameters/domainOrIpPath'
      - $ref: '#/components/parameters/appPartner'
      - $ref: '#/components/parameters/appName'
      - $ref: '#/components/parameters/appVersion'
      - $ref: '#/components/parameters/responseFormat'
      responses:
        '200':
          $ref: '#/components/responses/WhoisLookupSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      externalDocs:
        url: https://docs.domaintools.com/api/lookups/whois-lookup/
  /v1/{domain}/whois/history/:
    get:
      operationId: getWhoisHistory
      summary: WHOIS History
      description: Retrieve historical WHOIS records of a given domain name.
      tags:
      - Lookups
      parameters:
      - $ref: '#/components/parameters/domainPath'
      - $ref: '#/components/parameters/whoisHistorySort'
      - $ref: '#/components/parameters/resultsLimit'
      - $ref: '#/components/parameters/resultsOffset'
      - $ref: '#/components/parameters/whoisHistoryMode'
      - $ref: '#/components/parameters/appPartner'
      - $ref: '#/components/parameters/appName'
      - $ref: '#/components/parameters/appVersion'
      - $ref: '#/components/parameters/responseFormat'
      responses:
        '200':
          $ref: '#/components/responses/WhoisHistorySuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      externalDocs:
        url: https://docs.domaintools.com/api/lookups/whois-history/
  /v1/{query}/whois/parsed/:
    get:
      operationId: getParsedWhois
      summary: Parsed WHOIS
      description: Parsed results for WHOIS records for domain names and IP addresses.
      tags:
      - Lookups
      parameters:
      - $ref: '#/components/parameters/domainOrIpPath'
      - $ref: '#/components/parameters/appPartner'
      - $ref: '#/components/parameters/appName'
      - $ref: '#/components/parameters/appVersion'
      - $ref: '#/components/parameters/responseFormat'
      responses:
        '200':
          $ref: '#/components/responses/ParsedWhoisSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      externalDocs:
        url: https://docs.domaintools.com/api/lookups/parsed-whois/
  /v1/reputation/:
    get:
      operationId: getDomainReputation
      summary: Domain Reputation
      description: This functionality is superseded by the Domain Risk Score `/risk/` endpoint, which offers a more complete and robust evaluation and should be used for all new development.
      tags:
      - Lookups
      parameters:
      - $ref: '#/components/parameters/domainQueryRequired'
      - $ref: '#/components/parameters/appPartner'
      - $ref: '#/components/parameters/appName'
      - $ref: '#/components/parameters/appVersion'
      - $ref: '#/components/parameters/responseFormat'
      responses:
        '200':
          $ref: '#/components/responses/DomainReputationSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      externalDocs:
        url: https://docs.domaintools.com/api/lookups/domain-reputation/
  /v1/risk/:
    get:
      operationId: getDomainRiskScore
      summary: Domain Risk Score
      description: Provides risk scores and threat predictions based on DomainTools Proximity and Threat Profile algorithms.
      tags:
      - Lookups
      parameters:
      - $ref: '#/components/parameters/domainQueryRequired'
      - $ref: '#/components/parameters/appPartner'
      - $ref: '#/components/parameters/appName'
      - $ref: '#/components/parameters/appVersion'
      - $ref: '#/components/parameters/responseFormat'
      responses:
        '200':
          $ref: '#/components/responses/DomainRiskScoreSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      externalDocs:
        url: https://docs.domaintools.com/api/lookups/domain-risk-score/
  /v1/risk/evidence/:
    get:
      operationId: getRiskScoreEvidence
      summary: Risk Score Evidence
      description: Provides the reasons for a domain's risk score, categorized by evidence type.
      tags:
      - Lookups
      parameters:
      - $ref: '#/components/parameters/domainQueryRequired'
      - $ref: '#/components/parameters/appPartner'
      - $ref: '#/components/parameters/appName'
      - $ref: '#/components/parameters/appVersion'
      - $ref: '#/components/parameters/responseFormat'
      responses:
        '200':
          $ref: '#/components/responses/RiskScoreEvidenceSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      externalDocs:
        url: https://docs.domaintools.com/api/lookups/domain-risk-score-evidence/
  /v1/{ip}/host-domains/:
    get:
      operationId: getHostDomains
      summary: Reverse IP
      description: List of domains that share the same network host (IP Address).
      tags:
      - Lookups
      parameters:
      - $ref: '#/components/parameters/ipAddressPath'
      - $ref: '#/components/parameters/resultsLimit'
      - $ref: '#/components/parameters/appPartner'
      - $ref: '#/components/parameters/appName'
      - $ref: '#/components/parameters/appVersion'
      - $ref: '#/components/parameters/responseFormat'
      responses:
        '200':
          $ref: '#/components/responses/ReverseIpSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      externalDocs:
        url: https://docs.domaintools.com/api/lookups/reverse-ip/
  /v1/{nameServer}/name-server-domains/:
    get:
      operationId: getNameServerDomains
      summary: Reverse Name Server
      description: List of domains that share the same primary name server.
      tags:
      - Lookups
      parameters:
      - $ref: '#/components/parameters/nameServerPath'
      - $ref: '#/components/parameters/resultsLimit'
      - $ref: '#/components/parameters/appPartner'
      - $ref: '#/components/parameters/appName'
      - $ref: '#/components/parameters/appVersion'
      - $ref: '#/components/parameters/responseFormat'
      responses:
        '200':
          $ref: '#/components/responses/ReverseNameServerSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      externalDocs:
        url: https://docs.domaintools.com/api/lookups/reverse-nameserver/
  /v1/{domain}/reverse-ip/:
    get:
      operationId: getReverseIpForDomain
      summary: Reverse IP (from Domain)
      description: List of domains that share the same IP address as the given domain.
      tags:
      - Lookups
      parameters:
      - $ref: '#/components/parameters/domainPath'
      - $ref: '#/components/parameters/resultsLimit'
      - $ref: '#/components/parameters/appPartner'
      - $ref: '#/components/parameters/appName'
      - $ref: '#/components/parameters/appVersion'
      - $ref: '#/components/parameters/responseFormat'
      responses:
        '200':
          $ref: '#/components/responses/ReverseIpSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      externalDocs:
        url: https://docs.domaintools.com/api/lookups/reverse-ip/
  /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.

        NOTE: Either an `ip` or `query` parameter is required.

        '
      tags:
      - Lookups
      parameters:
      - $ref: '#/components/parameters/ipQuery'
      - $ref: '#/components/parameters/reverseIpWhoisQuery'
      - $ref: '#/components/parameters/countryCode'
      - $ref: '#/components/parameters/whoisServer'
      - $ref: '#/components/parameters/includeTotalCount'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/ipVersion'
      - $ref: '#/components/parameters/appPartner'
      - $ref: '#/components/parameters/appName'
      - $ref: '#/components/parameters/appVersion'
      - $ref: '#/components/parameters/responseFormat'
      responses:
        '200':
          $ref: '#/components/responses/ReverseIpWhoisSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      externalDocs:
        url: https://docs.domaintools.com/api/lookups/reverse-ip-whois/
  /v1/reverse-whois/:
    get:
      operationId: getReverseWhois
      summary: Reverse WHOIS
      description: Provides a list of domain names with WHOIS records that match specific query terms.
      tags:
      - Lookups
      parameters:
      - $ref: '#/components/parameters/reverseWhoisTerms'
      - $ref: '#/components/parameters/excludeTerms'
      - $ref: '#/components/parameters/reverseWhoisScope'
      - $ref: '#/components/parameters/reverseWhoisMode'
      - $ref: '#/components/parameters/appPartner'
      - $ref: '#/components/parameters/appName'
      - $ref: '#/components/parameters/appVersion'
      - $ref: '#/components/parameters/responseFormat'
      responses:
        '200':
          $ref: '#/components/responses/ReverseWhoisSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      externalDocs:
        url: https://docs.domaintools.com/api/lookups/reverse-whois/
  /v2/domain-search/:
    get:
      operationId: getDomainSearch
      summary: Domain Search
      description: Searches active and deleted domain names that match a query string.
      tags:
      - Lookups
      parameters:
      - $ref: '#/components/parameters/domainSearchQuery'
      - $ref: '#/components/parameters/excludeQuery'
      - $ref: '#/components/parameters/maxLength'
      - $ref: '#/components/parameters/minLength'
      - $ref: '#/components/parameters/hasHyphen'
      - $ref: '#/components/parameters/hasNumber'
      - $ref: '#/components/parameters/activeOnly'
      - $ref: '#/components/parameters/deletedOnly'
      - $ref: '#/components/parameters/anchorLeft'
      - $ref: '#/components/parameters/anchorRight'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/appPartner'
      - $ref: '#/components/parameters/appName'
      - $ref: '#/components/parameters/appVersion'
      - $ref: '#/components/parameters/responseFormat'
      responses:
        '200':
          $ref: '#/components/responses/DomainSearchSuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      externalDocs:
        url: https://docs.domaintools.com/api/lookups/domain-search/
  /v1/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 available historical record for a domain.

      -   **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.

      -   **Contextualize the Current Lifecycle**: Use `Active` events to differentiate changes occurring within a domain''s current registration period from its prior history.


      ### Use Cases

      -   **Detect Infrastructure Weaponization**: Pinpoint when a domain''s infrastructure was weaponized by isolating changes in IP addresses, name servers, or mail servers. Use the `Active` date to distinguish modifications made during the current registration from previous ones, helping to identify the exact day it was brought online for a malicious campaign.

      -   **Monitor Service Activation**: Determine when a domain likely launched a functional service by identifying the first 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: Domain History
      description: Retrieve the complete historical record of changes to a domain's infrastructure, registration, and content. Filter results by specific field types to focus on relevant events.
      tags:
      - Lookups
      parameters:
      - $ref: '#/components/parameters/domainQueryRequired'
      - $ref: '#/components/parameters/appPartner'
      - $ref: '#/components/parameters/appName'
      - $ref: '#/components/parameters/appVersion'
      - $ref: '#/components/parameters/responseFormat'
      - $ref: '#/components/parameters/resultsPageSize'
      - $ref: '#/components/parameters/resultsOffset'
      - $ref: '#/components/parameters/parsedDomainRdapFlag'
      - $ref: '#/components/parameters/parsedWhoisFlag'
      - $ref: '#/components/parameters/includeFields'
      - $ref: '#/components/parameters/excludeFields'
      responses:
        '200':
          $ref: '#/components/responses/DomainHistorySuccess'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      externalDocs:
        url: https://docs.domaintools.com/api/lookups/domain-history/
components:
  schemas:
    IdentifierString:
      type: string
      minLength: 1
      maxLength: 128
      description: A short identifier, code, or handle.
    ParsedWhoisContact:
      type: object
      description: Contact information from a WHOIS record.
      properties:
        name:
          type: string
          description: Contact name.
        org:
          type: string
          description: Organization name.
        street:
          type: array
          description: Street address lines.
          items:
            type: string
        city:
          type: string
          description: City.
        state:
          type: string
          description: State or region.
        postal:
          type: string
          description: Postal code.
        country:
          type: string
          description: Country code.
        phone:
          type: string
          description: Phone number.
        fax:
          type: string
          description: Fax number.
        email:
          type: string
          description: Email address.
    ParsedWhoisIpContact:
      type: object
      description: Contact information from IP WHOIS record.
      properties:
        id:
          type: string
          description: Contact identifier/handle.
          example: NFSNI-1
        type:
          type: string
          description: Contact type.
          enum:
          - organization
          - person
          example: organization
        name:
          type: string
          description: Contact name.
          example: NearlyFreeSpeech.NET
        address:
          type: array
          description: Postal address lines.
          items:
            type: string
          example:
          - 1540 INTERNATIONAL PKWY STE 2000
          - LAKE MARY
          - FL
          - '32746'
        country:
          type: string
          description: Country code (lowercase).
          example: us
        phone:
          type: array
          description: Phone numbers.
          items:
            type: string
          example:
          - '18887414678'
        fax:
          type: array
          description: Fax numbers.
          items:
            type: string
        email:
          type: array
          description: Email addresses.
          items:
            type: string
          example:
          - noc@nearlyfreespeech.net
        descr:
          type: array
          description: Description or comments.
          items:
            type: string
        contact_keys:
          type: object
          description: References to other contact IDs by role.
          additionalProperties:
            type: array
            items:
              type: string
        remarks:
          type: array
          description: Additional remarks.
          items:
            type: string
        notify_email:
          type: array
          description: Notification email addresses.
          items:
            type: string
        abuse_mailbox:
          type: array
          description: Abuse reporting email addresses.
          items:
            type: string
        mnt_keys:
          type: object
          description: Maintainer keys.
          additionalProperties: true
        created_date:
          type: string
          format: date-time
          description: Date the contact was created.
          example: '2008-02-01T00:00:00'
        updated_date:
          type: string
          format: date-time
          description: Date the contact was last updated.
          example: '2018-05-22T00:00:00'
        changed_by:
          type: array
          description: Change history.
          items:
            type: string
        source:
          type: string
          description: Data source.
        ref:
          type: string
          format: uri
          description: Reference URL for this contact.
          example: https://rdap.arin.net/registry/entity/NFSNI-1
        other:
          type: object
          description: Additional properties.
          additionalProperties: true
    RiskScoreValue:
      type: integer
      minimum: 0
      maximum: 100
      description: A domain risk score value ranging from 0 (lowest risk) to 100 (highest risk).
    BasicString:
      type: string
      minLength: 1
      maxLength: 255
      description: A non-empty string with a standard length limit.
    ReverseIp:
      type: object
      description: Response for the Reverse IP endpoint.
      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
    ParsedDomainRdapResponse:
      type: object
      description: Response for the Parsed Domain RDAP endpoint.
      properties:
        response:
          type: object
          required:
          - domain_rdap
          - parsed_domain_rdap
          - record_source
          properties:
            domain_rdap:
              type: array
              description: Raw RDAP records from registry and/or registrar sources.
              items:
                type: object
                required:
                - source
                - timestamp
                - link
                - record
                properties:
                  source:
                    type: string
                    description: The source of the RDAP record.
                    enum:
                    - registry
                    - registrar
                    example: registry
                  timestamp:
                    type: string
                    format: date-time
                    description: ISO 8601 timestamp when the RDAP record was retrieved.
                    example: '2025-10-21T11:42:11Z'
                  link:
                    type: string
                    format: uri
                    description: URL of the RDAP server that provided the record.
                    example: https://rdap.verisign.com/com/v1/domain/domaintools.com
                  record:
                    type: string
                    description: The raw RDAP record as a JSON string.
            parsed_domain_rdap:
              type: object
              description: Parsed and normalized RDAP data.
              required:
              - domain
              properties:
                domain:
                  type: string
                  description: The domain name.
                  example: domaintools.com
                handle:
                  type: string
                  description: The registry-assigned unique identifier for this domain.
                  example: 1697312_DOMAIN_COM-VRSN
                domain_statuses:
                  type: array
                  description: Current status codes for the domain.
                  items:
                    type: string
                  example:
                  - client transfer prohibited
                creation_date:
                  type: string
                  format: date-time
                  description: ISO 8601 timestamp of when the domain was registered.
                  example: '1998-08-02T04:00:00+00:00'
                last_changed_date:
                  type: string
                  format: date-time
                  description: ISO 8601 timestamp of the last modification to the domain record.
                  example: '2020-01-09T23:06:29+00:00'
                expiration_date:
                  type: string
                  format: date-time
                  description: ISO 8601 timestamp when the domain registration expires.
                  example: '2027-08-01T04:00:00+00:00'
                registrar:
                  type: object
                  description: Information about the domain registrar.
                  properties:
                    name:
                      type: string
                      description: Name of the registrar.
                      example: eNom, LLC
                    iana_id:
                      type: string
                      description: IANA-assigned registrar ID.
                      example: '48'
                    contacts:
                      type: array
                      description: Registrar contact information.
                      items:
                        type: object
                        properties:
                          name:
                            type: string
                            description: Contact name.
                          org:
                            type: string
                            description: Organization name.
                          email:
                            type: string
                            description: Contact email address.
                          phone:
                            type: string
                            description: Contact phone number.
                          roles:
                            type: array
                            description: The roles this contact performs.
                            items:
                              type: string
                              enum:
                              - abuse
                              - technical
                              - administrative
                              - billing
                            example:
                            - abuse
                contacts:
                  type: array
                  description: Domain contact information from RDAP.
                  items:
                    type: object
                    properties:
                      handle:
                        type: string
                        description: Unique identifier for this contact.
                      name:
                        type: string
                        description: Contact name. May be redacted for privacy.
                      org:
                        type: string
                        description: Organization name.
                      email:
                        type: string
                        description: Contact email address. May be redacted or a privacy service URL.
                      phone:
                        type: string
                        description: Contact phone number.
                      fax:
                        type: string
                        description: Contact fax number.
                      street:
                        type: string
                        description: Street address.
                      city:
                        type: string
                        description: City.
                      postal:
      

# --- truncated at 32 KB (105 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/domaintools/refs/heads/main/openapi/domaintools-lookups-api-openapi.yml