81trust / 100

Eu Vat

by agentdata-api.sander-van-aard.workers.dev in Company & people data

x402 APIPassing, checked 25 min ago

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.

POST https://agentdata-api.sander-van-aard.workers.dev/eu/vat

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
125 ms typical, 125 ms slowest 5%
Last check
25 min ago
Next check
in 7 min

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://agentdata-api.sander-van-aard.workers.dev/eu/vat" \
  -H "content-type: application/json" \
  -d '{"mode":"fast","vat_number":"NL123456789B01"}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fagentdata-api.sander-van-aard.workers.dev%2Feu%2Fvat
const res = await pay("https://agentdata-api.sander-van-aard.workers.dev/eu/vat", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"mode":"fast","vat_number":"NL123456789B01"}),
});
console.log(await res.json());

Example input

{
  "mode": "fast",
  "vat_number": "NL123456789B01"
}

Example output

{
  "checked_at": "2026-07-13T08:00:00.000Z",
  "query": {
    "mode": "fast",
    "vat_number": "NL123456789B01"
  },
  "vat": {
    "registered_name": "EXAMPLE B.V.",
    "validation_type": "live",
    "vies_status": "confirmed"
  }
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
25 min agoPassed402223 ms$0.002
4 h agoPassed402125 ms$0.002
9 h agoPassed40259 ms$0.002