← Back to home

Guides

Step-by-step tutorials covering real-world validation scenarios — from the theory behind the algorithms to production-ready code examples.

🚀
Node.js

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.

SDKInstallationTypeScriptError handling
🧾
Node.js

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.

VATVIESRegex pitfallsError handling
🧾
Python

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.

VATVIESRegex pitfallsError handling
💳
Node.js

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.

Luhn algorithmBIN rangesPCI-DSSNetwork detection
💳
Python

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.

Luhn algorithmBIN rangesPCI-DSSNetwork detection
🔀
Python

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 structureInstitution lookupSWIFTCaching
🔀
Node.js

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.

BIC structureInstitution lookupSWIFTCaching
🏦
Node.js

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 structuremod-97BBANSEPA
🏦
Python

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.

IBAN structuremod-97BBANSEPA
🔑
Node.js

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 anatomyClaimsExpiryBase64url
🔑
Python

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.

JWT anatomyClaimsExpiryBase64url
📱
Node.js

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 structureTACLuhn mod-10IoT
📱
Python

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.

IMEI structureTACLuhn mod-10IoT
✉️
Node.js

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.

RFC 5322MX recordsDisposable domainsDeliverability
✉️
Python

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.

RFC 5322MX recordsDisposable domainsDeliverability
🚗
Node.js

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 structureWMICheck digitModel year
🚗
Python

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.

VIN structureWMICheck digitModel year
🏷️
Node.js

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-13GS1 checksumPrefix lookupISBN
🏷️
Python

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.

EAN-13GS1 checksumPrefix lookupISBN
📊
Node.js

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 structureISO 10962MiFID IIISIN enrichment
📊
Python

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.

CFI structureISO 10962MiFID IIISIN enrichment
📈
Python

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 structureLuhn algorithmFIRDSFISN
📈
Node.js

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.

ISIN structureLuhn algorithmFIRDSFISN
🪙
Node.js

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 structureISO 24165Check characterEMIR / MiCA
🪙
Python

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.

DTI structureISO 24165Check characterEMIR / MiCA
📍
Node.js

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.

GeoURIDD / DMS / DDMCoordinatesRFC 5870
📍
Python

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.

GeoURIDD / DMS / DDMCoordinatesRFC 5870
🏢
Node.js

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.

REGONMOD-11GUS BIRPoland
🏢
Python

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.

REGONMOD-11GUS BIRPoland
🏛️
Node.js

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.

LEIGLEIFMOD-97Compliance
🏛️
Node.js

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.

LEIISO 17442MOD-97GLEIF
🏛️
Python

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.

LEIISO 17442MOD-97GLEIF
🛡️
Node.js

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.

KYCIBANLEIVAT
📋
Node.js

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.

MiFID IIISINLEICFI
⚖️
Node.js

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.

EMIRMiCADTILEI
🔢
Reference

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.

LuhnMOD-97MOD-11Error detection

Ready to start validating?

Free tier — 100 API calls per day, no credit card required.