---
title: "How to use Email Domain Check"
url: "https://lookvalid.com/help/products/email-domain-check.md"
canonical_url: "https://lookvalid.com/help/products/email-domain-check"
last_updated: "2026-10-22"
type: "how-to"
summary: "What Email Domain Check takes in, which fields it returns and how credits are charged for each lookup."
related: ["https://lookvalid.com/help/products/phone.md", "https://lookvalid.com/help/products/country-code.md", "https://lookvalid.com/help/products/ip.md", "https://lookvalid.com/help/billing/plans-and-credits.md"]
---

# How to use Email Domain Check

What Email Domain Check takes in, which fields it returns and how credits are charged for each lookup.

## What it does

Checks the domain behind an email address: MX records, SPF and DMARC policies, and whether the address uses a disposable domain, a free mailbox provider or a role mailbox such as info@ or support@. It never contacts the mail server, so it cannot confirm that a mailbox exists.

## What you send

Send these fields in the JSON body of the request.

No single field is required on its own, but a request with none of them is rejected: provide exactly one of "email" or "domain".

Request fields for Email Domain Check

| Field | Type | Required | Limits |
| --- | --- | --- | --- |
| email | string | Optional | up to 1,000 characters |
| domain | string | Optional | up to 2,048 characters |

## What you get back

The `data` object of a successful response carries these fields. Every response also lists its `sources`, the `credits_charged` and whether it was a `cache_hit`.

Each field is described in the [API reference](https://lookvalid.com/docs/api/email-domain-check.md).

Response fields for Email Domain Check

| Field | Type |
| --- | --- |
| email | string |
| syntax_valid | boolean |
| domain | string |
| mx_records | list |
| has_mx | boolean |
| null_mx | boolean |
| implicit_mx | boolean |
| spf | object |
| dmarc | object |
| disposable | boolean |
| free_provider | boolean |
| role_account | boolean |
| smtp_checked | boolean |
| deliverability_signal | "good" or "risky" or "undeliverable" |
| deliverability_reasons | list |

## What it costs

1 credit per address checked.

What each outcome costs

| Case | Charge |
| --- | --- |
| Found | 1 credit |
| Nothing found | 0 credits |
| Repeat inside 7 days | 0 credits |
| Errors and invalid requests | 0 credits |

## Run it

You can try it without an account in the [free tool](https://lookvalid.com/tools.md). The free tools share a limit per visitor.

From code, send a POST request to `https://YOUR_API_HOST/v1/email-domain-check` with your API key.

A request to Email Domain Check

```bash
curl -X POST https://YOUR_API_HOST/v1/email-domain-check \
  -H "Authorization: Bearer $LOOKVALID_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"info@example.com"}'
```

Full parameters and response fields are in the [API reference](https://lookvalid.com/docs/api/email-domain-check.md). To run a list of values, use a [bulk CSV job](https://lookvalid.com/help/api/bulk-csv-jobs.md).

## Good to know

- A repeat of the same lookup within 7 days is served from your cache and costs 0 credits.
- When the lookup finds nothing it returns `found: false` and costs 0 credits.
- Invalid input and errors are never charged.
- The API allows 200 requests per 10 seconds per key.

## Related

- [How to use Phone Numbering-Plan Validation](https://lookvalid.com/help/products/phone.md)
- [How to use Country Calling Codes](https://lookvalid.com/help/products/country-code.md)
- [How to use IP Intelligence](https://lookvalid.com/help/products/ip.md)
- [Plans, credits and how they are spent](https://lookvalid.com/help/billing/plans-and-credits.md)
