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

FieldTypeRequiredWhat it is
country_codestringNoISO 2-letter country code hint (optional)
phone_numberstringYesPhone number in any format

Output fields

How reliably each field appears in a successful answer.

FieldTypeAppears
e164stringAlways (present in every successful answer)
validbooleanAlways (present in every successful answer)
phone_typestringAlways (present in every successful answer)
is_possiblebooleanAlways (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)
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
  }'

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