Guides
Step-by-step tutorials covering real-world validation scenarios — from the theory behind the algorithms to production-ready code examples.
What's covered
Each guide starts from first principles — explaining the structure and checksum rules behind the identifier — then moves to production-ready code. You'll find both the manual implementation (so you understand why it fails in edge cases) and the API-based solution that handles the full complexity for you.
Financial identifiers
IBAN, SWIFT/BIC, VAT numbers, ISIN, CUSIP, SEDOL, WKN, VALOR, LEI, ABA routing numbers, SORT codes, and more. Covers checksum algorithms (mod-97, Luhn, Damm), country-specific validation rules, and registry lookups.
Business registration numbers
CPF, CNPJ, GSTIN, ABN, NIF, KRS, REGON, CEIDG, EORI, DUNS, and other national identifiers. Includes country-specific check-digit algorithms and official register validation.
Technical & web identifiers
Email addresses, phone numbers, URLs, IP addresses, JWT tokens, UUIDs, semver versions, MIME types, MAC addresses, cron expressions, and regular expressions.
Logistics & trade
IATA airport and airline codes, IATA flight numbers, HS codes, LOCODE, ISO container codes, SSCC, EAN/UPC barcodes, and GS1 prefix validation.
Crypto & digital assets
Bitcoin address validation (P2PKH, P2SH, Bech32), Ethereum address checksums (EIP-55), and multi-chain wallet validation patterns.
Academic & document IDs
ISBN-10 and ISBN-13 (Modulus-10 and Modulus-11), ISSN, DOI, ORCID. Includes check-digit algorithms and resolver integration for academic publishing workflows.
How each guide is structured
The algorithm
How the identifier is structured and how the check digit is calculated, with step-by-step examples.
Why regex fails
Common edge cases that defeat naive regex implementations — leading zeros, country variants, optional characters.
Code examples
Production-ready Node.js or Python code using the IsValid SDK and raw REST API calls with error handling.
Edge cases
Test numbers, special values, deprecated formats, and what the API response fields mean in practice.
All guides
Getting Started with the IsValid SDK (Node.js)
Install the official TypeScript SDK, create a client, run your first validation, and handle errors — all in under five minutes.
Getting Started with the IsValid SDK (Python)
Install the official Python 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.
CEIDG Validation in Node.js — Polish Sole Proprietor Registry Lookup
How to validate Polish NIP numbers and look up sole proprietors in the CEIDG registry from Node.js — NIP MOD-11 checksum, live registry lookup, owner name, address, status, and PKD activity codes.
CEIDG Validation in Python — Polish Sole Proprietor Registry Lookup
How to validate Polish NIP numbers and look up sole proprietors in the CEIDG registry from Python — NIP MOD-11 checksum, live registry lookup, owner name, address, status, and PKD activity codes.
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.
KYC Onboarding Validation Checklist — IBAN, LEI & VAT in One Flow
How to build a complete KYC validation flow in Python — 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.
MiFID II Reporting — Validating ISIN, LEI and CFI Together
How to validate ISIN, LEI, and CFI codes for MiFID II transaction reporting in Python — 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.
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 in Python — 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.
Phone Number Validation in Node.js — E.164, Line Type & Country Detection
Why regex fails for international phone numbers, how E.164 normalization works, line type detection (MOBILE, VOIP, FIXED_LINE), and how to validate any phone number in a single API call.
Phone Number Validation in Python — E.164, Line Type & Country Detection
Why regex fails for international phone numbers, how E.164 normalization works, line type detection, and how to validate any phone number — with requests examples.
PESEL Validation in Node.js — Polish National ID Numbers
How to validate Polish PESEL numbers — the 11-digit structure, century encoding for birth dates, gender extraction, weighted MOD-10 checksum, and age verification.
PESEL Validation in Python — Polish National ID Numbers
How to validate Polish PESEL numbers in Python — the 11-digit structure, century encoding, gender extraction, weighted MOD-10 checksum, and age verification.
EORI Validation in Node.js — EU Customs Compliance
How to validate EORI numbers for EU customs operations — format rules per country, EC registry verification, post-Brexit implications, and company detail lookup.
EORI Validation in Python — EU Customs Compliance
How to validate EORI numbers in Python — format rules per country, EC registry verification, post-Brexit implications, and company detail lookup — with requests examples.
ISIN, CUSIP, SEDOL, LEI, FIGI — Financial Instrument Identifiers Explained
A comprehensive reference comparing all major financial instrument identifiers — structure, check digit algorithms, issuing authorities, relationships, and when to use each.
CUSIP Validation in Node.js — US Securities Identifiers
The anatomy of a CUSIP decoded — 6-char issuer, 2-char issue, check digit — the modified Luhn algorithm with alphanumeric mapping, and the CUSIP-to-ISIN relationship.
CUSIP Validation in Python — US Securities Identifiers
The anatomy of a CUSIP decoded — 6-char issuer, 2-char issue, check digit — the modified Luhn algorithm with alphanumeric mapping — with Python examples.
SEDOL Validation in Node.js — UK Securities Identifiers
The anatomy of a SEDOL decoded — weighted check digit with weights [1,3,1,7,3,9], the no-vowels rule for modern codes, and live instrument lookup via OpenFIGI.
SEDOL Validation in Python — UK Securities Identifiers
How to validate SEDOL identifiers in Python — weighted check digit algorithm, legacy vowel codes, and live enrichment via OpenFIGI — with requests and SDK examples.
WKN Validation in Node.js — German Securities Identifiers
How to validate WKN (Wertpapierkennnummer) identifiers in Node.js — 6-character format, the relationship to German ISINs, and live instrument lookup via OpenFIGI.
WKN Validation in Python — German Securities Identifiers
How to validate WKN (Wertpapierkennnummer) identifiers in Python — 6-character format with no check digit, the connection to DE ISINs, and OpenFIGI enrichment via requests and SDK.
VALOR Validation in Node.js — Swiss Securities Identifiers
How to validate VALOR (Valorennummer) identifiers in Node.js — 5–9 digit purely numeric format, no check digit, the relationship to CH/LI ISINs, and live instrument lookup via OpenFIGI.
VALOR Validation in Python — Swiss Securities Identifiers
How to validate VALOR (Valorennummer) identifiers in Python — 5–9 digit numeric format with no check digit, the connection to CH/LI ISINs, and OpenFIGI enrichment via requests and SDK.
GSTIN Validation in Node.js — Indian Tax ID Structure Explained
How to validate Indian GSTIN numbers — 15-character structure, state code lookup, PAN extraction, entity type detection, and the mod-36 check character algorithm.
GSTIN Validation in Python — Indian Tax ID Structure Explained
How to validate Indian GSTIN numbers in Python — 15-character structure, state code lookup, PAN extraction, entity type detection, and the mod-36 check character.
CNPJ Validation in Node.js — Brazilian Business Registry Numbers
How to validate Brazilian CNPJ numbers — the 14-digit structure, branch vs headquarters, weighted MOD-11 checksum, and optional company lookup via BrasilAPI.
CNPJ Validation in Python — Brazilian Business Registry Numbers
How to validate Brazilian CNPJ numbers in Python — the 14-digit structure, branch vs headquarters, weighted MOD-11 checksum, and optional company lookup.
CPF Validation in Node.js — Brazilian Individual Tax ID
How to validate Brazilian CPF numbers — the 11-digit structure, two weighted MOD-11 check digits, the all-same-digits trap, and fiscal region encoding.
CPF Validation in Python — Brazilian Individual Tax ID
How to validate Brazilian CPF numbers in Python — the 11-digit structure, two weighted MOD-11 check digits, the all-same-digits trap, and fiscal region encoding.
Ethereum Address Validation in Node.js — EIP-55 Checksum Explained
How to validate Ethereum addresses — the 40-hex-character format, EIP-55 mixed-case checksum, why simple regex isn't enough, and how to prevent irreversible fund loss.
Ethereum Address Validation in Python — EIP-55 Checksum Explained
How to validate Ethereum addresses in Python — the 40-hex-character format, EIP-55 mixed-case checksum, and how to prevent irreversible fund loss — with requests examples.
Bitcoin Address Validation in Node.js — P2PKH, SegWit & Taproot
How to validate Bitcoin addresses — Base58Check for legacy, Bech32 for SegWit, Bech32m for Taproot — address type detection and checksum verification.
Bitcoin Address Validation in Python — P2PKH, SegWit & Taproot
How to validate Bitcoin addresses in Python — Base58Check, Bech32, Bech32m — address type detection and checksum verification — with requests examples.
ABA Routing Number Validation in Node.js — US Banking
How to validate 9-digit ABA routing transit numbers — the weighted checksum algorithm, Federal Reserve district encoding, and why ACH and wire routing numbers differ.
ABA Routing Number Validation in Python — US Banking
How to validate ABA routing numbers in Python — the weighted checksum, Federal Reserve district encoding, and ACH vs wire differences — with requests examples.
SWIFT MT Message Type Validation in Node.js — Categories & Lookup
How to validate and look up SWIFT MT message types — the 10 categories, common types (MT103, MT202, MT940), and the ongoing MT-to-MX (ISO 20022) migration.
SWIFT MT Message Type Validation in Python — Categories & Lookup
How to validate and look up SWIFT MT message types in Python — the 10 categories, common types, and MT-to-MX migration — with requests examples.
Postal Code Validation in Node.js — 60+ Country Formats
How to validate postal codes across 60+ countries — country-specific format rules, why a single regex fails, and how to normalize ZIP+4, UK postcodes, and more.
Postal Code Validation in Python — 60+ Country Formats
How to validate postal codes in Python across 60+ countries — country-specific format rules, ZIP+4, UK postcodes, and normalization — with requests examples.
HS Code Validation in Node.js — Harmonized System Lookup
How to validate HS codes for international trade — the 6-digit WCO structure, chapter/heading/subheading breakdown, and how to look up commodity descriptions.
HS Code Validation in Python — Harmonized System Lookup
How to validate HS codes in Python — the 6-digit WCO structure, chapter/heading/subheading breakdown, and commodity description lookup — with requests examples.
Container Code Validation in Node.js — ISO 6346 Check Digit
How to validate shipping container codes — the ISO 6346 structure (owner, category, serial, check digit), the mod-11 algorithm with letter-to-number mapping, and size/type decoding.
Container Code Validation in Python — ISO 6346 Check Digit
How to validate shipping container codes in Python — the ISO 6346 structure, mod-11 algorithm, and size/type decoding — with requests examples.
UN/LOCODE Validation in Node.js — Port & Location Codes
How to validate UN/LOCODE location codes — the 5-character structure, country prefix + location suffix, function classifiers (port, airport, rail), and location lookup.
UN/LOCODE Validation in Python — Port & Location Codes
How to validate UN/LOCODE location codes in Python — the 5-character structure, function classifiers, and location lookup — with requests examples.
IATA Airport Code Validation in Node.js — 3-Letter Code Lookup
How to validate IATA airport codes — the 3-letter structure, why not all 3-letter combos are valid, city vs airport codes, and how to look up airport details.
IATA Airport Code Validation in Python — 3-Letter Code Lookup
How to validate IATA airport codes in Python — the 3-letter structure, city vs airport codes, and airport detail lookup — with requests examples.
NPI Validation in Node.js — US Healthcare Provider IDs
How to validate NPI numbers — the 10-digit structure, Luhn check digit with healthcare prefix, provider type (individual vs organization), and NPPES lookup.
NPI Validation in Python — US Healthcare Provider IDs
How to validate NPI numbers in Python — the 10-digit structure, Luhn check digit, provider type detection, and NPPES lookup — with requests examples.
Sort Code Validation in Node.js — UK Bank Identifiers
How to validate UK sort codes — the 6-digit structure, bank and branch identification, EISCD lookup, and the relationship between sort codes and IBANs.
Sort Code Validation in Python — UK Bank Identifiers
How to validate UK sort codes in Python — the 6-digit structure, bank identification, EISCD lookup, and sort code to IBAN mapping — with requests examples.
KRS Validation in Node.js — Polish Court Registry Numbers
How to validate KRS numbers — the 10-digit structure, registry type classification, and how to look up company details from the Polish National Court Register.
KRS Validation in Python — Polish Court Registry Numbers
How to validate KRS numbers in Python — the 10-digit structure, registry type classification, and company detail lookup — with requests examples.
ISBN Validation in Node.js — ISBN-10, ISBN-13 & Check Digits
How to validate ISBN numbers — ISBN-10 vs ISBN-13 structure, MOD-11 and MOD-10 check digits, ISBN-10 to ISBN-13 conversion, and publisher lookup.
ISBN Validation in Python — ISBN-10, ISBN-13 & Check Digits
How to validate ISBN numbers in Python — ISBN-10 vs ISBN-13, MOD-11 and MOD-10 check digits, and conversion — with requests examples.
User Registration Validation — Email, Phone & Password in One Flow
How to build a complete user registration validation flow — validate email (MX + disposable check), phone (E.164 + line type), and password strength in parallel.
User Registration Validation — Email, Phone & Postal Code in One Flow
How to build a complete user registration validation flow in Python — validate email (MX + disposable check), phone (E.164 + line type), and postal code in parallel with FastAPI middleware.
E-commerce Checkout Validation — Card, Address & Email in One Flow
How to validate an e-commerce checkout form — credit card (Luhn + network), postal code (country-aware), email (MX check), and IBAN for bank transfers — all in parallel.
E-commerce Checkout Validation — Card, IBAN, VAT & Postal Code
How to validate an e-commerce checkout form in Python — credit card (Luhn + BIN), IBAN (SEPA), VAT (B2B reverse charge), and postal code — adaptive parallel validation.
Polish Business Verification — NIP, REGON, KRS & PESEL in One Flow
How to build a comprehensive Polish business verification flow — validate NIP (VAT), REGON (GUS), KRS (court registry), and PESEL (owner identity) with cross-field consistency checks.
Polish Business Verification — PESEL, REGON, KRS & VAT in One Flow
How to build a comprehensive Polish business verification flow in Python — validate PESEL, REGON, KRS, and VAT with cross-registry consistency checks and parallel validation.
Brazilian Tax Compliance — CNPJ, CPF & Phone Validation Flow
How to build a Brazilian tax compliance validation flow — validate CNPJ (business), CPF (individual), and phone numbers with entity type detection and cross-validation.
Brazilian Tax Compliance — CNPJ, CPF & VAT Validation in One Flow
How to build a Brazilian tax compliance flow in Python — validate CNPJ (business), CPF (individual), and optionally EU VAT for cross-border transactions with parallel validation.
Domain Validation in Node.js — TLD, IDN & DNS Checks
How to validate domain names — TLD verification, internationalized domain names (IDN), punycode handling, and DNS record checks (A/AAAA) in a single API call.
Domain Validation in Python — TLD, IDN & DNS Checks
How to validate domain names in Python — TLD verification, IDN support, punycode, and DNS record checks — with requests examples.
URL Validation in Node.js — Protocol, Encoding & Parsing
How to validate URLs — protocol detection, domain extraction, query parameter parsing, fragment handling, and why RFC 3986 compliance matters.
URL Validation in Python — Protocol, Encoding & Parsing
How to validate URLs in Python — protocol detection, domain extraction, query parsing, and RFC 3986 compliance — with requests examples.
UUID Validation in Node.js — Versions, Variants & Nil Detection
How to validate UUIDs — version detection (v1–v7), variant identification (RFC 4122, NCS, Microsoft), nil/max UUID handling, and why format regex is not enough.
UUID Validation in Python — Versions, Variants & Nil Detection
How to validate UUIDs in Python — version detection (v1–v7), variant identification, nil/max UUID handling — with requests examples.
IP Address Validation in Node.js — IPv4, IPv6 & Type Classification
How to validate IP addresses — IPv4 and IPv6 format checks, address type classification (public, private, loopback, multicast), and IPv6 expansion/normalization.
IP Address Validation in Python — IPv4, IPv6 & Type Classification
How to validate IP addresses in Python — IPv4/IPv6 format checks, type classification, and normalization — with requests examples.
NIF / NIE Validation in Node.js — Spanish Tax ID Numbers
How to validate Spanish NIF and NIE numbers — DNI structure for citizens, NIE for foreign residents, the mod-23 control letter algorithm, and type detection.
NIF / NIE Validation in Python — Spanish Tax ID Numbers
How to validate Spanish NIF and NIE numbers in Python — DNI and NIE structure, mod-23 control letter, and type detection — with requests examples.
ABN Validation in Node.js — Australian Business Numbers
How to validate Australian Business Numbers — the 11-digit structure, weighted checksum algorithm, and optional ABR registry lookup for entity name, type, and GST status.
ABN Validation in Python — Australian Business Numbers
How to validate Australian Business Numbers in Python — the 11-digit structure, checksum algorithm, and ABR registry lookup — with requests examples.
ISSN Validation in Node.js — MOD-11 Check Digit for Serial Publications
How to validate ISSNs — the 8-digit structure, MOD-11 check digit algorithm, the X check character, and the difference between print and electronic ISSNs.
ISSN Validation in Python — MOD-11 Check Digit for Serial Publications
How to validate ISSNs in Python — the 8-digit structure, MOD-11 check digit, X check character, and print vs electronic ISSNs — with requests examples.
GLN Validation in Node.js — GS1 Global Location Numbers
How to validate GLN-13 codes — the GS1 structure, alternating-weight check digit algorithm, prefix country lookup, and how GLNs identify locations in supply chains.
GLN Validation in Python — GS1 Global Location Numbers
How to validate GLN-13 codes in Python — GS1 structure, check digit algorithm, and prefix country lookup — with requests examples.
SSCC Validation in Node.js — GS1 Serial Shipping Container Codes
How to validate SSCC-18 codes — the GS1 structure (extension digit, company prefix, serial reference, check digit), the alternating-weight algorithm, and warehouse/EDI integration.
SSCC Validation in Python — GS1 Serial Shipping Container Codes
How to validate SSCC-18 codes in Python — GS1 structure, check digit algorithm, and logistics integration — with requests examples.
IATA Airline Code Validation in Node.js — 2-Letter Designator Lookup
How to validate IATA airline codes — the 2-letter designator system, ICAO cross-reference, callsign lookup, and how to list all airlines.
IATA Airline Code Validation in Python — 2-Letter Designator Lookup
How to validate IATA airline codes in Python — 2-letter designators, ICAO cross-reference, and callsign lookup — with requests examples.
IATA Flight Number Validation in Node.js — Airline + Number Parsing
How to validate IATA flight numbers — airline code extraction, flight number parsing, suffix detection, and automatic airline name lookup.
IATA Flight Number Validation in Python — Airline + Number Parsing
How to validate IATA flight numbers in Python — airline code extraction, number parsing, and airline lookup — with requests examples.
DOI Validation in Node.js — Digital Object Identifiers & Metadata Lookup
How to validate DOIs — the prefix/suffix structure, registrant identification, persistent URL resolution, and optional metadata lookup (title, authors, publisher).
DOI Validation in Python — Digital Object Identifiers & Metadata Lookup
How to validate DOIs in Python — prefix/suffix structure, registrant lookup, and metadata retrieval — with requests examples.
ORCID Validation in Node.js — Researcher ID & Profile Lookup
How to validate ORCID identifiers — the 16-digit structure, ISO 7064 MOD 11-2 check character, and optional profile lookup for researcher name and affiliation.
ORCID Validation in Python — Researcher ID & Profile Lookup
How to validate ORCID identifiers in Python — 16-digit structure, check character, and profile lookup — with requests examples.
MIC Validation in Node.js — ISO 10383 Market Identifier Codes
How to validate Market Identifier Codes — the 4-character ISO 10383 structure, operating vs segment MICs, exchange status tracking, and venue lookup.
MIC Validation in Python — ISO 10383 Market Identifier Codes
How to validate Market Identifier Codes in Python — ISO 10383 structure, operating vs segment MICs, and venue lookup — with requests examples.
Industry Code Validation in Node.js — NAICS & NACE Classification
How to validate industry codes — NAICS (North America) and NACE (EU) classification systems, hierarchy traversal, description lookup, and auto-detection.
Industry Code Validation in Python — NAICS & NACE Classification
How to validate industry codes in Python — NAICS and NACE systems, hierarchy lookup, and description retrieval — with requests examples.
Logistics & Shipping Validation — Container, HS Code, LOCODE & EORI
How to validate a complete shipment in Node.js — container code (ISO 6346), HS code (WCO), UN/LOCODE (port lookup), and EORI (EU customs) with parallel Promise.all validation.
Logistics & Shipping Validation — Container, HS Code, LOCODE & EORI
How to validate a complete shipment in Python — container code, HS code, UN/LOCODE, and EORI with asyncio.gather for concurrent API calls.
Fintech Onboarding Validation — IBAN, BIC, Credit Card & Sort Code
How to build an adaptive payment method validation flow in Node.js — IBAN + BIC for EU transfers, sort code for UK, credit card for card payments — with SEPA eligibility checks.
Fintech Onboarding Validation — IBAN, BIC, Credit Card & Sort Code
How to build an adaptive payment method validation flow in Python — IBAN + BIC, sort code, credit card — with asyncio.gather and SEPA eligibility checks.
Academic Publishing Validation — DOI, ORCID, ISBN & ISSN
How to validate academic identifiers in Node.js — DOI with CrossRef metadata enrichment, ORCID researcher profile, ISBN-10/13 normalisation, and ISSN for journals.
Academic Publishing Validation — DOI, ORCID, ISBN & ISSN
How to validate academic identifiers in Python — DOI, ORCID, ISBN and ISSN with asyncio.gather for concurrent validation and CrossRef metadata enrichment.
Indian Business Compliance — GSTIN Validation Flow
How to validate GSTIN numbers for India GST compliance — 15-character structure, state code extraction, PAN cross-checking, and batch validation with Promise.all.
Indian Business Compliance — GSTIN Validation Flow
How to validate GSTIN numbers in Python — state code extraction, PAN cross-checking, and batch validation with asyncio.gather.
Spanish Business Compliance — NIF, NIE & VAT Validation Flow
How to validate Spanish tax identifiers in Node.js — NIF (residents/businesses), NIE (foreign individuals), and EU VAT cross-checking with parallel Promise.all validation.
Spanish Business Compliance — NIF, NIE & VAT Validation Flow
How to validate Spanish tax identifiers in Python — NIF, NIE, and EU VAT with asyncio.gather and cross-validation between NIF and VAT numbers.
Australian Business Compliance — ABN & GST Validation Flow
How to build an ABN validation flow in Node.js — checksum verification, ABR registry lookup, GST registration status, ACN extraction, and batch validation.
Australian Business Compliance — ABN & GST Validation Flow
How to validate ABN numbers in Python — ABR registry lookup, GST registration status, and batch validation with asyncio.gather.
Crypto Wallet Address Validation — Bitcoin & Ethereum
How to validate Bitcoin and Ethereum addresses in Node.js — BTC address type detection (P2PKH, P2SH, bech32), ETH EIP-55 checksum, and parallel validation.
Crypto Wallet Address Validation — Bitcoin & Ethereum
How to validate Bitcoin and Ethereum addresses in Python — address type detection, EIP-55 checksum, and concurrent validation with asyncio.gather.
IoT Device Identification — IMEI & MAC Address Validation
How to validate IoT device identifiers in Node.js — IMEI Luhn checksum with TAC extraction, MAC address normalisation, multicast/broadcast detection, and parallel validation.
IoT Device Identification — IMEI & MAC Address Validation
How to validate IoT device identifiers in Python — IMEI Luhn checksum, MAC normalisation, multicast detection, and concurrent validation with asyncio.gather.
Input Validation Best Practices for REST APIs
Where to validate, format vs semantic checks, parallel validation with Promise.all / asyncio.gather, RFC 9457 error responses, and middleware patterns for Express.js and FastAPI.
Validation vs Sanitization — What Is the Difference?
A clear breakdown of input validation vs data sanitization — when to use each, how they interact, security implications, and why you should never sanitize structured identifiers.
How to Validate Form Data in Express.js and FastAPI
Practical two-phase validation patterns — Zod/Pydantic for format, IsValid API for semantics — with reusable middleware for Express.js and dependency injection for FastAPI.
International Data Compliance — Which Identifiers You Must Validate
A practical reference covering KYC/AML, EU VAT, MiFID II, GSTIN, ABN, trade compliance, and fintech — which identifiers are legally required to validate by regulation and region.
QR Code Validation in Node.js
Validate QR code content in Node.js — detect URL, vCard, Wi-Fi, email and other types, block dangerous payloads (javascript:, data: URIs), and safely redirect users after scanning.
QR Code Validation in Python
Validate QR code content in Python — detect content types, block dangerous URI schemes, and batch validate with asyncio.gather.
MAC Address Validation in Node.js
Validate MAC addresses in Node.js — accept colon, hyphen, and compact formats, detect unicast/multicast/broadcast, identify locally-administered (randomised) addresses, and normalise for storage.
MAC Address Validation in Python
Validate MAC addresses in Python — accept any format, detect address types, identify randomised MACs (iOS/Android), and batch validate with asyncio.gather.
Date Validation in Node.js
Validate dates in Node.js — handle leap years correctly, validate date ranges, verify minimum age for GDPR/COPPA, and normalise input formats to ISO 8601.
Date Validation in Python
Validate dates in Python — handle leap years, validate ranges with asyncio.gather, verify minimum age with UTC timestamps, and normalise to ISO 8601.
Semver Validation in Node.js
Validate semantic version strings in Node.js — parse MAJOR.MINOR.PATCH, detect pre-release builds, enforce stable-only releases on main, and gate CI/CD pipelines.
Semver Validation in Python
Validate semantic version strings in Python — parse components, enforce stable releases before PyPI publish, and validate dependency manifests with asyncio.
Color Validation in Node.js
Validate color values in Node.js — accept HEX, RGB, HSL, and CSS named colors, normalise to canonical hex, detect alpha transparency, and validate brand palettes.
Color Validation in Python
Validate color values in Python — accept any color format, normalise to canonical hex, block alpha in opaque-only fields, and validate brand palettes with asyncio.
Ready to start validating?
Free tier — 100 API calls per day, no credit card required.