79trust / 100

Vat

by SiteCheck in Weather & location

x402 APIPassing, checked 59 min ago

EU VAT number check: format and checksum are tested locally first (a malformed number is rejected with HTTP 400 and no charge), then the official VIES service answers whether it is valid, with the registered name and address where the member state discloses them. All 27 EU states plus Northern Ireland (XI). Source: European Commission VIES.

GET https://api.sitecheck-api.workers.dev/api/vat

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
773 ms typical, 906 ms slowest 5%
Last check
59 min ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X GET "https://api.sitecheck-api.workers.dev/api/vat?number=DE811907980"
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%2Fapi.sitecheck-api.workers.dev%2Fapi%2Fvat
const res = await pay("https://api.sitecheck-api.workers.dev/api/vat?number=DE811907980");
console.log(await res.json());

Example input

{
  "number": "DE811907980"
}

Example output

{
  "address": "Musterstrasse 1, 10115 Berlin",
  "checks": {
    "checksum": "verified",
    "format": "ok"
  },
  "countryCode": "DE",
  "formatted": "DE811907980",
  "input": "DE811907980",
  "name": "Example GmbH",
  "requestDate": "2026-10-07T08:52:29.570Z",
  "source": "European Commission VIES (https://ec.europa.eu/taxation_customs/vies/)",
  "valid": true,
  "vatNumber": "811907980",
  "viesStatus": "OK"
}

Security scan

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

Recent checks

WhenResultHTTPTimePrice
59 min agoPassed402694 ms$0.002
4 h agoPassed402906 ms$0.002
8 h agoPassed402716 ms$0.002
11 h agoPassed402808 ms$0.002
15 h agoPassed402924 ms$0.002
19 h agoPassed402822 ms$0.002
22 h agoPassed402142 ms$0.002
27 h agoPassed402637 ms$0.002
30 h agoPassed402845 ms$0.002
33 h agoPassed402773 ms$0.002
38 h agoPassed402686 ms$0.002