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

FieldTypeRequiredWhat it is
phone_stringstringYesPhone number to normalize
default_countrystringNoISO country code (e.g. SE)

Output fields

How reliably each field appears in a successful answer.

FieldTypeAppears
e164stringAlways (present in every successful answer)
typestringAlways (present in every successful answer)
validbooleanAlways (present in every successful answer)
country_codestringAlways (present in every successful answer)
national_formatstringAlways (present in every successful answer)
international_formatstringAlways (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
  }'

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