VAT Number Validation Tool Documentation

100% Free to Use Everywhere
Web interface, API access, and all features are completely free. No credit card or API key required.

1. Introduction

The VAT Number Validation Tool is a powerful, free service designed to verify the validity and format of VAT (Value Added Tax) numbers across the European Union and United Kingdom. Whether you're a developer integrating VAT validation into your application or a business user needing quick manual verification, our tool provides instant, accurate results.

✓ 27 EU Countries + UK

Full support for all EU member states and UK (including Northern Ireland)

✓ Real-Time Validation

Instant format validation with sub-second response times

✓ Free REST API

No rate limits, no usage fees, no credit card required

✓ Company Details

Get business name and address when available

2. Quick Start

Get started in seconds with our simple API. No authentication required!

cURL - Quick Test
curl "https://softwaresphere.ca/tools/VATNumberValidationTool/api.php?vat_number=DE123456789"

That's it! The API returns a JSON response with validation results, country information, and format details.

3. Web Interface

For manual validation, use our beautiful web interface at the Try page. No login or API key required.

How to Use:

  1. Navigate to the Try page
  2. Enter the VAT number including the country prefix (e.g., DE123456789)
  3. Click "Validate" to get instant results
  4. View company details, format information, and ISO codes
  5. Copy the JSON response for your records

4. API Integration

Integrate VAT validation into your application using our REST API.

Endpoint

Base URL
GET/POST https://softwaresphere.ca/tools/VATNumberValidationTool/api.php

Parameters

Parameter Type Required Description
vat_number string Required The VAT number to validate (include country prefix)
vat string Optional Alias for vat_number parameter

5. Batch Validation

For validating multiple VAT numbers, you can make concurrent API requests. Since there are no rate limits, you can process large batches efficiently.

JavaScript - Batch Validation
const vatNumbers = ['DE123456789', 'NL853746333B01', 'FR12345678901'];
const results = await Promise.all(
    vatNumbers.map(vat =>
        fetch(`https://softwaresphere.ca/tools/VATNumberValidationTool/api.php?vat_number=${vat}`)
            .then(res => res.json())
    )
);
results.forEach(result => {
    console.log(`${result.vatNumber}: ${result.valid ? 'Valid' : 'Invalid'}`);
});

6. Response Format

All API responses are returned in JSON format with the following structure:

Example Response
{
    "success": true,
    "input": "DE123456789",
    "vatNumber": "DE123456789",
    "valid": true,
    "validFormat": true,
    "country": {
        "name": "Germany",
        "isoCode": {
            "short": "DE",
            "long": "DEU",
            "numeric": "276"
        }
    },
    "company": {
        "name": "Format validated - use VIES for company details",
        "address": "N/A"
    },
    "format": "DE + 9 digits",
    "example": "DE123456789",
    "message": "VAT number format is valid for Germany"
}

Response Fields

Field Type Description
successbooleanWhether the API call completed successfully
validbooleanWhether the VAT number format is valid
validFormatbooleanWhether the format matches country requirements
country.namestringFull country name
country.isoCode.shortstringISO 3166-1 alpha-2 code
country.isoCode.longstringISO 3166-1 alpha-3 code
country.isoCode.numericstringISO 3166-1 numeric code
company.namestringCompany name (when available)
company.addressstringCompany address (when available)
formatstringExpected format description
examplestringExample VAT number for the country
messagestringHuman-readable status message

7. Country Formats

Each EU country has a specific VAT number format. Here are the supported formats:

Country Code Format Example
🇦🇹 AustriaATATU + 8 digitsATU12345678
🇧🇪 BelgiumBEBE + 10 digitsBE0123456789
🇩🇪 GermanyDEDE + 9 digitsDE123456789
🇫🇷 FranceFRFR + 11 charactersFR12345678901
🇬🇧 United KingdomGBGB + 9 or 12 digitsGB123456789
🇮🇹 ItalyITIT + 11 digitsIT12345678901
🇳🇱 NetherlandsNLNL + 12 charactersNL123456789B01
🇪🇸 SpainESES + 9 charactersESX12345678
🇵🇱 PolandPLPL + 10 digitsPL1234567890
🇬🇧 Northern IrelandXIXI + 9 or 12 digitsXI123456789

For a complete list of all 28 supported countries, see the API documentation.

8. Error Handling

The API returns helpful error messages when validation fails:

Invalid Country Code Response
{
    "success": false,
    "error": "Unknown country code",
    "message": "The country prefix 'XX' is not recognized"
}
Invalid Format Response
{
    "success": true,
    "valid": false,
    "validFormat": false,
    "message": "VAT number format is invalid for Germany. Expected: DE + 9 digits"
}

9. Code Examples

Python

python
import requests
def validate_vat(vat_number):
    response = requests.get(
        'https://softwaresphere.ca/tools/VATNumberValidationTool/api.php',
        params={'vat_number': vat_number}
    )
    return response.json()
result = validate_vat('DE123456789')
print(f"Valid: {result['valid']}")
print(f"Country: {result['country']['name']}")

PHP

php
<?php
$vatNumber = 'NL853746333B01';
$url = "https://softwaresphere.ca/tools/VATNumberValidationTool/api.php?vat_number=" . urlencode($vatNumber);
$response = file_get_contents($url);
$result = json_decode($response, true);
echo "Valid: " . ($result['valid'] ? 'Yes' : 'No') . "\n";
echo "Country: " . $result['country']['name'] . "\n";
?>

Node.js

javascript
const axios = require('axios');
async function validateVAT(vatNumber) {
    const response = await axios.get(
        'https://softwaresphere.ca/tools/VATNumberValidationTool/api.php',
        { params: { vat_number: vatNumber } }
    );
    return response.data;
}
validateVAT('FR12345678901').then(result => {
    console.log(`Valid: ${result.valid}`);
    console.log(`Country: ${result.country.name}`);
});

10. Frequently Asked Questions

Is this service really free?

Yes! The VAT Number Validation Tool is 100% free with no rate limits, no usage fees, and no hidden charges. Use it as much as you need.

Do I need an API key?

No! No API key is required for any usage - web interface or API. Just call the endpoint directly.

Which countries are supported?

All 27 EU member states plus the United Kingdom (GB) and Northern Ireland (XI) are supported.

Does this validate the business registration?

This tool validates the VAT number format. For official VIES (VAT Information Exchange System) validation against EU databases, we recommend using the EU's official VIES service in conjunction with our format validation.

Can I use this in production?

Absolutely! The API is designed for production use with high availability and no rate limits.