Touchmark

Validate email addresses, phone numbers and IP addresses with one API

Touchmark checks the data your users give you before you send to it, store it or act on it. One balance of prepaid credits pays for every check, and credits do not expire.

1,000 free credits once you verify your email address. Not offered to customers in the United Kingdom.

Read the API reference

Email validation · 1 credit

Valid

[email protected]

  • Syntaxok
  • Mail serversgoogle
  • Disposableno
  • Role accountno
  • Typonone

No. a3f9-7c21Example

Response, shortened

{
  "email": "[email protected]",
  "result": "valid",
  "reasons": [],
  "did_you_mean": null,
  "checks": {
    "syntax": true,
    "domain": { "mx_vendor": "google", … },
    "disposable": false,
    "role_account": false
  },
  "credits_charged": 1
}

Email validation · 1 credit

Invalid

[email protected]

  • Syntaxok
  • Mail serversnull_mx
  • Disposableno
  • Role accountrole_account
  • Typonone

No. c17e-04b8Example

Request

curl https://api.touchmark.dev/v1/email/validate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'

Response, shortened

{
  "email": "[email protected]",
  "result": "invalid",
  "reasons": ["null_mx", "role_account"],
  "did_you_mean": null,
  "credits_charged": 1
}

Mailbox verification · 5 credits

Risky

[email protected]

  • Syntaxok
  • Mail servers2 hosts
  • Mailboxcatch_all
  • Disposableno
  • Role accountrole_account

No. 9b02-e6d1Example

Response, shortened

{
  "email": "[email protected]",
  "result": "risky",
  "reasons": ["catch_all", "role_account"],
  "checks": {
    "mailbox": { "status": "catch_all", … },
    "role_account": true
  },
  "credits_charged": 5
}

Example results. Turn a tag over for the request and the response.Swipe for the next one; tap a tag to turn it over for the request and the response.Tap a tag to turn it over for the request and the response.

What it checks

Five checks and a bulk tool, each priced in credits. Call only the ones you need.

  • Email validation

    1 creditPOST /v1/email/validate

    Syntax, the domain's mail records, null MX, disposable and free providers, role accounts and typo suggestions. The mail server is never contacted.

  • Mailbox verification

    5 credits, or 1 when the answer is unknownPOST /v1/email/verify

    Asks the address's mail server whether the mailbox exists, without sending a message. Catch-all domains are flagged. Needs a completed purchase.

  • Sender readiness

    2 creditsPOST /v1/domain/sender-readiness

    Checks a sending domain's SPF, DKIM and DMARC against the Gmail, Yahoo and Microsoft bulk-sender rules.

  • IP lookup

    1 creditPOST /v1/ip/lookup

    Country, network owner, hosting or cloud company and Tor exit for IPv4 and IPv6, from datasets held on our servers.

  • Phone validation

    1 creditPOST /v1/phone/validate

    Checks a number against its country's numbering plan, for format, country, line type and original carrier.

  • Bulk lists

    In the dashboard

    Upload a CSV file in the dashboard to check a whole list at once.

Pricing

Buy credits once and spend them on any check. Larger packs cost less per 1,000.

  • Free

    $0

    1,000 credits once you verify your email address

  • Starter

    $10.00

    10,000 credits · $1.00 per 1,000 credits

  • Growth

    $40.00

    50,000 credits · $0.80 per 1,000 credits

  • Scale

    $150.00

    250,000 credits · $0.60 per 1,000 credits

  • Volume

    $450.00

    1,000,000 credits · $0.45 per 1,000 credits

Prepaid credits; they do not expire. Packs are sold by Polar, our merchant of record, which handles payment, invoices and taxes.

For developers

A REST API with an OpenAPI document, official SDKs for TypeScript and Python, and an MCP server for AI agents.

REST API

POST /v1/email/validate
POST /v1/phone/validate
POST /v1/ip/lookup
GET  /v1/account
API reference

SDKs

npm install touchmark
pip install touchmark
SDKs on GitHub

MCP server

claude mcp add --transport http touchmark https://api.touchmark.dev/mcp --header "Authorization: Bearer vld_live_…"
MCP setup