Phone Normalize & Validate
Parse and validate one phone number with full libphonenumber metadata: valid/possible, number type, region, E.164, national and international formats. Offline. No owner or carrier lookup. Unparseable numbers refused before payment.
Price: $0.0021 per call, USDC on Base (x402). Also available as the MCP tool phone_normalize at https://grokzilla.shop/mcp.
Full libphonenumber metadata (python phonenumbers, Apache-2.0), offline. Returns valid/possible, number type, region, country code, E.164, national, international and RFC 3966 formats. No owner, carrier or location lookup.
Call
POST /api/skills/phone-normalize
{"number": "+1 415 555 2671"}
number(required): stringregion(optional): ISO 3166-1 alpha-2 default region for numbers without +request_id(optional): Optional idempotency key. Echoed back; a credit-pack redemption with the same request_id and body is charged once.
Not charged
Every non-200 has charged: false and is never settled.
422 invalid_params/400 invalid_params: body fails the schema (checked before the 402).400before payment: not a number, a number without + and noregion, unknown region, or impossible length.
Response (paid 200)
Same envelope on every data service: ok, service, version, summary, data, confidence, sources, generated_at, data_as_of, charged, warnings, next.
{
"ok": true,
"skill": "phone_normalize",
"service": "phone_normalize",
"version": "1.0.0",
"summary": "valid fixed_line_or_mobile number in US: +14155552671",
"data": {
"input": "+1 415 555 2671",
"valid": true,
"possible": true,
"type": "fixed_line_or_mobile",
"region": "US",
"country_code": 1,
"national_number": "4155552671",
"extension": null,
"e164": "+14155552671",
"international": "+1 415-555-2671",
"national": "(415) 555-2671",
"rfc3966": "tel:+1-415-555-2671",
"metadata": "libphonenumber 9.0.41"
},
"confidence": 1.0,
"sources": [],
"generated_at": "2026-10-17T11:12:57Z",
"data_as_of": "2026-10-17T11:12:57Z",
"charged": true,
"warnings": [],
"next": [
"email_check"
],
"note": "Format and validity only. No owner, carrier or location lookup."
}