---
title: "Check a domain's email DNS health (MX/SPF/DMARC)"
method: GET
path: "/api/tools/domain-health"
tags: ["Tools"]
---

# Check a domain's email DNS health (MX/SPF/DMARC)

`GET /api/tools/domain-health`

## Request

- Base URL: `https://verifly.email`
- URL: `https://verifly.email/api/tools/domain-health`
- Auth: none required

Public endpoint (no API key required). Returns a 0-100 health score plus MX, SPF, and DMARC findings for a domain. Note: this lives under /api/tools, NOT /api/v1.

## Query parameters

- `domain` string
- `email` string, email

## Response `200`

Domain health report.

- DomainHealthResult
  - `domain` string, required
  - `score` integer, required
  - `mx` object[], required
    - `exchange` string, required
    - `priority` integer, required
  - `spf` object, required
    - `found` boolean
    - `count` integer
    - `records` string[]
  - `dmarc` object, required
    - `found` boolean
    - `policy` string: none|quarantine|reject (empty when not found).
    - `records` string[]
  - `txtLookup` object
    - `rootError` string
    - `dmarcError` string
  - `warnings` string[]
  - `checkedAt` string, date-time

## Other responses

- `400`: Invalid request or invalid input.
- `500`: Internal server error. Credits are refunded on failed verification exceptions where possible.

---

[API](https://skmtc.dev/verifly/apis/verifly-email-verification-api.md) · [All operations](https://skmtc.dev/verifly/apis/verifly-email-verification-api/llms.txt) · [OpenAPI document](https://skmtc.dev/verifly/apis/verifly-email-verification-api/revisions/9b2787c04363?raw)
