VAT Number Format Check
Check European VAT number formats against country patterns. Returns the country and format result without checking registration or check digits.
Pay by wallet (x402)
vat-format-validate Example
Input
{
"vat_number": "SE556703748501"
} Answer
{
"note": "Format is valid. Use vat-validate for full VIES verification.",
"valid": true,
"vat_number": "SE556703748501",
"country_code": "SE",
"country_name": "Sweden",
"format_valid": true,
"expected_format": "SE123456789012"
} Inputs
| Field | Type | Required | What it is |
|---|---|---|---|
vat_number | string | Yes | VAT number including country prefix (e.g. SE556703748501) |
Output fields
How reliably each field appears in a successful answer.
| Field | Type | Appears |
|---|---|---|
valid | boolean | Always (present in every successful answer) |
vat_number | string | Always (present in every successful answer) |
country_code | string | Always (present in every successful answer) |
country_name | string | Always (present in every successful answer) |
format_valid | boolean | Always (present in every successful answer) |
How to call it
The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.
# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
-H "Authorization: Bearer $STRALE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"capability_slug": "vat-format-validate",
"inputs": {
"vat_number": "SE556703748501"
},
"max_price_cents": 2
}' {
"tool": "strale_execute",
"arguments": {
"slug": "vat-format-validate",
"inputs": {
"vat_number": "SE556703748501"
},
"max_price_cents": 2
}
} import { Strale } from "straleio";
const strale = new Strale({ apiKey: process.env.STRALE_API_KEY! });
const result = await strale.do({
capability_slug: "vat-format-validate",
inputs: {
"vat_number": "SE556703748501"
},
max_price_cents: 2,
}); import os
from straleio import Strale, DoRequest
strale = Strale(api_key=os.environ["STRALE_API_KEY"])
result = strale.do(DoRequest(
capability_slug="vat-format-validate",
inputs={
"vat_number": "SE556703748501",
},
max_price_cents=2,
)) # No account. The first request answers 402 with the price in USDC;
# an x402 client pays it from your wallet and repeats the request.
curl -i 'https://api.strale.io/x402/v2/vat-format-validate?vat_number=SE556703748501' Limitations
Format checks do not confirm VAT registration
Validates the number format against country patterns only. It does not check check digits or confirm that the number is registered or active
What to do instead: Use vat-validate for VIES database confirmation after format validation passes
Bundled checks that include it
- Invoice Verify — Sweden €2.50
- Invoice Verify — Norway €2.50
- Invoice Verify — Finland €2.50
- Invoice Verify — United Kingdom €2.50
- Invoice Verify — Germany €2.50
- Invoice Verify — France €2.50
- Invoice Verify — Belgium €2.50
- Invoice Verify — Austria €2.50
- Invoice Verify — Ireland €2.50
- Invoice Verify — Spain €2.50
- Invoice Verify — Switzerland €2.50
- Invoice Verify — Poland €2.50
- Invoice Verify — Croatia €2.50
- Invoice Verify — Greece €2.50
Related tools
- Address Validation €0.03
- Age Check €0.02
- Bank BIC Lookup €0.05
- Bulk Email Validation €0.15
- Business Day Check €0.02
- Company ID Detection €0.05