Spain VAT Number Format (ESA1234567A)
Impuesto sobre el Valor Añadido (IVA) number structure, regex & verified examples
Everything you need to know about Impuesto sobre el Valor Añadido (IVA) numbers in Spain — they follow the pattern ES + letter/digit + 7 digits + letter/digit (e.g. ESA1234567A), and can be verified against VIES. For the rates themselves, see Spain VAT rates and their history. Building a check into your app? See the Spain VAT API.
VAT Number Format
Structure
ES + letter/digit + 7 digits + letter/digitExample format
ESA1234567ARegex
^ES[A-Z0-9]\d{7}[A-Z0-9]$VAT numbers are not case-sensitive — lowercase input is automatically normalised.
More on Spain
- Spain VAT rates and historyCurrent standard and reduced rates, and every past change.
- Spain VAT validation APIEndpoint, response fields and code samples for this country.
- Spain Reverse charge rulesWhen to zero-rate a cross-border B2B invoice, and what to write on it.
- Spain VIES uptimeAvailability of this country in the Commission database, sampled continuously.
What we return for Spain
- VIES validation (valid / not valid)
- Company name & address
- National registry ID
- Founded date
- Legal form
- Industry
- Works if VIES is down
See the full coverage table for all 27 EU member states + Northern Ireland →
Famous Spain VAT Numbers
Inditex SA
ESA15075062
World's largest fashion retailer (Zara, Massimo Dutti)
Verify →
Telefónica SA
ESA28015865
Global telecom, owner of O2
Verify →
Banco Santander SA
ESA39000013
One of the world's largest banks
Verify →
BBVA SA
ESA48265169
Spanish multinational banking group
Verify →
Repsol SA
ESA78374725
Spanish integrated energy and petrochemicals company
Verify →
Iberdrola SA
ESA48010615
Spain's largest utility and one of the world's biggest renewable energy companies
Verify →
Check a Spain VAT Number
Enter a IVA number starting with ES to verify it against the official VIES database.
Format: ES + letter/digit + 7 digits + letter/digit
Validate a Spain ES VAT number via API
Get Spain VAT rates via API — free, no key
No API key requiredcurl "https://api.vatnode.dev/v1/rates/ES"
{
"countryCode": "ES",
"countryName": "Spain",
"vatName": "Impuesto sobre el Valor Añadido",
"vatAbbr": "IVA",
"standardRate": 21,
"reducedRates": [
10
],
"superReducedRate": 4,
"parkingRate": null,
"vatNumberFormat": "ES + letter/digit + 7 digits + letter/digit",
"vatNumberPattern": "^ES[A-Z0-9]\\d{7}[A-Z0-9]$",
"updatedAt": "2026-08-13"
}Get Spain VAT rates via package — offline, no HTTP
eu-vat-rates-data# npm install eu-vat-rates-data
import { getRate } from 'eu-vat-rates-data'
const rate = getRate('ES')
console.log(rate.standard) // ES standard VAT rate{
"country": "Spain",
"currency": "EUR",
"eu_member": true,
"vat_name": "Impuesto sobre el Valor Añadido",
"vat_abbr": "IVA",
"standard": 21,
"reduced": [
10
],
"super_reduced": 4,
"parking": null,
"format": "ES + letter/digit + 7 digits + letter/digit",
"pattern": "^ES[A-Z0-9]\\d{7}[A-Z0-9]$"
}Validate Spain ES VAT numbers
Requires API keycurl "https://api.vatnode.dev/v1/vat/ESA15075062" \ -H "Authorization: Bearer YOUR_API_KEY"
{
"valid": true,
"vatId": "ESA15075062",
"countryCode": "ES",
"companyName": "Inditex SA",
"companyAddress": null,
"companyRegistrationDate": null,
"companyForm": null,
"industryDescription": null,
"registryCode": null,
"registryCodeName": null,
"verifiedAt": "2026-04-25T12:00:00.000Z",
"checkId": "019dc41e-d64d-7255-8ed7-cf5443103cd8",
"countryName": "Spain",
"countryVat": {
"vatName": "Impuesto sobre el Valor Añadido",
"vatAbbr": "IVA",
"currency": "EUR",
"standardRate": 21,
"reducedRates": [
10
],
"superReducedRate": 4,
"parkingRate": null,
"vatNumberFormat": "ES + letter/digit + 7 digits + letter/digit",
"vatNumberPattern": "^ES[A-Z0-9]\\d{7}[A-Z0-9]$",
"countryVatUpdatedAt": "2026-08-13"
},
"consultationNumber": null
}Frequently Asked Questions
What is the VAT number format in Spain?▾
VAT numbers in Spain follow the format: ES + letter/digit + 7 digits + letter/digit. Example: ESA1234567A. VAT numbers are not case-sensitive — lowercase input is automatically normalised.
What is the VAT number regex pattern in Spain?▾
Use this regular expression to validate VAT numbers in Spain IVA number format locally:
^ES[A-Z0-9]\d{7}[A-Z0-9]$Test against the uppercase number. Format validation catches typos locally — always follow with a VIES check to confirm the number is active.
How do I validate a VAT number in Spain programmatically?▾
Send a GET request to https://api.vatnode.dev/v1/vat/{vatId} with your Authorization: Bearer header. The API checks the number against the official EU VIES database and returns a JSON response with a valid field, company name, address, and current IVA rates. Free plan available — 100 requests/month, no credit card required.
What does IVA stand for in Spain?▾
IVA stands for Impuesto sobre el Valor Añadido — the Spanish name for Value Added Tax (VAT). It appears on Spanish invoices and tax documents.
VAT Number Formats for Other EU Countries
Validate Spain VAT numbers in your app
Use the vatnode API to automate IVA validation in your invoicing or checkout flow. Free plan available, no credit card required.