EU VAT number validation (VIES) with predictable behavior for agents
EU VAT number validation (VIES) with predictable behavior for agents. Validates any EU VAT number against the European Commission's VIES service. Two modes: fast validation (may serve a cached result, labeled with its timestamp) and consultation-proof mode (always live, returns the official consultation number, requires requester identification). 'Not confirmed' does not imply the company is invalid. Machine-readable errors with per-member-state availability status.
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://agentdata-api.sander-van-aard.workers.dev/eu/vat
| Category | Company and compliance |
|---|---|
| Provider host | agentdata-api.sander-van-aard.workers.dev |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-27 | valid payment request | 402 | $0.002 | 75 ms |
Example input (from the provider)
{
"body": {
"mode": "fast",
"vat_number": "NL123456789B01"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"queryParams": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}