Check an email or domain

Send a check and understand the request and response fields.

Send one email address or domain to POST /api/v1/check. A completed check uses one credit and returns an allow, review, or block action.

Request

curl -s -X POST 'https://signupscore.com/api/v1/check' \
  -H 'Authorization: Bearer ss_your_api_key' \
  -H 'Content-Type: application/json' \
  -d '{"input":"name@example.com"}'

Every language makes the same request. Pick yours from the dropdown.

Response

200 response
{
  "request_id": "01J...",
  "action": "block",
  "primary_reason": "DISPOSABLE",
  "signals": {
    "disposable": true,
    "public_provider": false,
    "role_based": false,
    "suspicious": false,
    "privacy_relay": false,
    "dynamic_dns": false,
    "has_mx": true,
    "suggested_domain": null,
    "normalized_email": "name@tempmail.com",
    "mailbox_alias": false,
    "has_spf": true,
    "has_dmarc": false
  }
}

This example blocks a known disposable provider. Your integration usually needs only action. Keep primary_reason when you want to explain or investigate the result.

Request fields

FieldTypeRequiredMeaning
inputstringYesEmail address or domain to check.
check_mxbooleanNoCheck MX records. Defaults to true.

Examples:

InputChecks performed
name@example.comEmail and domain checks.
example.comDomain checks only.
name@example.com, check_mx: falseEmail and domain checks without looking up mail servers.

Do not send fields that are not listed above.

Response fields

FieldMeaning
request_idID for finding the same decision in logs or support.
actionallow, review, or block.
primary_reasonMain reason for the action, or OK.
signalsEmail and domain facts you can use for specific exceptions.

The same request_id is also returned in the X-Request-ID response header.