Get VAT rates for a single country
Return VAT rates for a single country by ISO 3166-1 alpha-2 code (case-insensitive). Public endpoint — no API key required. Same rate limit and cache semantics as `GET /v1/rates`.
30 requests per hour per IP · demo key used automatically
Path parameters
countryrequiredstringTwo-letter ISO 3166-1 alpha-2 country code (case-insensitive).
deResponse
Country rate object
datarequiredobjectcountry_coderequiredstringISO 3166-1 alpha-2 code, lowercase.
decountry_namerequiredstringEnglish country name.
Germanycountry_name_localrequiredstringCountry name in its official local language.
DeutschlandcurrencyrequiredstringISO 4217 currency code used for invoicing in this country.
EURis_eu_memberrequiredbooleanTrue for the 27 EU member states plus XI (Northern Ireland under the Brexit protocol).
truesupports_live_validationrequiredbooleanTrue when /v1/validate can verify a VAT number for this country against a live registry.
truestandard_raterequirednumberStandard VAT rate as a percentage, e.g. 19 for 19%.
19reduced_ratesrequiredarray<number>Ordered array of reduced rates; empty if none.
[7]super_reduced_raterequirednumber | nullSuper-reduced rate if applicable, otherwise null.
nullparking_raterequirednumber | nullTransitional parking rate if applicable, otherwise null.
nullvat_namerequiredstringLocal tax name in the country language.
Umsatzsteuervat_abbrrequiredstringLocal tax abbreviation.
UStvat_number_formatrequiredstringHuman-readable description of the VAT number format.
DE + 9 digitsvat_number_regexrequiredstringRegex pattern for client-side format validation.
^DE\d{9}$registration_thresholdrequiredobject | nullVAT registration thresholds; null when we do not track thresholds for this country.
domesticrequirednumber | nullRevenue above which a seller based in this country must register for VAT. Null when no threshold exists (VAT mandatory from €0) or when we do not track a threshold for this country.
22000distance_sellingrequirednumber | nullEU-wide OSS cross-border B2C threshold (uniform €10,000 since July 2021). Null for non-EU countries.
10000currencyrequiredstringISO 4217 currency for the thresholds.
EURupdated_atrequiredstringISO date (YYYY-MM-DD) of the last verified refresh for this country row. Not a full datetime — precision is day-level.
2026-04-13metarequiredobjectrequest_idrequiredstringUUID v7 identifying this specific HTTP request.
0190f8ea-a5b2-7000-a123-000000000000data_versionrequiredstringISO date (YYYY-MM-DD) of the underlying rates dataset. Use as an ETag key.
2026-04-13cachedrequiredbooleanAlways true for /v1/rates — data is loaded in-process at startup.
trueError responses
import { Vatverify } from '@vatverify/node';
const client = new Vatverify();
const result = await client.getRate();{
"data": {
"country_code": "de",
"country_name": "Germany",
"country_name_local": "Deutschland",
"currency": "EUR",
"is_eu_member": true,
"supports_live_validation": true,
"standard_rate": 19,
"reduced_rates": [
7
],
"super_reduced_rate": null,
"parking_rate": null,
"vat_name": "Umsatzsteuer",
"vat_abbr": "USt",
"vat_number_format": "DE + 9 digits",
"vat_number_regex": "^DE\\d{9}$",
"registration_threshold": {
"domestic": 22000,
"distance_selling": 10000,
"currency": "EUR"
},
"updated_at": "2026-04-13"
},
"meta": {
"request_id": "0190f8ea-a5b2-7000-a123-000000000000",
"data_version": "2026-04-13",
"cached": true,
"latency_ms": 47
}
}Liveness probe
Returns { ok: true } when the server is up. No authentication required.
List VAT rates for all 44 countries
Return VAT rates for all 44 countries in our dataset (EU-27 + XI + 16 non-EU European states). Public endpoint — no API key required. Rate-limited to 20 requests per hour per IP. Response body is cacheable (`Cache-Control: public, max-age=3600, stale-while-revalidate=86400`). Clients should honor the `ETag` and use `If-None-Match` for conditional GETs to avoid hitting the limit.