vatnode API Documentation

vatnode is a REST API that validates EU VAT numbers against the official VIES register, with automatic fallback to the national VAT register for covered countries when VIES is unavailable. Each response returns the validity result, company details, VAT rates for that country, and – when you supply your own VAT as requester – a VIES consultation number for your audit trail.

Features

  • Real-time VAT Validation - Verify VAT numbers directly against the EU’s VIES service, one at a time or up to 50,000 per job via bulk validation
  • VAT Rates API - Get current VAT rates for all 45 European VAT jurisdictions (EU-27 plus non-EU like Norway, Switzerland, and the UK). Need rates without an API key? Try the free open-source eu-vat-rates-data package – available for JavaScript, Python, PHP, Go, and Ruby.
  • Smart Caching - Responses are cached for optimal performance
  • Change Monitoring - Subscribe to VAT IDs and receive webhooks on changes (paid plans)
  • MCP Server for AI agents - Connect Claude, Cursor, ChatGPT and other MCP clients to vatnode in 30 seconds. See the MCP guide.

Base URL

All API requests should be made to:

Production
https://api.vatnode.dev/v1

Authentication

Most endpoints require authentication via API key. Include your key in the Authorization header:

Terminal
curl https://api.vatnode.dev/v1/vat/IE6388047V \
  -H "Authorization: Bearer vat_live_your_api_key"

See the Authentication section for details on obtaining and managing API keys.

Quick Example

Terminal
# Validate a VAT number
curl https://api.vatnode.dev/v1/vat/IE6388047V \
  -H "Authorization: Bearer vat_live_..."
Response
{
  "valid": true,
  "vatId": "IE6388047V",
  "countryCode": "IE",
  "countryName": "Ireland",
  "companyName": "GOOGLE IRELAND LIMITED",
  "companyAddress": "3RD FLOOR, GORDON HOUSE, BARROW STREET, DUBLIN 4",
  "companyRegistrationDate": null,
  "companyForm": null,
  "industryDescription": null,
  "registryCode": null,
  "registryCodeName": null,
  "taxId": null,
  "taxIdName": null,
  "commercialName": null,
  "companyStatus": null,
  "secondaryActivities": [],
  "companyAgeYears": null,
  "consultationNumber": null,
  "verifiedAt": "2026-03-26T14:25:57.209Z",
  "checkId": "019d2a89-a5d9-7b97-b710-57b84604de2b",
  "source": "VIES",
  "specialTerritory": null,
  "countryVat": {
    "vatName": "Value Added Tax",
    "vatAbbr": "VAT",
    "currency": "EUR",
    "standardRate": 23,
    "reducedRates": [13.5, 9],
    "superReducedRate": null,
    "parkingRate": null,
    "vatNumberFormat": "IE + 7 digits + 1–2 letters",
    "vatNumberPattern": "^IE\d{7}[A-W][A-IW]?$|^IE\d[A-Z+*]\d{5}[A-W]$",
    "countryVatUpdatedAt": "2026-03-27"
  }
}

Next Steps