Guides
Step-by-step tutorials covering real-world validation scenarios — from the theory behind the algorithms to production-ready code examples.
Getting Started with the IsValid SDK
Install the official TypeScript SDK, create a client, run your first validation, and handle errors — all in under five minutes.
How to Validate EU VAT Numbers in Node.js
Why a single regex fails for EU countries, how checksum algorithms work per country, and how to handle VIES downtime gracefully.
How to Validate EU VAT Numbers in Python
Why a single regex fails for EU countries, how checksum algorithms work per country, and how to handle VIES downtime gracefully — with requests examples.
Credit Card Validation — Luhn Algorithm Explained
A walkthrough of the Luhn mod-10 algorithm, BIN range detection for 7 networks, and why format validation alone is not enough in production.
Credit Card Validation in Python — Luhn Algorithm Explained
A walkthrough of the Luhn mod-10 algorithm in Python, BIN range detection for 7 networks, and why format validation alone is not enough in production.
BIC / SWIFT Validation in Python
The anatomy of a BIC code decoded, institution lookup, passive participant detection, and caching patterns — with requests and urllib examples.
BIC / SWIFT Validation in Node.js
The anatomy of a BIC code decoded, institution lookup, passive participant detection, and caching patterns — with native fetch examples.
IBAN Validation in Node.js — mod-97 Algorithm Explained
The structure of an IBAN decoded, why mod-97 catches transposition errors, country-specific length rules for 76 countries, and SEPA routing logic.
IBAN Validation in Python — mod-97 Algorithm Explained
The structure of an IBAN decoded, why mod-97 catches transposition errors, country-specific length rules for 76 countries, and SEPA routing logic — with requests examples.
JWT Validation in Node.js — Structure, Claims, and Expiry Pitfalls
How JWT structure works, what every header and payload claim means, common expiry bugs in auth code, and how to parse and inspect tokens safely.
JWT Validation in Python — Structure, Claims, and Expiry Pitfalls
How JWT structure works, what every header and payload claim means, common expiry bugs in Python auth code, and how to parse and inspect tokens safely.
IMEI Validation in Node.js — Luhn Algorithm for Device IDs
The anatomy of an IMEI number — TAC, SNR, and check digit — how the Luhn mod-10 algorithm applies, and why a 15-digit regex is not enough.
IMEI Validation in Python — Luhn Algorithm for Device IDs
The anatomy of an IMEI number — TAC, SNR, and check digit — how the Luhn mod-10 algorithm applies, and why a 15-digit regex is not enough — with Python examples.
Email Validation in Node.js — Beyond Regex
Why regex alone is not enough, how MX record lookups work, what disposable domains are, and how to combine format and domain checks for reliable validation.
Email Validation in Python — Beyond Regex
Why regex alone is not enough, how MX record lookups work, what disposable domains are, and how to combine format and domain checks — with requests and dnspython examples.
VIN Validation in Node.js — Check Digit, WMI, and Model Year
The anatomy of a VIN decoded — WMI, VDS, VIS — the weighted check digit algorithm with transliteration table, and the 30-year model year cycle.
VIN Validation in Python — Check Digit, WMI, and Model Year
The anatomy of a VIN decoded — WMI, VDS, VIS — the weighted check digit algorithm with transliteration table, and the 30-year model year cycle — with Python examples.
EAN Barcode Validation in Node.js — GS1 Checksum and Prefix Lookup
EAN-8 vs EAN-13, the GS1 alternating-weight checksum, what the prefix actually encodes (not country of origin), and special prefixes for ISBN and ISSN.
EAN Barcode Validation in Python — GS1 Checksum and Prefix Lookup
EAN-8 vs EAN-13, the GS1 alternating-weight checksum, what the prefix actually encodes (not country of origin), and special prefixes for ISBN and ISSN — with Python examples.
CFI Code Validation in Node.js — ISO 10962 Decoded
The 6-position ISO 10962 structure decoded — asset categories, instrument groups, and context-dependent attributes — with step-by-step walkthroughs of equity and bond CFI codes.
CFI Code Validation in Python — ISO 10962 Decoded
The 6-position ISO 10962 structure decoded — asset categories, instrument groups, and context-dependent attributes — with Python code examples.
ISIN Validation in Python — Luhn, FIRDS & OpenFIGI
The anatomy of an ISIN decoded, how the Luhn check digit works for alphanumeric codes, why format validation is not enough, and how to enrich ISINs with ESMA FIRDS and OpenFIGI data.
ISIN Validation in Node.js — Luhn, FIRDS & OpenFIGI
The anatomy of an ISIN decoded, how the Luhn check digit works for alphanumeric codes, why format validation is not enough, and how to enrich ISINs with ESMA FIRDS and OpenFIGI data — with native fetch examples.
DTI Validation in Node.js — ISO 24165 Digital Token Identifiers
The structure of a DTI decoded — restricted 30-character alphabet, check character, and why it matters for EMIR and MiCA reporting. With Node.js code examples.
DTI Validation in Python — ISO 24165 Digital Token Identifiers
The structure of a DTI decoded — restricted 30-character alphabet, check character, and why it matters for EMIR and MiCA reporting. With Python code examples.
GPS & GeoURI Validation in Node.js — DD, DMS, DDM Formats Explained
How to validate GPS coordinates in Node.js — Decimal Degrees, DMS, DDM, and GeoURI (RFC 5870) formats, coordinate range checks, Unicode normalization, and automatic DMS conversion in a single API call.
GPS & GeoURI Validation in Python — DD, DMS, DDM Formats Explained
How to validate GPS coordinates in Python — Decimal Degrees, DMS, DDM, and GeoURI (RFC 5870) formats, coordinate range checks, Unicode normalization, and automatic DMS conversion in a single API call.
REGON Validation in Node.js — Polish Business Registry Numbers
How to validate Polish REGON numbers in Node.js — 9-digit and 14-digit structure, the weighted MOD-11 checksum algorithm, and optional GUS BIR lookup for company name, NIP, and address.
REGON Validation in Python — Polish Business Registry Numbers
How to validate Polish REGON numbers in Python — 9-digit and 14-digit structure, the weighted MOD-11 checksum algorithm, and optional GUS BIR lookup — with requests examples.
LEI Validation in JavaScript — GLEIF Lookup Without Rate Limits
How to validate Legal Entity Identifiers, why mod-97 alone isn't enough, and how to enrich LEIs with entity data from a 2.3M record GLEIF database.
LEI Validation, Search & LOU Lookup in Node.js — ISO 17442
A complete guide to LEI validation, entity search, and LOU lookup in Node.js — the ISO 17442 MOD-97 checksum, searching 2.3M entities by name, and listing all Local Operating Units.
LEI Validation, Search & LOU Lookup in Python — ISO 17442
A complete guide to LEI validation, entity search, and LOU lookup in Python — the ISO 17442 MOD-97 checksum, searching 2.3M entities by name, and listing all Local Operating Units.
KYC Onboarding Validation Checklist — IBAN, LEI & VAT in One Flow
How to build a complete KYC validation flow in Node.js — validate IBAN (mod-97 + bank lookup), LEI (MOD-97 + GLEIF entity check), and VAT (checksum + VIES confirmation) in parallel.
MiFID II Reporting — Validating ISIN, LEI and CFI Together
How to validate ISIN, LEI, and CFI codes for MiFID II transaction reporting in Node.js — Luhn checksum for ISIN, MOD-97 for LEI, ISO 10962 decode for CFI, with parallel validation.
EMIR & MiCA Compliance — DTI and LEI Validation for Crypto
How to validate DTI and LEI codes for EMIR derivatives reporting and MiCA crypto-asset compliance — ISO 24165 DTI registry lookup, ISO 17442 MOD-97 checksum, and regulatory edge cases.
Check Digit Algorithms Explained — Luhn, MOD-97, MOD-11 and More
A comprehensive guide to check digit algorithms used in real-world identifiers: Luhn (mod-10), MOD-97 (IBAN, LEI), weighted MOD-11 (ISBN, ISSN, VIN), CUSIP, PESEL, REGON, and more — with formulas, worked examples, and code.
Ready to start validating?
Free tier — 100 API calls per day, no credit card required.