Verify — EU Business Validation
Validate EU VAT numbers against the official VIES database, verify IBAN account numbers using mod-97 checksum validation, and look up Belgian company records from the CBE (Crossroads Bank for Enterprises). One credit per call, real-time results.
/api/v1/verify/vatValidate a European VAT number in real time against the EU VIES (VAT Information Exchange System) SOAP API. Supports all 27 EU member states. Returns the registered company name and address when the VAT number is valid.
| Parameter | Type | Required | Description |
|---|---|---|---|
| vat | string | yes | Full EU VAT number including country prefix, e.g. BE0123456789 |
cURL
curl -X POST https://api.waypoints.tech/v1/verify/vat \
-H "x-api-key: wp_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{ "vat": "BE0123456789" }'SDK (@waypoints/sdk)
const result = await wp.verify.vat({ vat: "BE0123456789" });
console.log(result.valid); // true
console.log(result.company_name); // "Acme NV"
console.log(result.address); // "Rue de la Loi 16, 1000 Brussels"Response
{
"valid": true,
"vat": "BE0123456789",
"country": "BE",
"company_name": "Acme NV",
"address": "Rue de la Loi 16, 1000 Brussels",
"credits_used": 1,
"request_id": "req_01jx9k2m3n4p5q6r7s8t9u0v"
}Supported country prefixes
AT · BE · BG · CY · CZ · DE · DK · EE · EL · ES · FI · FR · HR · HU · IE · IT · LT · LU · LV · MT · NL · PL · PT · RO · SE · SI · SK
/api/v1/verify/ibanValidate an IBAN account number using mod-97 checksum validation (ISO 13616). Returns the country, inferred BIC/bank name, and a formatted IBAN string with spaces. Works for all IBAN-supporting countries worldwide, not just EU.
| Parameter | Type | Required | Description |
|---|---|---|---|
| iban | string | yes | IBAN string with or without spaces, e.g. BE68539007547034 |
cURL
curl -X POST https://api.waypoints.tech/v1/verify/iban \
-H "x-api-key: wp_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{ "iban": "BE68539007547034" }'SDK (@waypoints/sdk)
const result = await wp.verify.iban({ iban: "BE68539007547034" });
console.log(result.valid); // true
console.log(result.bank); // "BNP Paribas Fortis"
console.log(result.bic); // "GEBABEBB"
console.log(result.formatted); // "BE68 5390 0754 7034"Response
{
"valid": true,
"iban": "BE68539007547034",
"country": "BE",
"bank": "BNP Paribas Fortis",
"bic": "GEBABEBB",
"formatted": "BE68 5390 0754 7034",
"credits_used": 1,
"request_id": "req_01jx9k2m3n4p5q6r7s8t9u0v"
}/api/v1/verify/companyLook up a Belgian company in the CBE (Crossroads Bank for Enterprises) using the enterprise number. Returns the official company record including legal form, status, registered address, and activities.
| Parameter | Type | Required | Description |
|---|---|---|---|
| cbe | string | yes | Belgian enterprise number (10 digits), e.g. 0123456789 |
| country | string | no | Country code — currently only "BE" is supported. Defaults to "BE" |
cURL
curl -X POST https://api.waypoints.tech/v1/verify/company \
-H "x-api-key: wp_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{ "cbe": "0123456789", "country": "BE" }'SDK (@waypoints/sdk)
const result = await wp.verify.company({ cbe: "0123456789" });
console.log(result.name); // "Acme NV"
console.log(result.status); // "active"
console.log(result.legal_form); // "NV (Naamloze vennootschap)"Response
{
"valid": true,
"cbe": "0123456789",
"name": "Acme NV",
"status": "active",
"legal_form": "NV (Naamloze vennootschap)",
"start_date": "2010-03-15",
"address": {
"street": "Rue de la Loi",
"number": "16",
"postal_code": "1000",
"city": "Brussels",
"country": "BE"
},
"vat": "BE0123456789",
"activities": ["Software publishing", "IT consultancy"],
"credits_used": 1,
"request_id": "req_01jx9k2m3n4p5q6r7s8t9u0v"
}Notes
VIES availability
The VIES service is operated by the European Commission and has occasional downtime, especially for individual member state databases. waypoints returns a VIES_UNAVAILABLE error (503) in these cases — implement a retry with exponential backoff.
IBAN vs bank account existence
IBAN verification checks the structural validity of the account number (format + mod-97 checksum). It does not confirm that the account is open or that it belongs to a specific person. Use it to catch typos, not for fraud prevention.
CBE data freshness
Belgian CBE data is updated nightly. Newly registered companies may not appear immediately. The CBE covers all Belgian enterprises registered with the BCE/KBO.