---
title: "Domain, DNS, Email and SSL Lookup"
method: POST
path: "/v1/tools/domain_info"
---

# Domain, DNS, Email and SSL Lookup

`POST /v1/tools/domain_info`

## Request

- Base URL: `https://unstuckapi.com`
- URL: `https://unstuckapi.com/v1/tools/domain_info`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Look up everything about a domain: WHOIS-style registration data (registrar, creation and expiry dates via RDAP), DNS records (A, AAAA, MX, NS, TXT), email security (parsed SPF and DMARC), and the website's SSL/TLS certificate issuer and expiry date. Use it to research a company's domain, check when a domain or certificate expires, debug DNS or email deliverability, or verify who hosts a site.

Price: $0.01 per call. Charged once per call that returns a result, including an empty result list. Failed calls are free.

## Request body

- object
  - `domain` string, required: The domain or hostname to inspect, e.g. "example.com".

## Response `200`

Success

- object
  - `tool` 'domain_info', required
  - `result` object, required
    - `domain` string, required: The host that was inspected.
    - `registrable_domain` string, required: The registrable domain (e.g. example.com).
    - `registration` object, required: RDAP registration data, or an error.
      - `registered` boolean
      - `registered_at` string, nullable
      - `expires_at` string, nullable
      - `updated_at` string, nullable
      - `registrar` string, nullable
      - `registrar_iana_id` string, nullable
      - `status` string[]
      - `nameservers` string[]
      - `dnssec` boolean, nullable
      - `error` string: Set when the registry lookup failed.
    - `dns` object, required
      - `a` string[], required
      - `aaaa` string[], required
      - `mx` object[], required
        - `priority` number, required
        - `host` string, required
      - `ns` string[], required
      - `txt` string[], required
      - `errors` string[], required: Record types whose lookup failed.
    - `spf` object, nullable, required: Parsed SPF record, or null if none.
      - `record` string, required
      - `all` string, nullable, required
      - `includes` string[], required
      - `redirect` string, nullable, required
      - `mechanisms` string[], required
      - `multiple_records` boolean, required
    - `dmarc` object, nullable, required: Parsed DMARC record, or null if none.
      - `record` string, required
      - `policy` string, nullable, required
      - `subdomain_policy` string, nullable, required
      - `pct` number, required
      - `rua` string[], required
      - `ruf` string[], required
      - `adkim` string, required
      - `aspf` string, required
    - `tls` object, required: Certificate on port 443, or an error.
      - `issuer` string, nullable
      - `issuer_cn` string, nullable
      - `subject` string, nullable
      - `valid_from` string
      - `expires_at` string
      - `days_remaining` number
      - `trusted` boolean
      - `trust_error` string, nullable
      - `san` string[]
      - `via_proxy` boolean
      - `error` string: Set when the TLS check failed.
  - `charged_usd` number, required
  - `balance_usd` number, required

## Other responses

- `400`: Invalid JSON or input. Not charged.
- `401`: Paid tool without a valid API key.
- `402`: Balance too low for this call. Not charged.
- `404`: Unknown tool.
- `422`: The tool failed. Not charged.
- `429`: Rate limited, free tries used up, or the uncharged-result limit reached. See Retry-After.

---

[API](https://skmtc.dev/unstuckapi/apis/unstuck-api.md) · [All operations](https://skmtc.dev/unstuckapi/apis/unstuck-api/llms.txt) · [OpenAPI document](https://skmtc.dev/unstuckapi/apis/unstuck-api/revisions/ef3ec951224f?raw)
