# Phone Number Check

> Phone Number Check is a paid API for AI agents from api.facts402.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-31).

Validates and normalises any phone number worldwide, returning validity, E.164/national formats, country, type, carrier, location, and time zones — entirely offline and instant.

## Facts

- Endpoint: POST https://api.facts402.com/phone?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/phone-number-check-8a5d6413
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_iI_rpzUIt8xHcYFQj2ppu

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 phone-number-check-8a5d6413 -d '<json body>'
```

Example prompt: Can you validate the phone number +447911123456 and tell me whether it's a real mobile number, what country it's in, and what its E.164 format is?

## When to prefer this

Choose this endpoint when you need instant, offline phone number validation with rich metadata (type, carrier, time zone) rather than just format checking. It is ideal for CRM enrichment, KYC pipelines, outreach scheduling, and calling agents where you need to know whether a number is reachable and what type it is. It does not send an OTP or call the number — it does not verify the number is currently active, only that it is structurally valid and possibly reachable.

## Known failure modes

- Number string fails pattern validation (not 3-40 chars of digits/symbols) — returns 400 validation error
- Ambiguous number with no +prefix and no default_region provided — may return invalid or misclassified result
- Unknown or fictional number — returns valid:false or possible:false with no carrier/location data
- Malformed input (wrong type, too short) — returns 422 or schema error

## How this service works

Use when an agent needs phone number validation for CRM, KYC or calling: valid/possible, E.164 and national formats, country, type (mobile, fixed line, toll-free, VoIP...), original carrier, location and time zones, for any number worldwide. Offline, instant. $0.01 USDC on Base; charged only on 2xx, never for invalid input.

## Output

Returns whether the number is valid and/or possible, the canonical E.164 format, the national format, the ISO country code, the phone type (mobile, fixed line, toll-free, VoIP, etc.), the original carrier name, the geographic location, and one or more time zone identifiers. All results are computed offline with no external API call required.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "number": {
   "type": "string",
   "title": "Number",
   "pattern": "^[0-9+()\\-. ]{3,40}$",
   "description": "Phone number, ideally in +E.164 form"
  },
  "default_region": {
   "anyOf": [
    {
     "type": "string",
     "pattern": "^[A-Za-z]{2}$"
    },
    {
     "type": "null"
    }
   ],
   "title": "Default Region",
   "default": null,
   "description": "ISO country used when the number has no +prefix"
  }
 }
}
```

## More

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