Skip to Content
Overview

Welcome to VerifNow

VerifNow is a real-time validation API for the fields your billing and onboarding forms depend on — VAT numbers, IBANs, national IDs, emails and phone numbers. One API key, one quota, one invoice.

Base URL: https://api.verifnow.io/api/v1/validate


What you can validate

FieldEndpointWhat it checks
VAT/validate/vatStructure per member state, plus registration against VIES — with an explicit answer when VIES is down
IBAN/validate/ibanLength, character set and MOD-97 checksum
Email/validate/emailSyntax, MX records, disposable and role addresses, typo detection, risk score
Phone/validate/phoneNumbering-plan validity, country, line type, E.164
NIF/validate/nifSpanish tax identification number
NAS/validate/nasCanadian social insurance number
SSN/validate/ssnUS social security number

Every endpoint takes the same request shape and returns the same response envelope, so adding a second field to your form is a one-line change.


The part that is hard

Checking that a VAT number is shaped correctly is easy. Checking that it is registered means asking VIES, the European Commission’s registry — which publishes no SLA and drops member states several times a month.

VerifNow answers from cache when VIES is unreachable, and tells you so in a source field, rather than reporting an outage as “not registered” and rejecting a real customer.

Live per-country VIES availability: verifnow.io/en/status  — or GET /api/v1/status/vies, no API key required.


Start building


SDKs

npm install @verifnow/sdk

Authentication

All API requests require your API key in the X-API-KEY header:

X-API-KEY: your_api_key_here

Get your free API key at app.verifnow.io . The free plan runs the same STANDARD validation depth as Starter — it is capped by volume, not by what it checks.


Quick example

curl -X POST https://api.verifnow.io/api/v1/validate/vat \ -H "X-API-KEY: $VERIFNOW_API_KEY" \ -H "Content-Type: application/json" \ -d '{"value": "IE6388047V"}'

Response:

{ "valid": true, "message": "Valid VAT number", "normalizedValue": "IE6388047V", "originalValue": "IE6388047V", "validationLevel": "STANDARD", "vatDetails": { "format_valid": true, "registered": true, "country_code": "IE", "source": "LIVE", "checked_at": "2026-09-08T02:21:25Z", "trader_name": "GOOGLE IRELAND LIMITED", "trader_address": "3RD FLOOR, GORDON HOUSE, BARROW STREET, DUBLIN 4", "vies_available": true } }

Every response shares the same envelope — valid, message, normalizedValue, originalValue, validationLevel. Field-specific diagnostics arrive in an extra object: vatDetails for VAT, emailDetails for email. IBAN and phone return the envelope alone.


Try it without an account

The live demo on verifnow.io  runs real validations against this API with no signup — paste a VAT number, an IBAN, an email or a phone number and read the actual response.

Last updated on