vatnode vs Vatlayer – Beyond the Cheapest VAT API

Vatlayer leads on price: a low monthly fee for a valid/invalid VAT check and a basic rate. That framing works while a boolean is all you need. EU VAT compliance rarely stays a boolean — sooner or later someone asks which authority answered, when the check happened and whether you can prove it. According to Vatlayer's public documentation checked on 11 September 2026, the response carries no VIES consultation number, no per-request audit identifier and no source field. vatnode charges more and returns those artefacts, plus national registry fallback and the full country VAT block.

Last updated: September 2026

Competitor facts on this page checked against the vendor's own public site, documentation and pricing pages on 11 September 2026. Rows marked absent mean we could not find the capability documented publicly, not that the product lacks it.

What the Entry Price Does Not Include

Vatlayer's entry plan is priced as if VAT validation were a fungible utility – the same way a generic IP-geolocation endpoint is priced. That works for a one-off checkout guard. It stops working the day a tax authority requests evidence of due diligence for an invoice you issued eighteen months ago and the only thing your database stored is "valid" / "invalid".

The vatnode response carries more than a verdict: the VIES-issued consultationNumber, the sourceauthority, the verifiedAttimestamp and a per-call checkId. That is what the higher price buys.

What One Validation Call Returns

Vatlayer's validation response returns valid, company name, address, and standard rate. That is all. vatnode returns the fields an invoicing system needs:

GET /v1/vat/FI26364843
{
  "valid": true,
  "vatId": "FI26364843",
  "countryCode": "FI",
  "countryName": "Finland",
  "companyName": "SUPERCELL OY",
  "companyAddress": "JÄTKÄSAARENLAITURI 2, 00180 HELSINKI",
  "companyRegistrationDate": "2010-05-06",
  "companyForm": "Oy",
  "industryDescription": "Publishing of computer games",
  "registryCode": "2336509",
  "registryCodeName": "Y-tunnus",
  "source": "VIES",
  "checkId": "019d2a8c-5f3a-7d12-a901-bc23de456f78",
  "verifiedAt": "2026-04-16T10:00:00.000Z",
  "consultationNumber": "WAPIAAAAZ27qPadm",
  "countryVat": {
    "vatName": "Arvonlisävero",     // print on Finnish invoices
    "vatAbbr": "ALV",
    "currency": "EUR",
    "standardRate": 25.5,
    "reducedRates": [10, 14],
    "superReducedRate": null,
    "parkingRate": null,
    "vatNumberFormat": "FI + 8 digits",
    "vatNumberPattern": "^FI\d{8}$",
    "countryVatUpdatedAt": "2026-04-16"
  }
}
Company enrichment – not in VatlayercountryVat block – not in Vatlayerconsultation number – not in Vatlayer

Feature Comparison

FeaturevatnodeVatlayer
Local VAT name in response (Mehrwertsteuer, Taxe sur la Valeur Ajoutée, Arvonlisävero…)YesNo
VAT abbreviation (MwSt, TVA, ALV…)YesNo
Super-reduced rate in responseYesNo
Parking rate in responseYesNo
Currency in responseYesNo
VAT monitoring + webhooksFrom €19/moNo
Webhook: VAT_BECAME_INVALIDYesNo
Webhook: COMPANY_NAME_CHANGEDYesNo
Webhook: COMPANY_ADDRESS_CHANGEDYesNo
VAT number format + regex pattern in responseYesNo
National registry fallback + enrichment (tax authority & company registry APIs)YesNot documented
VIES consultation number (audit reference) in API responseYesNot documented
EU VAT validation (VIES)YesYes
Company name + addressYesYes
Company registration date (national registry)YesNot documented
Legal form (GmbH, SAS, AB…)YesNot documented
Industry description (NACE/SNI code)YesNot documented
Standard + reduced ratesYesYes
Audit trail (checkId + verifiedAt timestamp)YesNo
Published uptime SLANoNo
Free tier100 req/mo100 req/mo
Entry paid plan€19/mo — 1,000 req/mo$9.99/mo — 1,000 req/mo
Mid plan—$29.99/mo — 4,000 req/mo
~10,000 requests/mo€49/mo — 10,000 req/mo$99.99/mo — 20,000 req/mo

National Registry Integrations

When the VIES node for a country is down, vatnode falls back to that country's national VAT register wherever one is publicly queryable, so the check still answers instead of returning an error. Fallback runs only against registers that expose VAT registration itself: a company register can list an active business that is not VAT-registered, and deriving a verdict from that would be a false positive.

Separately, when VIES answers but carries no company data, vatnode enriches the response from national company registries – registration date, legal form, industry description and the national registry code. Coverage is per country and moves as registers open up; the coverage page lists which fields each country returns.

Vatlayer queries VIES only, with no documented equivalent for either. When the VIES node for a country is down, you get an error. The source field in every vatnode response tells you which authority answered – VIES, ARES, ANAF, and so on.

Granular Webhook Events

Register a VAT number and vatnode re-checks it on a schedule, sending a webhook when something changes – so your customer records and invoice settings stay current without a re-check job of your own.

VAT_BECAME_INVALID

Customer's VAT registration lapsed — stop applying reverse charge immediately

VAT_BECAME_VALID

Previously invalid number reactivated — update invoice settings

COMPANY_NAME_CHANGED

Legal name changed — update your customer records and invoices

COMPANY_ADDRESS_CHANGED

Registered address changed — update your records for compliance

Rate-Data Freshness

A cheap subscription is only cheap while the data underneath it stays accurate, and EU rates move – Finland raised its standard rate from 24% to 25.5% in September 2024. Vatlayer does not publish a rate-update cadence or changelog we could check (11 September 2026), so we cannot tell you how fresh its data is either way. What we can state about our own side: vatnode syncs from the European Commission TEDB on a daily cron and returns a per-country countryVatUpdatedAt on every response so you can verify freshness yourself rather than take our word for it.

What the Price Premium Actually Buys

Every vatnode response includes a checkId (UUID) and a verifiedAt timestamp. Store both next to the invoice record, and every invoice links back to the exact validation call for support and internal lookups.

Vatlayer returns valid/invalid and a company name, but its public documentation does not describe audit metadata – no documented identifier to attach to an invoice, no documented timestamp proving when the check occurred, and no VIES consultation number even with a requester VAT configured. That is an absence in the documentation rather than a confirmed absence in the product; if the evidence chain matters to you, ask the vendor directly.

Set your own EU VAT as requester in dashboard Account details and vatnode returns the VIES consultation number on qualified checks; Vatlayer has no documented equivalent. The checkId and verifiedAt fields, together with the national registry fallback, are supporting internal record – they show which source you queried and when, but they don't replace the consultation number. Retention requirements vary by country, so confirm yours with a tax advisor.

Questions Buyers Ask

Does Vatlayer return a VIES consultation number?

Its public documentation does not describe one (checked 11 September 2026). That is an absence in the documentation rather than a confirmed absence in the product. If the audit reference matters to your reverse-charge evidence, ask the vendor directly rather than taking a comparison table — ours included — as proof.

Does either vendor publish an uptime SLA?

Neither publishes a contractual SLA. Vatlayer describes availability as around 99.9% while stating it does not offer public statistics; vatnode publishes no uptime figure at all. Treat both as uncommitted.

Switch to vatnode – Free to Start, No Credit Card Required

100 free API calls per month. Drop-in REST API – migrate in minutes.