One API call. Three checks.

Your signup form rejects bad emails. Or it doesn't, and you find out when your welcome emails bounce. One POST request. JSON response. You see exactly what passed and what didn't.

bash
# Validate an email in one request
curl -X POST https://api.mailcop.net/v1/verify \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]"}'
# Response
{
"email": "[email protected]",
"status": "good",
"validation_type": "mx",
"credits_used": 1
}

Your first API call in 3 minutes

No SDK to install. No complex auth flow. Just an API key and a POST request.

  1. 1

    Get your API key

    Sign up and copy your key from the dashboard. No credit card required.

  2. 2

    Send the request

    POST to /v1/verify with the email and your API key in the Authorization header.

  3. 3

    Check the response

    status: "good" means valid. status: "bad" means invalid. You'll also see which checks passed.

Authentication

Every request needs your API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Two validation levels. You choose.

MX validation is fast and catches most bad emails. SMTP validation connects to the mail server for maximum accuracy. Pick what your use case needs.

1 credit All Plans

MX Validation

Checks syntax, domain, and mail server configuration. Fast. Catches typos and dead domains.

  • Syntax validation (catches typos)
  • Domain and MX record check
  • Disposable email detection
  • Best for bulk list cleaning
Most Accurate
10 credits Premium

SMTP Validation

Connects to the recipient's mail server and asks if the mailbox exists. Slower. Most accurate.

  • Everything in MX validation
  • SMTP handshake verification
  • Catch-all server detection
  • Best for real-time signup validation

API Endpoints

Three endpoints. That's it. No versioning headaches. No deprecated routes.

POST /v1/verify Email Validation

Request

{
  "email": "[email protected]",
  "validation_type": "mx"
}

validation_type: "mx" (1 credit) or "smtp" (10 credits, Premium)

Response

{
  "email": "[email protected]",
  "status": "good",
  "validation_type": "mx",
  "credits_used": 1
}

status: "good" (valid) or "bad" (invalid)

GET /v1/usage

Account Usage

Check your current plan, credits balance, and rate limits.

POST /v1/filters

Create Filter

Add emails, domains, or IPs to your custom blacklist.

GET /v1/filters

List Filters

Retrieve all your filters with pagination and search.

DELETE /v1/filters/:id

Delete Filter

Remove a filter from your blacklist by ID.

Code samples

Copy, paste, modify. No SDK required.

verify-email.sh
# Validate an email (MX validation - 1 credit)
curl -X POST https://api.mailcop.net/v1/verify \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]", "validation_type": "mx"}'

# SMTP validation (10 credits, Premium only)
curl -X POST https://api.mailcop.net/v1/verify \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]", "validation_type": "smtp"}'

# Check your account usage
curl -X GET https://api.mailcop.net/v1/usage \
  -H "Authorization: Bearer YOUR_API_KEY"

Rate Limits

Rate limits reset every 5 minutes. Need more? Upgrade or contact us.

Starter
60 requests / 5 min
Premium
300 requests / 5 min
Enterprise
Custom limits

Error Codes

All errors return JSON with an error field.

Code Description
400 Bad Request - Invalid parameters
401 Unauthorized - Invalid API key
402 Payment Required - Insufficient credits
403 Forbidden - IP not allowed
422 Unprocessable - Invalid validation type
429 Too Many Requests - Rate limit exceeded