Bulk Validation

Validate high volumes of tax numbers in a single request.

Bulk validation enables high-volume validation of business tax numbers. Use this endpoint to clean up existing validation data or periodically revalidate data to help maintain accuracy.

Bulk validation uses the following requests:

Bulk validation

Here's what happens during bulk validation in the service:

  1. Send a Validate Tax Number request to the service.
{
  "items": [
    {"input": {"tax_number": "123456789", "country_code": "PL"}},
    {"input": {"tax_number": "123456789", "country_code": "GB"}},
  ]
  1. The service returns the response.
  2. Send a Poll Results request to retrieve the validation results.
{
  "items": [
    {
      "id": "ANKpMhAXMAA="
    },
    {
      "id": "ANKpMhAYMAA="
    },
  ]
}
  1. The service returns the validation results from the initial request, including the id and request_id properties.
  2. Send a Poll Last Seen Result request with CMGpMhACMAA specified in the last-seen-id property.
{
  "items": [
    {
      "status": "processed",
      "request_id": "ANKpMhAXMAA=",
      "id": "CMGpMhACMAA=",
      "output": {
        "buyer_tax_number_valid": false,
        "buyer_tax_number_format_valid": false,
        "buyer_tax_number_validation_info": "tax-number-syntax-invalid"
        }
      },
      {
        "status": "processed",
        "request_id": "ANKpMhAYMAA=",
        "id": "CMGpMhAFMAA=", 
        "output": {
          "buyer_tax_number_valid": false,
          "buyer_tax_number_format_valid": true,
          "buyer_tax_number_validation_info": "tax-number-invalid-according-to-external-service",
          "buyer_tax_number_normalized": "123456789",
          "buyer_tax_number_service_cache_used": true,
          "buyer_tax_number_service_cache_timestamp": "2026-01-15T14:29:54Z",
          "tax_number_service": "tax.service.gov.uk.api"
        }
      }
  ]
  1. The service returns the current validation status in the response.
"items": [
  {
    "status": "processed",
    "request_id": "ANKpMhAXMAA=",
    "id": "CMGpMhACMAA=",
    "output": {
      "buyer_tax_number_valid": false,
      "buyer_tax_number_format_valid": false,
      "buyer_tax_number_validation_info": "tax-number-syntax-invalid"
      }
    },
    {
      "status": "processed",
      "request_id": "ANKpMhAYMAA=",
      "id": "CMGpMhAFMAA=", 
      "output": {
        "buyer_tax_number_valid": false,
        "buyer_tax_number_format_valid": true,
        "buyer_tax_number_validation_info": "tax-number-invalid-according-to-external-service",
        "buyer_tax_number_normalized": "123456789",
        "buyer_tax_number_service_cache_used": true,
        "buyer_tax_number_service_cache_timestamp": "2026-01-15T14:29:54Z",
        "tax_number_service": "tax.service.gov.uk.api"
        }
    }
  ]

Considerations

Some country services in the VAT Information Exchange System (VIES) have scheduled downtime, which can delay bulk validation processing. For more information, see Unavailability of VAT Information Exchange System.