EU VAT validation API for AI agents
Every intra-EU B2B invoice legally requires a valid VAT number - an invalid one can make the reverse-charge mechanism inapplicable and expose you to tax reassessment. This endpoint checks any EU VAT number in real time against VIES, the European Commission's official system.
Answers are minimal by design (valid / not valid + request timestamp) and GDPR-clean. Agents pay $0.005 per check in USDC - no registration, perfect for billing and compliance automations that verify at invoice time.
Endpoint
GET /v1/eu/vat-check — $0.005 per call (USDC on Base, x402). Also available as the MCP tool validate_vat_eu on https://data.greeneris.io/mcp.
Parameters
| Param | Description |
|---|---|
cc | Member state code, e.g. FR, DE, IE (also EL, XI) |
vat | VAT number without the country prefix, e.g. 6388047V |
Example
curl -i "https://data.greeneris.io/v1/eu/vat-check?cc=IE&vat=6388047V"
# HTTP/1.1 402 Payment Required + machine-readable quote
# (any x402 client pays the quote and retries automatically)Or pay and read the answer from code (pip install "x402[httpx,evm]"):
import asyncio, os
from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402HttpxClient
from x402.mechanisms.evm.exact import register_exact_evm_client
buyer = Account.from_key(os.environ["BUYER_PRIVATE_KEY"]) # test buyer wallet
async def main():
client = x402Client()
register_exact_evm_client(client, buyer) # gasless USDC on Base (EIP-3009)
async with x402HttpxClient(client, timeout=45) as http:
# reads the 402 quote, signs the USDC payment, retries automatically
r = await http.get("https://data.greeneris.io/v1/eu/vat-check?cc=IE&vat=6388047V")
print(r.status_code, (await r.aread()).decode())
asyncio.run(main())Response after payment:
{"ok": true, "data": {"country_code": "IE", "vat_number": "6388047V", "is_valid": true, "request_date": "2026-07-14T09:12:03Z"}}What agents use it for
- Validate the customer's VAT number at invoice-generation time
- Batch-check supplier master data for stale or wrong VAT numbers
- Gate reverse-charge invoicing on a live VIES confirmation
Source & freshness
| Official source | VIES, the European Commission's official VAT number exchange system |
|---|---|
| Update cadence | Checked against VIES on a cache miss, then cached 24h; every answer carries the VIES request_date it was obtained with |
How payment works
Call the endpoint: you get HTTP 402 with a signed quote (price, receiving address, network). Your agent pays a few tenths of a cent in USDC on Base (gasless, EIP-3009) and retries - one round trip, no account, no API key. Settlement only happens after a successful answer. Full catalog: llms.txt.