Contact Verification

Verify a contact's email, phone number, and address in parallel. Returns validation status for each channel. Essential for CRM hygiene and lead qualification.

3 steps x402 eligible contact-verify

What it runs

  1. Email Validation

    Source: Algorithmic (syntax) + DNS protocol (MX record verification)

  2. Phone Validation

    Source: libphonenumber-js (Google libphonenumber port)

  3. Address Validation

    Source: OpenStreetMap Nominatim

The answer returns every step’s result, so your agent can show or check each one.

Inputs

FieldTypeRequiredWhat it is
emailstringYesEmail address to verify
addressstringNoPostal address to verify (optional)
phone_numberstringNoPhone number to verify (optional)

How to call it

# Needs an API key. The whole check is charged once, at the listed price.
curl -X POST https://api.strale.io/v1/solutions/contact-verify/execute \
  -H "Authorization: Bearer $STRALE_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "inputs": {
      "email": "jane@acme.com",
      "address": "10 Downing Street, London, UK",
      "phone_number": "+447911123456"
    },
    "max_price_cents": 25
  }'

The bundle’s published example input.

Limitations

  • Disposable email detection covers major providers but new throwaway domains may not be flagged

    From step: Email Validation

    What to do instead: Check the domain’s age when investigating suspicious traffic.

  • No mailbox is contacted. A made-up or bouncing address can return valid if its syntax is correct, its domain has mail servers, and it is not flagged as disposable. Catch-all domains are one example; mailbox existence and delivery are never checked.

    From step: Email Validation

    What to do instead: Require confirmation through a verification link before relying on a mailbox.

  • Valid means the number fits the country's numbering plan. It does not show that the number is assigned or in service.

    From step: Phone Validation

  • Carrier/operator name detection requires a paid service — returns null

    From step: Phone Validation

  • Numbers without international prefix need a country_code hint for accurate parsing

    From step: Phone Validation

  • Nominatim rate limit of 1 request per second — shared across address-validate and address-geocode

    From step: Address Validation

  • Nominatim uses best-match geocoding — results may not always reflect the exact address

    From step: Address Validation