Phone Validation
Check a phone number's format and numbering-plan rules. Returns its E.164 form, country and available line type without confirming activity.
Pay by wallet (x402)
phone-validate Example
Input
{
"phone_number": "+46701234567"
} Answer
{
"e164": "+46701234567",
"input": "+46701234567",
"valid": true,
"carrier": null,
"phone_type": "unknown",
"is_possible": true,
"country_code": "SE",
"country_name": "Sweden",
"national_format": "070-123 45 67",
"international_format": "+46 70 123 45 67"
} Inputs
| Field | Type | Required | What it is |
|---|---|---|---|
country_code | string | No | ISO 2-letter country code hint (optional) |
phone_number | string | Yes | Phone number in any format |
Output fields
How reliably each field appears in a successful answer.
| Field | Type | Appears |
|---|---|---|
e164 | string | Always (present in every successful answer) |
valid | boolean | Always (present in every successful answer) |
phone_type | string | Always (present in every successful answer) |
is_possible | boolean | Always (present in every successful answer) |
country_code | string | Always (present in every successful answer) |
national_format | string | Always (present in every successful answer) |
international_format | string | Always (present in every successful answer) |
country_name | — | Always (present in every successful answer) |
carrier | — | Usually (present for most inputs) |
input | — | Always (present in every successful answer) |
How to call it
The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.
# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
-H "Authorization: Bearer $STRALE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"capability_slug": "phone-validate",
"inputs": {
"phone_number": "+46701234567"
},
"max_price_cents": 2
}' {
"tool": "strale_execute",
"arguments": {
"slug": "phone-validate",
"inputs": {
"phone_number": "+46701234567"
},
"max_price_cents": 2
}
} import { Strale } from "straleio";
const strale = new Strale({ apiKey: process.env.STRALE_API_KEY! });
const result = await strale.do({
capability_slug: "phone-validate",
inputs: {
"phone_number": "+46701234567"
},
max_price_cents: 2,
}); import os
from straleio import Strale, DoRequest
strale = Strale(api_key=os.environ["STRALE_API_KEY"])
result = strale.do(DoRequest(
capability_slug="phone-validate",
inputs={
"phone_number": "+46701234567",
},
max_price_cents=2,
)) # 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 'https://api.strale.io/x402/v2/phone-validate?phone_number=%2B46701234567' Limitations
A valid result does not prove the number is in service
Valid means the number fits the country's numbering plan. It does not show that the number is assigned or in service.
Carrier detection not available
Carrier/operator name detection requires a paid service — returns null
Country code hint needed for local numbers
Numbers without international prefix need a country_code hint for accurate parsing
Bundled checks that include it
- Contact Verification €0.25
- HR Candidate Screening €0.80
Related tools
- Address Validation €0.03
- Age Check €0.02
- Bank BIC Lookup €0.05
- Bulk Email Validation €0.15
- Business Day Check €0.02
- Company ID Detection €0.05