utilpeek: check the format and check digits of an IBAN, VAT, ISBN or other ID
validate_identifierChecks the format and check digits of identifiers like IBANs, VAT numbers, ISBNs, and national IDs offline, returning validity, failure reasons, and formatted values.
Instructions
utilpeek: check the format and check digits of an identifier. For a VIN's vehicle use decode_vin; for phone numbers use parse_phone_number. Returns valid, reason (invalid_checksum, invalid_length, invalid_format, ... when not valid), compact, formatted and a kind-specific detail (an IBAN's country and bank code, an ISBN's ISBN-10/13 forms, ...). An invalid identifier is a normal answer (charged); a malformed request is a 422 (not charged). Checks format and check digits only, offline (python-stdnum): a valid result does not mean the identifier exists or is registered (no registry, bank or VIES call). Payment card numbers are not accepted, not even under luhn. The submitted value is processed in memory only, never logged or stored. Typically under 0.1 s. Price: USD 0.001. Free: 10 utilpeek calls per IP per UTC day. Docs: https://tanod.dev/learn/iban-validation-api.html
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Identifier kind: iban, bic, vat (EU, format only, no VIES), isbn, issn, ean, isin, lei, imo, luhn (generic mod-10), 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). No payment card numbers. | |
| value | Yes | The identifier (1-64 printable ASCII characters). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| note | No | ||
| error | No | Only on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object. | |
| label | No | ||
| valid | No | ||
| detail | No | ||
| reason | No | ||
| source | No | ||
| compact | No | ||
| formatted | No |