apyhub
DATA VALIDATION · FINANCE

Validate EU VAT Batch API

Hosted on ApyHub

What it does

VAT Batch Validator checks up to 10 VAT numbers in a single request and returns a per-item result for each one.

Send a vat_numbers array of strings in the request body. The response returns a data array, where each item includes the original vat and a boolean valid flag. If a lookup fails for a specific item, that entry can also include an error string so you can separate invalid numbers from verification issues.

Use VAT Batch Validator when you need to screen customer, supplier, or invoice records before storing them, billing them, or routing them into a tax workflow. Batch validation is useful for import jobs, CRM cleanup, and checkout or onboarding flows where you want to catch bad VAT numbers early without making one request per record.

The service is limited to small batches, so it fits lightweight validation pipelines and UI-driven checks where fast, structured feedback matters.

POST
Validate VAT numbers in batch
http://localhost:8080/apyhub/validate-vat-batch
QUICKSTARTGUIDE

Quickstart

Check a batch of VAT numbers by sending them as a JSON array.

curl -X POST "http://localhost:8080/apyhub/validate-vat-batch" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"vat_numbers":["DE345789108","GB123456789","FR12345678901"]}'

What you'll get back

Returns a JSON object with a data array. Each item in data is an object with vat (the VAT number checked), valid (a boolean), and optionally error when lookup fails for that item.

{
  "data": [
    { "vat": "NL862735944B01", "valid": true },
    { "vat": "GB123456789", "valid": false },
    { "vat": "FR12345678901", "valid": true }
  ]
}
TRY ITLIVE · 100 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
vat_numbers*

About this endpoint

What it does

Validates a batch of VAT numbers sent in the request body and returns a result item for each VAT number in the input list. Each result includes the VAT number and whether it is valid; an error field is included only when lookup fails for that item.

Request Body

ParameterTypeMandatoryDescription
vat_numbersString ArrayYesA list of VAT numbers to validate. Minimum 1 item, maximum 10 items.

Response

Returns a JSON object with a data array field. Each array item is an object containing a vat string field, a valid boolean field, and an optional error string field that is present only when lookup failed for that item.

ParameterTypeMandatoryDescription
dataObject ArrayNoArray of validation results, one per input VAT number.
data[].vatStringNoThe VAT number being validated.
data[].validBooleanNoWhether the VAT number is valid.
data[].errorStringNoPresent only when lookup failed for this item.

Body

Name
Type
Description
bodyREQUIRED
object
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.