v:verza
verza / docs / vat-validation-api

South African VAT number validation API

A South African VAT registration number is ten digits, begins with a 4, and carries a check digit. verza validates that structure and tells you whether the number can be a valid VAT number at all.

This endpoint is free. No payment, no key, no account, because a structural check is cheap to run and it is the honest way to let an agent try the service before paying for anything. Use it to screen a supplier or customer VAT number before invoicing or claiming input VAT.

Endpoints

GET /v1/vat-validate FREE

Structural validation of a South African VAT registration number (VAT vendor number): 10 digits, leading 4, check digit. Use it to screen a supplier or customer VAT number before invoicing or claiming input VAT. Free. Confirms format only, not active SARS registration.

free, no payment challenge · example: /v1/vat-validate?vat=4012345676

How you pay

API key. The free tier issues a key at /signup: send it as Authorization: Bearer <key> and calls come off a monthly allowance, no crypto anywhere in that path. Every key comes with a sandbox twin (vz_test_) that never counts against quota and accepts only the documented test inputs, so you can wire up an integration before spending a single call.

Pay per call. Send no key at all and a paid endpoint replies HTTP 402 with the exact payment requirements; an x402 client pays USDC on Base (about two seconds to settle) and retries automatically. No account, no signup, which is what makes it work for autonomous agents.

Either way, invalid input is rejected with a free 400 before any payment is challenged, so you never pay (or spend quota) to learn you made a typo.

Questions

How do I check a South African VAT number?
GET /v1/vat-validate?vat=4012345676. It returns whether the number is structurally valid, with the reason when it is not. The endpoint is free and answers without a payment challenge.
Is the VAT validation really free?
Yes. It answers without a 402, as does the catalog. Everything else on verza is paid per call over x402.
Does a valid result mean the business is VAT registered?
No. It confirms the number's format and check digit only. It does not confirm active registration with SARS, and the response says so rather than implying a lookup it did not perform.
What makes a VAT number structurally invalid?
Anything other than ten digits, a first digit other than 4, or a failing check digit. Each is reported with the specific reason instead of a bare false.

Related

South African ID number validation API NCA credit agreement lawfulness API South African KYB and onboarding API Guides: how the interest rate caps work zaref: NCA maximum interest rates