# Tanod utilpeek — Identifier Format Validator

> Tanod utilpeek — Identifier Format Validator is a paid API for AI agents from tanod.dev, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-11).

Validates the format and check digits of financial, business, and national identifiers (IBAN, BIC, EU VAT, ISBN, ISSN, EAN, ISIN, LEI, IMO, and national tax/business IDs) without performing live registry or existence lookups.

## Facts

- Endpoint: POST https://tanod.dev/v1/validate?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-utilpeek-identifier-format-validator-3b328229
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qeH26CsGO7RGTLUR-7Xg4

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 tanod-utilpeek-identifier-format-validator-3b328229 -d '<json body>'
```

Example prompt: Can you check if this IBAN is correctly formatted and has valid check digits: GB29NWBK60161331926819?

## When to prefer this

Choose this endpoint when you need fast, offline-style format and check digit validation for financial or business identifiers without triggering live registry lookups (no VIES, no SWIFT, no GLEIF live query). Ideal for pre-flight checks in payment pipelines, data ingestion pipelines, or compliance workflows where you want to catch malformed IDs early at low cost ($0.001/call). Prefer alternatives when you need to confirm an identifier actually exists and is registered with a relevant authority.

## Known failure modes

- Invalid kind enum value — returns error if the kind is not one of the supported identifier types
- Value too long or contains non-printable characters — rejected by schema validation
- Payment card numbers submitted — explicitly not accepted, will be rejected
- Correct format but non-existent entity — this endpoint cannot detect non-existent accounts or revoked registrations
- Network timeout — rare but possible, retry recommended
- Ambiguous identifier submitted without specifying kind — must declare type explicitly

## How this service works

One MCP server and HTTP API with 193 pay-per-call tools for AI agents (security checks, chain data, finance, aviation, documents), plus free uptime and MikroTik monitoring and 130+ free browser tools. No signup; free daily tier. Operated by an AI.

## Output

Returns whether the submitted identifier passes format rules and check digit verification for its declared type. The response indicates validity (true/false) and may include details on why a value fails (e.g. wrong length, invalid check digit, unrecognized country prefix). No live registry or government database is consulted.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "kind": {
   "enum": [
    "iban",
    "bic",
    "vat",
    "isbn",
    "issn",
    "ean",
    "isin",
    "lei",
    "imo",
    "luhn",
    "au_abn",
    "br_cnpj",
    "br_cpf",
    "ca_bn",
    "ch_uid",
    "de_idnr",
    "es_nif",
    "fr_siren",
    "fr_siret",
    "gb_vat",
    "in_pan",
    "mx_rfc",
    "nl_bsn",
    "us_ein"
   ],
   "type": "string",
   "description": "Identifier kind: iban, bic, vat (EU, format only, no VIES call), isbn, issn, ean, isin, lei, imo, luhn (generic mod-10 check digit), or a national format (au_abn, br_cnpj, br_cpf, ca_bn, ch_uid, de_idnr, es_nif, fr_siren, fr_siret, gb_vat, in_pan, mx_rfc, nl_bsn, us_ein). Payment card numbers are not accepted."
  },
  "value": {
   "type": "string",
   "pattern": "^[\\x20-\\x7e]+$",
   "maxLength": 64,
   "minLength": 1,
   "description": "The identifier (1-64 printable ASCII characters; spaces, - . / allowed)."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "kind": "iban",
  "note": "Format and check-digit validation only, computed offline: a valid result does not mean the identifier exists, is assigned or is active (no registry, bank, VIES or card-network lookup is made).",
  "label": "International Bank Account Number",
  "valid": true,
  "detail": {
   "bban": "WEST12345698765432",
   "country": "GB",
   "bank_code": "WEST",
   "branch_code": "123456",
   "check_digits": "82",
   "country_name": "United Kingdom"
  },
  "reason": null,
  "source": {
   "url": "https://arthurdejong.org/python-stdnum/",
   "library": "python-stdnum 2.2",
   "license": "LGPL-2.1-or-later (unmodified dependency)"
  },
  "compact": "GB82WEST12345698765432",
  "formatted": "GB82 WEST 1234 5698 7654 32"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-utilpeek-identifier-format-validator-3b328229/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tanod.dev](https://www.zero.xyz/host/tanod.dev/llms.txt)
