Belgium VAT API — Validate Belgium VAT Numbers in Real Time

REST JSON endpoint for verifying Belasting over de toegevoegde waarde (BTW) numbers against the official EU VIES register, with national registry fallback where available and a VIES consultation number once you set your own VAT as requester in dashboard Settings.

Why a Belgium-Aware VAT API

In Belgium, VAT is known as Belasting over de toegevoegde waarde (BTW) and the current standard rate is 21%. Every Belgium VAT number starts with the prefix BE and follows a fixed structure issued by the Belgian tax authority. A generic VAT validator that ignores country-specific quirks will accept malformed input, miss the country's format rules, and fail to surface the local registry identifier that accountants and auditors actually need.

The vatnode API normalises BTW input, runs the official VIES check, and returns a single JSON shape with the consultation number, company data where published, and the current Belgium VAT rates inline.

Belgium VAT Number Format

Structure
BE + 0/1 + 9 digits
Regex pattern
^BE[01]\d{9}$

Real Belgium VAT numbers you can validate right now:

Validating Belgium VAT Numbers — Code Examples

All three examples validate the same Belgium VAT number BE0417497106. To receive a consultation number back, set your own VAT as requester once in dashboard Settings — then every call, including these, returns a consultation number automatically, with no extra parameters.

curl
curl 'https://api.vatnode.dev/v1/vat/BE0417497106' \
  -H "Authorization: Bearer YOUR_API_KEY"
Node.js (fetch)
const res = await fetch(
  'https://api.vatnode.dev/v1/vat/BE0417497106',
  { headers: { Authorization: `Bearer ${process.env.VATNODE_API_KEY}` } }
)
const data = await res.json()
console.log(data.valid, data.companyName, data.consultationNumber)
Python (httpx)
import os, httpx

r = httpx.get(
    "https://api.vatnode.dev/v1/vat/BE0417497106",
    headers={"Authorization": f"Bearer {os.environ['VATNODE_API_KEY']}"},
)
data = r.json()
print(data["valid"], data["companyName"], data["consultationNumber"])

What You Get Back

A successful response for a valid BelgiumVAT number, once you've set your VAT as requester in dashboard Settings, looks like this:

{
  "valid": true,
  "vatId": "BE0417497106",
  "countryCode": "BE",
  "countryName": "Belgium",
  "companyName": "Anheuser-Busch InBev SA",
  "consultationNumber": "WAPIAAAAXk7ZpY3o",
  "source": "VIES",
  "countryVat": {
    "currency": "EUR",
    "standardRate": 21,
    "reducedRates": [6,12],
    "superReducedRate": null,
    "parkingRate": 12
  },
  "verifiedAt": "2026-05-19T08:14:22Z"
}

When the number is not registered, valid is false and company fields are null. The consultationNumber is the EU VIES requestIdentifier — the documented audit reference for reverse-charge "reasonable care" evidence. It is returned once you set your own VAT as requester in dashboard Settings; otherwise it is null.

Belgium VAT Rates

vatnode returns the current Belgian BTW rates inline with every successful response. Today's rates (standard 21%, reduced 6%, 12%, parking 12%) are sourced from the European Commission TEDB feed, checked daily and updated on any change.

Rate typeValue
Standard21%
Reduced (1)6%
Reduced (2)12%
Parking12%

VIES vs National Fallback for Belgium

For Belgium, VIES is the sole authoritative source. vatnode does not run a national-registry fallback for this country today — when VIES is unavailable, the API surfaces a structured VIES_UNAVAILABLE error with retry guidance so you can degrade gracefully rather than silently accept unverified numbers.

Cached VIES responses (15-minute TTL on identical VAT IDs) absorb the majority of short outages transparently. For the full per-country fallback status, see the coverage matrix.

Belgium VAT API — FAQ

Is the Belgium VAT number the same as the company registration number?

No. The Belgian BTW number is issued for VAT purposes and is distinct from any local company registration number. vatnode returns the BTW number plus, when available, the registry identifier filed with the national company registry.

How fast is Belgium VAT validation through vatnode?

Cached responses return in single-digit milliseconds. Live VIES lookups for Belgium typically complete in under one second; a 15-minute Redis cache is applied to identical VAT IDs.

Does the API work for Belgian sole traders and small businesses?

Yes. If a Belgian sole trader or small business is registered for BTW and listed in VIES, vatnode validates the number and returns the same response shape as for corporate entities. The valid field is true regardless of legal form.

Does vatnode handle VIES outages for Belgium?

vatnode caches recent VIES responses and surfaces a clear VIES_UNAVAILABLE error code with structured retry guidance. vatnode does not use a national validity fallback for Belgium — only the VAT register itself can confirm a VAT registration, so during a VIES outage validation defers to the cached result or returns the error for safe handling.

What is the consultation number returned for checks in Belgium?

The consultationNumber is the VIES requestIdentifier — a unique reference issued by the EU VIES service that proves the check was performed against the official EU register on a specific date. It is the EU's documented mechanism for "reasonable care" evidence under the reverse-charge rules and is returned once you set your own VAT as requester in dashboard Settings — including for Belgium.

VAT APIs for Other EU Countries

See Also

Building an AI workflow? vatnode is also available to AI agents through the official MCP server — Claude, Cursor and ChatGPT can validate Belgium VAT numbers and look up rates directly in chat.

Start Validating Belgium VAT Numbers

100 validations per month on the free plan, no credit card required. REST JSON over HTTPS, VIES consultation number on qualified checks, EU-hosted by default.