# Phone Number Compare

> Phone Number Compare is a paid API for AI agents from phone-tools.x402tookit.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-11-02).

Compares two phone number strings and returns whether they are an exact match, same national number, short match, or different — with optional region context.

## Facts

- Endpoint: GET https://phone-tools.x402tookit.com/phone-compare?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/phone-number-compare-c07a9d65
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_6VI4queqxOGZffa5yzvqs

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-compare-c07a9d65
```

Example prompt: Are +14155552671 and (415) 555-2671 the same phone number? Use US as the default region.

## When to prefer this

Use this endpoint when you need to semantically compare two phone number strings that may be formatted differently (E.164 vs national vs local) rather than doing a naive string equality check. It is ideal for deduplication pipelines, form validation, CRM matching, and identity verification where format differences would cause false negatives. Prefer this over string comparison whenever users may enter numbers in varying formats.

## Known failure modes

- Unparseable phone number strings return a non-match or error verdict
- Missing required parameters a or b result in a validation error
- Invalid region code causes fallback behavior or parsing failure
- Numbers in incompatible formats without a default_region may not parse correctly

## How this service works

Compare two phone number strings: exact match, same national number, short match or different, with an optional region.

## Output

Returns a structured object with a boolean match flag, a match level (exact, national, short, or none), a verdict string, a human-readable summary, reasons explaining the comparison outcome, whether a strong match was found, whether the default region was applied, and optional disclaimer or attribution metadata.

## 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"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "a",
      "b"
     ],
     "properties": {
      "a": {
       "type": "string",
       "description": "First phone number string"
      },
      "b": {
       "type": "string",
       "description": "Second phone number string"
      },
      "default_region": {
       "type": "string",
       "description": "Region used to read numbers without + (e.g. US)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "asOf": {
       "type": [
        "null",
        "string"
       ]
      },
      "level": {
       "type": [
        "null",
        "string"
       ]
      },
      "match": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "detail": {
       "type": [
        "null",
        "object"
       ],
       "properties": {
        "reason": {
         "type": [
          "null",
          "string"
         ]
        },
        "result": {
         "type": [
          "null",
          "string"
         ]
        }
       }
      },
      "source": {
       "type": [
        "null",
        "string"
       ]
      },
      "reasons": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      },
      "summary": {
       "type": [
        "null",
        "string"
       ]
      },
      "verdict": {
       "type": [
        "null",
        "string"
       ]
      },
      "degraded": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "disclaimer": {
       "type": [
        "null",
        "string"
       ]
      },
      "notChecked": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      },
      "attribution": {
       "type": [
        "null",
        "string"
       ]
      },
      "strongMatch": {
       "type": [
        "boolean",

… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/phone-number-compare-c07a9d65/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from phone-tools.x402tookit.com](https://www.zero.xyz/host/phone-tools.x402tookit.com/llms.txt)
