ContactLintAPIMCPPricingGet a key

ContactLint: email and phone validation API

ContactLint checks email addresses and phone numbers over a simple HTTP API. It is built for signup forms, CRM cleanup, and AI agents that need to confirm contact data before using it.

Get a free API key. 100 checks per month, no card required.

What it checks

Email

  • Practical RFC syntax
  • MX and A records via DNS-over-HTTPS
  • Disposable domain list
  • Role addresses such as admin@ and info@
  • Free mail provider flag

It never opens an SMTP connection to the mailbox.

Phone

  • Parsing with libphonenumber metadata
  • Valid and possible flags
  • Line type and region
  • E.164, national, and international formats

Endpoints

MethodPathPurpose
POST/v1/email/validateValidate one email. Body: {"email": "..."}
POST/v1/phone/validateValidate one phone. Body: {"phone": "...", "country": "US"}
GET/v1/usageFree checks used this month and credit balance
POST/mcpMCP server with tools validate_email and validate_phone
GET/openapi.jsonOpenAPI 3.1 spec

Send your key as Authorization: Bearer YOUR_KEY or x-api-key.

curl -X POST https://contactlint.com/v1/email/validate \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "content-type: application/json" \
  -d '{"email":"someone@example.com"}'

Use it from an AI agent (MCP)

Point any MCP client that supports streamable HTTP at https://contactlint.com/mcp with the header Authorization: Bearer YOUR_KEY. Tools: validate_email, validate_phone. Each tool call uses one check.

Pricing

PlanChecksPrice
Free100 per month$0
Credit pack5,0009
Credit pack25,00035
Credit pack100,00099

Buy credits. Unused credits are refundable within 14 days of purchase.

Errors and limits

401 missing or invalid key. 402 free checks used up and no credits. 429 more than 60 requests per minute per key. 400 bad input.

Data sources

Disposable domains come from the disposable-email-domains project (CC0 1.0). Phone parsing uses libphonenumber-js (MIT). DNS lookups use Cloudflare DNS-over-HTTPS.