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.


Did this page help you?