81trust / 100

Proxy Vat Validate

by EU VAT Number Validation in Company & people data

x402 APIPassing, checked 2 h ago

Validate an EU VAT identification number live against the official EU VIES service, with registered company name and address where the member state discloses them. Checks the national format first. Not charged if the member state service is temporarily unavailable. Params: vat_number (with country prefix, e.g. NL004495445B01, DE811569869) or vat_number + country_code.

POST https://agentsvc.io/api/v1/proxy/vat-validate

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
31 ms typical, 31 ms slowest 5%
Last check
2 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://agentsvc.io/api/v1/proxy/vat-validate" \
  -H "content-type: application/json" \
  -d '{"vat_number":"NL004495445B01"}'
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%2Fagentsvc.io%2Fapi%2Fv1%2Fproxy%2Fvat-validate
const res = await pay("https://agentsvc.io/api/v1/proxy/vat-validate", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"vat_number":"NL004495445B01"}),
});
console.log(await res.json());

Example input

{
  "vat_number": "NL004495445B01"
}

Example output

{
  "data": {
    "address": "VOLDERSGRACHT 00001, 2611ET DELFT",
    "checked_at": "2026-10-06T14:17:43.626Z",
    "country_code": "NL",
    "format_valid": true,
    "full_vat_number": "NL004495445B01",
    "name": "OPENJONGERENVERENIGING DE KOORNBEURS",
    "source": "EU VIES",
    "valid": true,
    "vat_number": "004495445B01"
  },
  "success": true
}

Security scan

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

Recent checks

WhenResultHTTPTimePrice
2 h agoPassed402100 ms$0.0045
7 h agoPassed40231 ms$0.0045