# Factstamp EU VAT Number Validator

> Factstamp EU VAT Number Validator is a paid API for AI agents from agents.factstamp.dev, paid per call via x402, $0.05/call, status unknown (last checked 2026-10-20).

Validates an EU VAT number against the official VIES database, returning validity status, member state, request date, and trader identity where available.

## Facts

- Endpoint: POST https://agents.factstamp.dev/vat?utm_source=zero.xyz
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-20
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/factstamp-eu-vat-number-validator-34c3364b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_3kcOECYv3yAdV-XPtCoZo

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 factstamp-eu-vat-number-validator-34c3364b -d '<json body>'
```

Example prompt: Can you check whether VAT number DE345789013 is currently valid and registered, and tell me who it belongs to if Germany discloses that?

## When to prefer this

Prefer this endpoint when you need a real-time, authoritative check of an EU or Northern Ireland VAT number against the official European Commission VIES system, without needing API keys. It is particularly well-suited for automated invoice processing, B2B onboarding, and compliance workflows where false negatives (reporting valid as invalid due to VIES outage) must be avoided. It correctly handles the GB/XI Brexit distinction and is more reliable than scraping VIES directly.

## Known failure modes

- VIES service temporarily unavailable — returned as 'unknown' rather than 'invalid' to avoid false negatives
- Member state does not disclose trader identity — name/address fields absent in response
- Invalid format for VAT number — may return invalid or error before VIES query
- GB VAT numbers rejected — out of scope post-Brexit
- Transient network errors may delay response

## How this service works

An EU VAT number check — VAT validity, and the VAT registration behind it. Relevant wherever a VAT number is being relied on or cited: the check reads the official VIES service (European Commission), keyless, and returns valid, invalid or unknown — an outage is never reported as invalid — with the member state, the register's own request date, and the trader identity only where that member state discloses it. GB is out of scope after Brexit; XI (Northern Ireland) is covered. Not tax advice.

## Output

A JSON object indicating whether the VAT number is valid, invalid, or the status is unknown (e.g. due to VIES service outage — never reported as invalid on outage). Includes the member state code, the official request date from the VIES register, and where the member state discloses it, the registered trader name and address.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input",
  "output"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "body": {
     "type": "object"
    },
    "type": {
     "const": "http"
    },
    "method": {
     "const": "POST"
    },
    "bodyType": {
     "const": "application/json"
    }
   },
   "additionalProperties": true
  },
  "output": {
   "type": "object",
   "required": [
    "type",
    "example"
   ],
   "properties": {
    "type": {
     "const": "json"
    },
    "example": {
     "type": "object"
    }
   },
   "additionalProperties": true
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/factstamp-eu-vat-number-validator-34c3364b/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.factstamp.dev](https://www.zero.xyz/host/agents.factstamp.dev/llms.txt)
