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.
contact-verify What it runs
- Email Validation
Source: Algorithmic (syntax) + DNS protocol (MX record verification)
- Phone Validation
Source: libphonenumber-js (Google libphonenumber port)
- Address Validation
Source: OpenStreetMap Nominatim
The answer returns every step’s result, so your agent can show or check each one.
Inputs
| Field | Type | Required | What it is |
|---|---|---|---|
email | string | Yes | Email address to verify |
address | string | No | Postal address to verify (optional) |
phone_number | string | No | Phone 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": "[email protected]",
"address": "10 Downing Street, London, UK",
"phone_number": "+447911123456"
},
"max_price_cents": 25
}' # No account. The first request answers 402 with the price in USDC;
# an x402 client pays it from your wallet and repeats the request.
curl -i -X POST https://api.strale.io/x402/v2/solutions/contact-verify \
-H 'Content-Type: application/json' \
-d '{
"email": "[email protected]",
"address": "10 Downing Street, London, UK",
"phone_number": "+447911123456"
}' 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