API Reference · Checks
Check Domain
Quick domain eligibility check
POST
/v1/checks/domainPublic (no credentials needed)MCP:
check_domainBlocked shared providers (gmail.com…), registration, mailbox provider, DMARC/BIMI summary. Repeatable, no private data.
cURL example
cURL request
curl -X POST "https://api.verifiedinbox.ai/v1/checks/domain" \
-H "Content-Type: application/json" \
-d '{
"domain": "acme.com"
}'Request body
application/json · required| Field | Type | Description |
|---|---|---|
domainrequired | string | A domain, URL or email address. |
Example request payload (CheckDomainRequest)
{
"domain": "acme.com"
}Response
200 OKCheck result.
application/json| Field | Type | Description |
|---|---|---|
bimirequired | object | —Nested fields (1)
|
blocked_providerrequired | object | null | —Nested fields (2)
|
checked_atrequired | string (date-time) | — |
dmarcrequired | object | —Nested fields (3)
|
domainrequired | string | — |
domain_displayrequired | string | — |
has_mxrequired | boolean | — |
inputrequired | string | — |
is_subdomainrequired | boolean | — |
mailbox_providerrequired | MailboxProvider | null | —Nested fields (2)
|
organizational_domainrequired | string | — |
registeredrequired | boolean | — |
summaryrequired | string | One friendly sentence. |
verdictrequired | string | — Allowed: |
websiterequired | object | null | —Nested fields (2)
|
Example 200 response (QuickCheck)
{
"bimi": {
"present": true
},
"blocked_provider": {
"provider": "string",
"reason": "Updated company logo"
},
"checked_at": "2026-10-31T12:00:00Z",
"dmarc": {
"bimi_ready": true,
"policy": "none",
"present": true
},
"domain": "acme.com",
"domain_display": "string",
"has_mx": true,
"input": "string",
"is_subdomain": true,
"mailbox_provider": {
"id": "0192a5e0-1234-7000-8000-000000000001",
"name": "Acme Inc."
},
"organizational_domain": "string",
"registered": true,
"summary": "string",
"verdict": "ok",
"website": {
"final_url": "https://verifiedinbox.ai/verify/0192a5e0-1234-7000-8000-000000000001/domain",
"reachable": true
}
}Other responses & possible errors
Expand a status code below to see the error code, description, and example error payload.
400 (invalid_request)`invalid_request` — the request is malformed.
`invalid_request` — the request is malformed.
Example 400 error response
{
"error": {
"code": "invalid_request",
"message": "Please provide a valid domain name."
}
}422 (unprocessable)`unprocessable` / `blocked_provider` — understood but can't be done (plain-English reason).
`unprocessable` / `blocked_provider` — understood but can't be done (plain-English reason).
Example 422 error response
{
"error": {
"code": "unprocessable",
"message": "Shared mailbox providers like gmail.com cannot be verified."
}
}429 (rate_limited)`rate_limited` — retry after `Retry-After` seconds (`details.retry_after_seconds`). `limit_reached` — a quota is used up; `details.limit` names it and `next_action` offers support.
`rate_limited` — retry after `Retry-After` seconds (`details.retry_after_seconds`). `limit_reached` — a quota is used up; `details.limit` names it and `next_action` offers support.
Example 429 error response
{
"error": {
"code": "rate_limited",
"message": "Too many requests. Please wait a moment and try again."
}
}Was it helpful?