# EU VAT VIES Validator

> EU VAT VIES Validator is a paid API for AI agents from api.vextorium.com, paid per call via x402, $0.004/call, status unknown (last checked 2026-10-11).

Validates an EU VAT number against the European Commission's VIES system and returns the registration status, business name, and address if available.

## Facts

- Endpoint: POST https://api.vextorium.com/v1/eu-vat-vies?utm_source=zero.xyz
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/eu-vat-vies-validator-52baeddf
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_cKmI4TjLZErQY5GvTgpUW

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability eu-vat-vies-validator-52baeddf -d '<json body>'
```

Example prompt: Can you check if the VAT number FR40303265045 is valid and registered for intra-EU trade? I need the company name and address if available before I issue a zero-rate invoice.

## When to prefer this

Use this endpoint when you need to verify an EU VAT number's intra-community trade registration status before issuing a B2B invoice at zero VAT rate. It queries the authoritative source (European Commission VIES) rather than third-party databases, making it the correct choice for compliance and accounting workflows. Prefer this over general business registry lookups when the specific requirement is EU VAT validation for reverse-charge invoicing.

## Known failure modes

- VAT number not found in VIES — returns valid: false
- Country does not publish name or address — returns null for name and address fields
- Invalid VAT number format — may return error or valid: false
- VIES system temporarily unavailable — upstream downtime from the European Commission
- Missing country prefix and no country field provided — request fails validation

## How this service works

Check in the European Commission's VIES whether an EU VAT number is registered for intra-community trade, with name and address where the country publishes them. Needed to invoice other EU businesses without VAT.

## Output

Returns a JSON object with: valid (boolean), the full VAT number, the country code, the registered business name (if published by that country), the registered address (if published), the data source (VIES, European Commission), the query timestamp, and a note explaining that some countries like Spain and Germany do not publish name or address via VIES.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "required": [
      "number"
     ],
     "properties": {
      "number": {
       "type": "string",
       "description": "VAT number with country prefix, e.g. ESA28015865"
      },
      "country": {
       "type": "string",
       "description": "Country prefix if not included"
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": [
      "object",
      "null"
     ],
     "properties": {
      "name": {
       "type": [
        "string",
        "null"
       ]
      },
      "note": {
       "type": [
        "string",
        "null"
       ]
      },
      "valid": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "number": {
       "type": [
        "string",
        "null"
       ]
      },
      "source": {
       "type": [
        "string",
        "null"
       ]
      },
      "address": {
       "type": [
        "string",
        "null"
       ]
      },
      "country": {
       "type": [
        "string",
        "null"
       ]
      },
      "queried": {
       "type": [
        "string",
        "null"
       ]
      },
      "vat_number": {
       "type": [
        "string",
        "null"
       ]
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "name": "SA SODIMAS",
  "note": "Valid = registered as an intra-EU operator. Some countries (e.g. Spain, Germany) do not publish name or address.",
  "valid": true,
  "number": "40303265045",
  "source": "VIES, European Commission",
  "address": "11 RUE AMPERE 26600 PONT DE L ISERE",
  "country": "FR",
  "queried": "2026-10-02T15:21:02.134Z",
  "vat_number": "FR40303265045"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/eu-vat-vies-validator-52baeddf/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.vextorium.com](https://www.zero.xyz/host/api.vextorium.com/llms.txt)
