# Vextorium Phone Number Validator

> Vextorium Phone Number Validator is a paid API for AI agents from api.vextorium.com, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-13).

Validates and normalizes a phone number from any country, returning E.164, national and international formats, type, carrier, region, and time zones — nothing is called or stored.

## Facts

- Endpoint: POST https://api.vextorium.com/validar-telefono-pago?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/vextorium-phone-number-validator-11a19190
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_AZp_tMVtoycFtvF6L7vbD

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability vextorium-phone-number-validator-11a19190 -d '<json body>'
```

Example prompt: Can you validate the phone number +34 612 345 678 and tell me if it's a mobile number, what country it belongs to, and its E.164 format?

## When to prefer this

Use this endpoint when you need to validate, normalize, and enrich a single phone number with full metadata (type, carrier, region, time zones) without making any call or storing data. Prefer it over generic regex validation when you need to distinguish mobile from landline or VoIP, or when you need the E.164 format for downstream messaging APIs. Ideal for user registration flows, CRM enrichment, fraud detection pipelines, and SMS delivery pre-checks.

## Known failure modes

- Invalid or unparseable phone number — returns valido: false with posible: false
- Ambiguous number without country prefix — requires 'pais' fallback country code to resolve
- Number exists as a format but is not assigned — returns posible: true, valido: false
- Missing required 'numero' field — returns validation error
- Unsupported or unrecognized country prefix — may return null for carrier and region fields

## How this service works

Validate and normalize a phone number from any country: E.164, national and international format, type (mobile, landline, toll-free, VoIP...), country, region, original carrier and time zones. Nothing is called or stored.

## Output

A JSON object with: validity flags (valido, posible), E.164 format, national and international formatted numbers, phone type (movil, landline, toll-free, VoIP, etc.), country ISO code, region name, country dial prefix, original carrier name, and a list of time zones associated with the number. A nota field may provide caveats such as number portability warnings.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "required": [
      "numero"
     ],
     "properties": {
      "pais": {
       "type": "string",
       "description": "Default country if no + prefix, e.g. ES"
      },
      "numero": {
       "type": "string"
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": [
      "object",
      "null"
     ],
     "properties": {
      "e164": {
       "type": [
        "string",
        "null"
       ]
      },
      "nota": {
       "type": [
        "string",
        "null"
       ]
      },
      "pais": {
       "type": [
        "string",
        "null"
       ]
      },
      "tipo": {
       "type": [
        "string",
        "null"
       ]
      },
      "numero": {
       "type": [
        "string",
        "null"
       ]
      },
      "region": {
       "type": [
        "string",
        "null"
       ]
      },
      "valido": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "posible": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "prefijo": {
       "type": [
        "number",
        "null"
       ]
      },
      "nacional": {
       "type": [
        "string",
        "null"
       ]
      },
      "internacional": {
       "type": [
        "string",
        "null"
       ]
      },
      "zonas_horarias": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": [
         "null",
         "string"
        ]
       }
      },
      "operador_original": {
       "type": [
        "string",
        "null"
       ]
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "e164": "+34612345678",
  "nota": "El operador es el de asignación original: el número puede haberse portado a otro.",
  "pais": "ES",
  "tipo": "movil",
  "numero": "+34 612 345 678",
  "region": "España",
  "valido": true,
  "posible": true,
  "prefijo": 34,
  "nacional": "612 34 56 78",
  "internacional": "+34 612 34 56 78",
  "zonas_horarias": [
   "Atlantic/Canary",
   "Europe/Madrid"
  ],
  "operador_original": "Syma"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/vextorium-phone-number-validator-11a19190/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.vextorium.com](https://www.zero.xyz/host/api.vextorium.com/llms.txt)
