Phone Number Normaliser
Normalise a phone number to E.164, detect its country and line type, and check its format.
Pay by wallet (x402)
phone-normalize Example
Example answer
{
"error": "Could not parse phone number. Provide a default_country code (e.g. 'SE') for numbers without international prefix.",
"input": "test",
"valid": false
} Inputs
| Field | Type | Required | What it is |
|---|---|---|---|
phone_string | string | Yes | Phone number to normalize |
default_country | string | No | ISO country code (e.g. SE) |
Output fields
How reliably each field appears in a successful answer.
| Field | Type | Appears |
|---|---|---|
e164 | string | Always (present in every successful answer) |
type | string | Always (present in every successful answer) |
valid | 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) |
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-normalize",
"inputs": {
"phone_string": "+46701234567"
},
"max_price_cents": 3
}' {
"tool": "strale_execute",
"arguments": {
"slug": "phone-normalize",
"inputs": {
"phone_string": "+46701234567"
},
"max_price_cents": 3
}
} import { Strale } from "straleio";
const strale = new Strale({ apiKey: process.env.STRALE_API_KEY! });
const result = await strale.do({
capability_slug: "phone-normalize",
inputs: {
"phone_string": "+46701234567"
},
max_price_cents: 3,
}); import os
from straleio import Strale, DoRequest
strale = Strale(api_key=os.environ["STRALE_API_KEY"])
result = strale.do(DoRequest(
capability_slug="phone-normalize",
inputs={
"phone_string": "+46701234567",
},
max_price_cents=3,
)) # 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-normalize?phone_string=%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.
Numbers without a + prefix need country hints
Normalises to E.164 format — country code detection relies on input hints when the number doesn't include a +prefix
What to do instead: Always include the country code or specify the default_country parameter to avoid ambiguous normalisation
Related tools
- Address Parser €0.05
- Company Industry Classification €0.05
- Company Name Match €0.02
- Credit Score Band €0.02
- CSV Cleaner €0.02
- CSV to JSON €0.02