_done dns lookup API

The dns lookup API from _done — 1 operation(s) for dns lookup.

Operations 1

POST /lookup Get all DNS records and WHOIS data for up to 10 domains at once #

Documentation

📖
Documentation
https://underscoredone.com/asn_lookup/
📖
APIReference
https://underscoredone.com/asn_lookup/
📖
Documentation
https://underscoredone.com/bimi_checker/
📖
APIReference
https://underscoredone.com/bimi_checker/
📖
Documentation
https://underscoredone.com/cors_header_checker/
📖
APIReference
https://underscoredone.com/cors_header_checker/
📖
Documentation
https://underscoredone.com/cpi_report_us/
📖
APIReference
https://underscoredone.com/cpi_report_us/
📖
Documentation
https://underscoredone.com/curl_http_request/
📖
APIReference
https://underscoredone.com/curl_http_request/
📖
Documentation
https://underscoredone.com/directory_submission_lite/
📖
APIReference
https://underscoredone.com/directory_submission_lite/
📖
Documentation
https://underscoredone.com/dmarc_lookup/
📖
APIReference
https://underscoredone.com/dmarc_lookup/
📖
Documentation
https://underscoredone.com/dns_whois_lookup/
📖
APIReference
https://underscoredone.com/dns_whois_lookup/
📖
Documentation
https://underscoredone.com/domain_age_checker/
📖
APIReference
https://underscoredone.com/domain_age_checker/
📖
Documentation
https://underscoredone.com/domain_availability_checker/
📖
APIReference
https://underscoredone.com/domain_availability_checker/
📖
Documentation
https://underscoredone.com/ens_resolver/
📖
APIReference
https://underscoredone.com/ens_resolver/
📖
Documentation
https://underscoredone.com/hackernews_data/
📖
APIReference
https://underscoredone.com/hackernews_data/
📖
Documentation
https://underscoredone.com/hash_hmac/
📖
APIReference
https://underscoredone.com/hash_hmac/
📖
Documentation
https://underscoredone.com/http_header_checker/
📖
APIReference
https://underscoredone.com/http_header_checker/
📖
Documentation
https://underscoredone.com/http_status_checker/
📖
APIReference
https://underscoredone.com/http_status_checker/
📖
Documentation
https://underscoredone.com/json_suite/
📖
APIReference
https://underscoredone.com/json_suite/
📖
Documentation
https://underscoredone.com/leetspeak_translator/
📖
APIReference
https://underscoredone.com/leetspeak_translator/
📖
Documentation
https://underscoredone.com/mortgage_amortization/
📖
APIReference
https://underscoredone.com/mortgage_amortization/
📖
Documentation
https://underscoredone.com/ocr/
📖
APIReference
https://underscoredone.com/ocr/
📖
Documentation
https://underscoredone.com/port_scanner/
📖
APIReference
https://underscoredone.com/port_scanner/
📖
Documentation
https://underscoredone.com/qr_code_generator/
📖
APIReference
https://underscoredone.com/qr_code_generator/
📖
Documentation
https://underscoredone.com/screenshots/
📖
APIReference
https://underscoredone.com/screenshots/
📖
Documentation
https://underscoredone.com/seo_data_extractor/
📖
APIReference
https://underscoredone.com/seo_data_extractor/
📖
Documentation
https://underscoredone.com/shopify_ai_rank_checker/
📖
APIReference
https://underscoredone.com/shopify_ai_rank_checker/
📖
Documentation
https://underscoredone.com/sitemap_url_extractor/
📖
APIReference
https://underscoredone.com/sitemap_url_extractor/
📖
Documentation
https://underscoredone.com/url_uptime_checker/
📖
APIReference
https://underscoredone.com/url_uptime_checker/

Specifications

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/done-dns-lookup-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

done-dns-lookup-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DNS & WHOIS Lookup dns lookup API
  description: Send up to 10 domain names and get back every DNS record type (A, AAAA, MX, CNAME, TXT, NS, PTR, SOA, SRV, CAA, NAPTR, DS, TLSA) plus the full WHOIS registration profile (registrar, dates, contacts, status, nameservers) for each one. URLs are accepted and automatically stripped down to the bare domain. Duplicate domains are quietly removed before processing. Results come back as one flat row per domain, ready to drop into a spreadsheet, database, or pipeline.
  version: 1.0.0
  contact:
    name: _done
    url: https://forms.gle/5KzuSFH7p8hHtDmz7
    email: info@underscoredone.com
  x-openapi-url: https://dns-whois-lookup.underscoredone.com/openapi.json
  x-logo:
    url: https://underscoredone.com/logo.png
    altText: _done
  x-guidance: POST an array of domain names (or full URLs) under the key 'domains'. You may send between 1 and 10 entries. The response is an array of objects, one per unique domain, each containing fields prefixed with 'dns_' (all 13 record types) and 'whois_' (full registration data). All fields are always present; empty string means no record found or data not available. Multiple values within a single record type are joined with ' | '. MX records are prefixed with their priority number. SOA is returned as a single human-readable string. DS and TLSA are attempted but silently left empty if unsupported. Raise a 400 error back to the caller if the API returns a 400. Never pass more than 10 domains in one call; split larger lists into batches.
  x-ai-instructions: POST an array of domain names (or full URLs) under the key 'domains'. You may send between 1 and 10 entries. The response is an array of objects, one per unique domain, each containing fields prefixed with 'dns_' (all 13 record types) and 'whois_' (full registration data). All fields are always present; empty string means no record found or data not available. Multiple values within a single record type are joined with ' | '. MX records are prefixed with their priority number. SOA is returned as a single human-readable string. DS and TLSA are attempted but silently left empty if unsupported. Raise a 400 error back to the caller if the API returns a 400. Never pass more than 10 domains in one call; split larger lists into batches.
  x-provider: _done — single-purpose utility APIs for developers and AI agents. Pay per call with USDC on Base Mainnet or Solana Mainnet.
  x-pricing:
    model: pay-per-call
    currency: USDC
    network: Base Mainnet or Solana Mainnet
    price: $0.01
  x-keywords:
  - network
  - dns
  - whois
  - domain lookup
  - dns records
  - domain audit
  - mx record
  - spf dkim dmarc
  - domain expiry
  - migration verification
  - infrastructure check
  - bulk domain
  - utility
  - api
  - ai-agent
  - pay-per-call
  - usdc
  - x402
  x-category: dns lookup
  x-provider-url: https://underscoredone.com
  x-agentcash-auth:
    mode: paid
  x-402:
    price: $0.01
    network: eip155:8453
    asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
    pay_to: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08'
    facilitator: https://api.cdp.coinbase.com/platform/v2/x402
    scheme: exact
    description: Send up to 10 domain names and get back every DNS record type (A, AAAA, MX, CNAME, TXT, NS, PTR, SOA, SRV, CAA, NAPTR, DS, TLSA) plus the full WHOIS registration profile (registrar, dates, contacts, status, nameservers) for each one. URLs are accepted and automatically stripped down to the bare domain. Duplicate domains are quietly removed before processing. Results come back as one flat row per domain, ready to drop into a spreadsheet, database, or pipeline.
    mime_type: application/json
    networks:
    - network: eip155:8453
      asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
      pay_to: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08'
    - network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
      asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
      pay_to: 8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b
servers:
- url: https://dns-whois-lookup.underscoredone.com
  description: Production
tags:
- name: dns lookup
paths:
  /lookup:
    post:
      tags:
      - dns lookup
      summary: Get all DNS records and WHOIS data for up to 10 domains at once
      description: Look up all DNS record types and WHOIS registration data for up to 10 domains at once.
      operationId: handler_lookup_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Request'
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response'
              examples:
                success:
                  summary: Successful response
                  value:
                    api_version: 1.0.0
                    results:
                    - domain: onescales.com
                      checkedAt: '2026-06-15T01:45:08.607Z'
                      dns_a: 23.227.38.65
                      dns_aaaa: ''
                      dns_mx: 5 alt2.aspmx.l.google.com | 1 aspmx.l.google.com | 10 alt3.aspmx.l.google.com | 10 alt4.aspmx.l.google.com | 5 alt1.aspmx.l.google.com
                      dns_cname: ''
                      dns_txt: openai-domain-verification=dv-Y9cDXv64Bj8Z6h43mpki1rgt | v=spf1 include:_spf.google.com ~all
                      dns_ns: carter.ns.cloudflare.com | bonnie.ns.cloudflare.com
                      dns_ptr: ''
                      dns_soa: mname=bonnie.ns.cloudflare.com rname=dns.cloudflare.com serial=2406862386 refresh=10000 retry=2400 expire=604800 minttl=1800
                      dns_srv: ''
                      dns_caa: ''
                      dns_naptr: ''
                      dns_ds: ''
                      dns_tlsa: ''
                      whois_registrar: Cloudflare, Inc.
                      whois_iana_id: '1910'
                      whois_registrar_url: http://www.cloudflare.com
                      whois_registrar_abuse_email: registrar-abuse@cloudflare.com
                      whois_registrar_abuse_phone: '+1.6503198930'
                      whois_created: '2022-10-11T10:20:28Z'
                      whois_expires: '2028-10-11T10:20:28Z'
                      whois_updated: '2023-02-13T02:38:06Z'
                      whois_status: clientTransferProhibited
                      whois_nameservers: bonnie.ns.cloudflare.com | carter.ns.cloudflare.com
                      whois_registrant_name: ''
                      whois_registrant_org: ''
                      whois_registrant_address: ''
                      whois_registrant_country: ''
                      whois_registrant_phone: ''
                      whois_admin_name: ''
                      whois_admin_org: ''
                      whois_admin_email: ''
                      whois_admin_country: ''
        '422':
          description: Unprocessable — a required field is missing or the wrong type. Check the detail field for specifics.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: array
        '402':
          description: Payment required. Send a signed USDC payment on Base Mainnet or Solana Mainnet using the x402 protocol.
          headers:
            X-Payment-Response:
              description: x402 payment challenge — base64-encoded JSON with payment details.
              schema:
                type: string
        '400':
          description: Bad request — your input failed validation or could not be processed. Check the detail field for specifics.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
      x-ai-instructions: POST an array of domain names (or full URLs) under the key 'domains'. You may send between 1 and 10 entries. The response is an array of objects, one per unique domain, each containing fields prefixed with 'dns_' (all 13 record types) and 'whois_' (full registration data). All fields are always present; empty string means no record found or data not available. Multiple values within a single record type are joined with ' | '. MX records are prefixed with their priority number. SOA is returned as a single human-readable string. DS and TLSA are attempted but silently left empty if unsupported. Raise a 400 error back to the caller if the API returns a 400. Never pass more than 10 domains in one call; split larger lists into batches.
      x-guidance: POST an array of domain names (or full URLs) under the key 'domains'. You may send between 1 and 10 entries. The response is an array of objects, one per unique domain, each containing fields prefixed with 'dns_' (all 13 record types) and 'whois_' (full registration data). All fields are always present; empty string means no record found or data not available. Multiple values within a single record type are joined with ' | '. MX records are prefixed with their priority number. SOA is returned as a single human-readable string. DS and TLSA are attempted but silently left empty if unsupported. Raise a 400 error back to the caller if the API returns a 400. Never pass more than 10 domains in one call; split larger lists into batches.
      x-payment-info:
        price:
          fixed:
            mode: fixed
            currency: USD
            amount: '0.01'
        protocols:
        - x402: {}
components:
  schemas:
    Request:
      properties:
        domains:
          items:
            type: string
          type: array
          title: Domains
          description: A list of domain names or full web addresses to look up. You can pass bare domains like 'example.com', or full addresses like 'https://www.example.com/page' — the system will automatically extract just the domain. Send between 1 and 10 entries per request.
      type: object
      required:
      - domains
      title: Request
      example:
        domains:
        - onescales.com
        - hillms.com
        - underscore.com
    DomainResult:
      properties:
        domain:
          type: string
          title: Domain
          description: The bare domain name that was looked up.
        checkedAt:
          type: string
          title: Checkedat
          description: The date and time this lookup was performed, in UTC.
        dns_a:
          type: string
          title: Dns A
          description: IPv4 address records. Multiple values joined with ' | '.
          default: ''
        dns_aaaa:
          type: string
          title: Dns Aaaa
          description: IPv6 address records. Multiple values joined with ' | '.
          default: ''
        dns_mx:
          type: string
          title: Dns Mx
          description: Mail server records, each prefixed with its priority number. Multiple values joined with ' | '.
          default: ''
        dns_cname:
          type: string
          title: Dns Cname
          description: Canonical name alias records. Multiple values joined with ' | '.
          default: ''
        dns_txt:
          type: string
          title: Dns Txt
          description: Text records (SPF, DKIM, domain verification, etc). Multiple values joined with ' | '.
          default: ''
        dns_ns:
          type: string
          title: Dns Ns
          description: Name server records. Multiple values joined with ' | '.
          default: ''
        dns_ptr:
          type: string
          title: Dns Ptr
          description: Reverse DNS pointer records. Multiple values joined with ' | '.
          default: ''
        dns_soa:
          type: string
          title: Dns Soa
          description: Start of Authority record as a single human-readable string.
          default: ''
        dns_srv:
          type: string
          title: Dns Srv
          description: Service locator records. Multiple values joined with ' | '.
          default: ''
        dns_caa:
          type: string
          title: Dns Caa
          description: Certification Authority Authorization records. Multiple values joined with ' | '.
          default: ''
        dns_naptr:
          type: string
          title: Dns Naptr
          description: Naming Authority Pointer records. Multiple values joined with ' | '.
          default: ''
        dns_ds:
          type: string
          title: Dns Ds
          description: Delegation Signer records for DNSSEC. Multiple values joined with ' | '.
          default: ''
        dns_tlsa:
          type: string
          title: Dns Tlsa
          description: TLS Authentication records. Multiple values joined with ' | '.
          default: ''
        whois_registrar:
          type: string
          title: Whois Registrar
          description: The company that registered this domain.
          default: ''
        whois_iana_id:
          type: string
          title: Whois Iana Id
          description: The registrar's IANA identifier number.
          default: ''
        whois_registrar_url:
          type: string
          title: Whois Registrar Url
          description: The registrar's website.
          default: ''
        whois_registrar_abuse_email:
          type: string
          title: Whois Registrar Abuse Email
          description: The registrar's abuse contact email.
          default: ''
        whois_registrar_abuse_phone:
          type: string
          title: Whois Registrar Abuse Phone
          description: The registrar's abuse contact phone number.
          default: ''
        whois_created:
          type: string
          title: Whois Created
          description: When this domain was first registered.
          default: ''
        whois_expires:
          type: string
          title: Whois Expires
          description: When this domain registration expires.
          default: ''
        whois_updated:
          type: string
          title: Whois Updated
          description: When this domain registration was last updated.
          default: ''
        whois_status:
          type: string
          title: Whois Status
          description: The current status flags on the domain registration.
          default: ''
        whois_nameservers:
          type: string
          title: Whois Nameservers
          description: The nameservers listed in the WHOIS record. Multiple values joined with ' | '.
          default: ''
        whois_registrant_name:
          type: string
          title: Whois Registrant Name
          description: The name of the person or entity that registered the domain.
          default: ''
        whois_registrant_org:
          type: string
          title: Whois Registrant Org
          description: The organisation that registered the domain.
          default: ''
        whois_registrant_address:
          type: string
          title: Whois Registrant Address
          description: The registrant's street address.
          default: ''
        whois_registrant_country:
          type: string
          title: Whois Registrant Country
          description: The registrant's country.
          default: ''
        whois_registrant_phone:
          type: string
          title: Whois Registrant Phone
          description: The registrant's phone number.
          default: ''
        whois_admin_name:
          type: string
          title: Whois Admin Name
          description: The name of the administrative contact for this domain.
          default: ''
        whois_admin_org:
          type: string
          title: Whois Admin Org
          description: The organisation of the administrative contact.
          default: ''
        whois_admin_email:
          type: string
          title: Whois Admin Email
          description: The email address of the administrative contact.
          default: ''
        whois_admin_country:
          type: string
          title: Whois Admin Country
          description: The country of the administrative contact.
          default: ''
      type: object
      required:
      - domain
      - checkedAt
      title: DomainResult
    Response:
      properties:
        api_version:
          type: string
          title: Api Version
          description: The version of this API.
          default: 1.0.0
        results:
          items:
            $ref: '#/components/schemas/DomainResult'
          type: array
          title: Results
          description: One result object per unique domain, containing all DNS records and WHOIS registration data.
      type: object
      required:
      - results
      title: Response
      example:
        api_version: 1.0.0
        results:
        - checkedAt: '2026-06-15T01:45:08.607Z'
          dns_a: 23.227.38.65
          dns_aaaa: ''
          dns_caa: ''
          dns_cname: ''
          dns_ds: ''
          dns_mx: 1 aspmx.l.google.com | 5 alt1.aspmx.l.google.com | 5 alt2.aspmx.l.google.com | 10 alt3.aspmx.l.google.com | 10 alt4.aspmx.l.google.com
          dns_naptr: ''
          dns_ns: bonnie.ns.cloudflare.com | carter.ns.cloudflare.com
          dns_ptr: ''
          dns_soa: mname=bonnie.ns.cloudflare.com rname=dns.cloudflare.com serial=2406862386 refresh=10000 retry=2400 expire=604800 minttl=1800
          dns_srv: ''
          dns_tlsa: ''
          dns_txt: openai-domain-verification=dv-Y9cDXv64Bj8Z6h43mpki1rgt | v=spf1 include:_spf.google.com ~all
          domain: onescales.com
          whois_admin_country: ''
          whois_admin_email: ''
          whois_admin_name: ''
          whois_admin_org: ''
          whois_created: '2022-10-11T10:20:28Z'
          whois_expires: '2028-10-11T10:20:28Z'
          whois_iana_id: '1910'
          whois_nameservers: bonnie.ns.cloudflare.com | carter.ns.cloudflare.com
          whois_registrant_address: ''
          whois_registrant_country: ''
          whois_registrant_name: ''
          whois_registrant_org: ''
          whois_registrant_phone: ''
          whois_registrar: Cloudflare, Inc.
          whois_registrar_abuse_email: registrar-abuse@cloudflare.com
          whois_registrar_abuse_phone: '+1.6503198930'
          whois_registrar_url: http://www.cloudflare.com
          whois_status: clientTransferProhibited
          whois_updated: '2023-02-13T02:38:06Z'
  securitySchemes:
    siwx:
      type: apiKey
      in: header
      name: SIGN-IN-WITH-X
      description: CAIP-122 wallet signature for repeat access after payment
x-payment-accepts:
- scheme: exact
  network: eip155:8453
  payTo: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08'
  asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
- scheme: exact
  network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
  payTo: 8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b
  asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v