Data Validation API for Emails, IBANs, ISIN, LEI & 70+ More
Stop writing validators from scratch. One REST API for emails, IBANs, domains, ISINs, ETH addresses, cron expressions, and 76+ validators — with checksum verification, DNS lookups, ESMA FIRDS data, GLEIF entity search, and UN/LOCODE built in.
- Validators
- 76+
- Free calls/day
- 100
- Uptime
- 99.9%
- SDKs
- Node · Python · WP
Featured Validators
A closer look at the most powerful endpoints — enriched with live data from authoritative sources.
LEI Validation & Search
Validate Legal Entity Identifiers (ISO 17442) and instantly enrich them with entity data from the local GLEIF database — no external API calls, no rate limits. Search across 2.3 million entities by name with trigram similarity.
- ISO 17442 format validation + mod-97 checksum (same as IBAN)
- Local GLEIF Golden Copy database — ~2.3 million entities
- Full-text name search with trigram similarity (pg_trgm)
- LOU (Local Operating Unit) info returned for every valid LEI
GET /v0/leiView docs →Business & Finance
Banking, payments, securities, and tax identifiers — with checksum verification, enrichment from authoritative databases, and real-time VIES checks.
IBAN
Validate International Bank Account Numbers for 80+ countries — MOD-97 checksum, bank name and BIC lookup for 40+ countries.
GET /v0/ibanBIC / SWIFT
Validate Bank Identifier Codes used in international wire transfers. Returns institution name, city, and branch from a built-in directory.
GET /v0/bicCredit Card
Luhn checksum validation with card network detection — Visa, Mastercard, Amex, Discover, JCB, Diners Club, and UnionPay.
POST /v0/credit-cardISIN
ISO 6166 validation with Luhn check digit. Enriches with instrument data from ESMA FIRDS and OpenFIGI — name, CFI, currency, venue, ticker.
GET /v0/isinLEI
ISO 17442 validation with mod-97 checksum. Looks up entity data from a local GLEIF database of 2.3 million records. Supports name search.
GET /v0/leiVAT
EU VAT number validation for all 27 member states with optional real-time VIES verification. Returns country, company name, and validity status.
GET /v0/vatGeneral Purpose
Everyday validators for contact data, networking, crypto, travel, and developer tokens.
RFC 5322 validation with optional DNS MX record checks to confirm the domain actually accepts mail.
GET /v0/emailPhone Number
Validate phone numbers for 200+ countries. Returns country, calling code, line type, and E.164, national, and international formats.
GET /v0/phoneDomain
Validate domain names with full DNS resolution. Returns TLD, SLD, IDN detection, and A/AAAA record lookups via Google and Cloudflare DNS.
GET /v0/domainETH Address
Validate Ethereum addresses with EIP-55 mixed-case checksum verification. Returns the canonical checksummed address.
GET /v0/eth-addressIATA Airport
Validate 3-letter IATA airport codes with rich metadata — official name, city, country, ICAO code, IANA timezone, and classification.
GET /v0/iata/airportJWT
Decode and validate JSON Web Tokens — header, payload, signature structure, registered claims, and expiration checks.
GET /v0/jwtAnd 60+ more — Bitcoin address, IMEI, EAN / GTIN / UPC, IATA airline, MIC, URL, IP & MAC address, GPS coordinates, postal code, ISBN, ISSN, DOI, ORCID, ABA routing, NPI, CNPJ, CPF, ABN, NIF/NIE, GSTIN, EORI, Sort Code, NUTS, ISO 6346, SSCC, GLN, GS1 prefix, HS code, CAS number, barcode, QR / Data Matrix, NAICS / NACE industry, KRS, PESEL, REGON, DUNS, CEIDG, UUID, semver, CSS color, SWIFT MT, cron, regex, base64, DTI, CUSIP, CFI, and others. See full documentation →
Guides
Step-by-step tutorials for common validation scenarios.
Node.js
Validate EU VAT Numbers in Node.js
Why regex fails, how checksums work, and how to handle VIES downtime correctly.
Node.js
Credit Card Validation — Luhn Algorithm Explained
How the Luhn algorithm works, BIN range detection, and why DIY falls short in production.
Python
BIC / SWIFT Validation in Python
BIC structure decoded, institution lookup, passive participants, and caching patterns.
Node.js
IBAN Validation in Node.js — mod-97 Explained
mod-97 checksum step by step, 76-country length rules, BBAN structure, and SEPA routing.
Node.js
JWT Validation — Structure, Claims, and Expiry Pitfalls
Header, payload, and signature decoded — plus the auth bugs that bite every Node.js developer.
Node.js
IMEI Validation in Node.js — Luhn for Device IDs
TAC, SNR, and check digit explained — and why a 15-digit regex is not enough.
These are just a few of our guides — covering algorithms, edge cases, and production patterns. See all guides →
Official SDKs
Type-safe clients for Node.js and Python — with automatic retry, custom error classes, and full IntelliSense for every endpoint.
Node.js / TypeScript
npm install @isvalid-dev/sdk- Zero dependencies — native fetch only
- Full TypeScript types for every response
- ESM + CJS dual export — ~1.5 KB min+brotli
- Automatic retry with exponential backoff
Python
pip install isvalid-sdk- Single dependency — httpx
- Full type hints with TypedDict for every response
- Context manager support
- Automatic retry with exponential backoff
WordPress Plugin
Add real-time validation to any WordPress site with a single shortcode. Works with Contact Form 7, WooCommerce checkout, Gravity Forms, and WPForms — no coding required.
- 80+ validators via [isvalid_input] shortcode
- API key stays server-side — never exposed to the browser
- Integrates with CF7, WooCommerce, Gravity Forms, WPForms
- Output fields — auto-fill from API response data
Start validating today
Create your free account and get 100 API calls per day.
Frequently asked questions
Everything you need to know about the IsValid data validation API.
What is IsValid?
IsValid is a REST API for validating emails, IBANs, BIC/SWIFT codes, credit cards, LEI, ISIN, VAT numbers, phone numbers, and 70+ more identifiers. Every endpoint returns a JSON response with a "valid" boolean and additional metadata — bank names for IBANs, institution lookups for BICs, entity data for LEIs, instrument data for ISINs, and so on.
How do I get started with the IsValid API?
Create a free account at isvalid.dev, generate an API key from your dashboard, and send requests to https://api.isvalid.dev with an Authorization header. The free tier includes 100 API calls per day with no credit card required. Full code samples for Node.js, Python, and cURL are available in the documentation.
Is there a free plan?
Yes. The free tier includes 100 API calls per day across every validator, with no credit card required. Paid plans unlock higher quotas and priority support — see the pricing page for details.
Which validators are supported?
The API currently exposes 76+ validators grouped into financial identifiers (IBAN, BIC/SWIFT, ISIN, LEI, CUSIP, SEDOL, VALOR, WKN, MIC, CFI, DTI, credit card), regulatory and tax identifiers (VAT, EORI, GSTIN, NPI, CPF, CNPJ, PESEL, REGON, KRS, NIF), logistics and commerce identifiers (GLN, SSCC, EAN/GTIN, HS code, UN/LOCODE, container code, IATA airport/airline/flight), and general-purpose validators (email, phone, domain, IP address, UUID, JWT, URL, VIN, MAC address, ETH and BTC addresses, QR code, semver, date, postal code). A full list is in the docs.
Does the API verify data against real-world registries?
Yes. IBAN responses include bank names for 40+ countries, BIC lookups resolve to institution names, LEI validation queries a local GLEIF Golden Copy database of 2.3 million entities, ISIN validation enriches with ESMA FIRDS and OpenFIGI instrument data, VAT numbers can be verified against the EU VIES registry, and emails can be checked against live DNS MX records.
How fast is the API and where is it hosted?
Most requests complete in under 50 ms because reference datasets (GLEIF, FIRDS, UN/LOCODE, bank directories) are stored locally and queried directly from PostgreSQL. The service is hosted in Europe and runs behind a load-balanced, zero-downtime deployment.
Can I use IsValid for GDPR-compliant workloads?
Yes. The service is operated by creact.dev sp. z o.o. in the European Union and only stores the data required to operate your account and bill usage. Validation payloads are not retained beyond the response. See the privacy policy for the full data-processing statement.
Do you provide SDKs or code samples?
Every validator page in the guides section includes ready-to-copy Node.js and Python examples using the standard fetch and requests libraries — no SDK install required. The docs page lists every endpoint with request and response schemas.
Ready to integrate IsValid into your project?
Read the full API documentation and start making requests in minutes.