Cyprus VAT API — Validate Cyprus VAT Numbers in Real Time
REST JSON endpoint for verifying Φόρος Προστιθέμενης Αξίας (ΦΠΑ) numbers against the official EU VIES register, with national registry fallback where available and a VIES consultation number on every successful check.
Why a Cyprus-aware VAT API
In Cyprus, VAT is known as Φόρος Προστιθέμενης Αξίας (ΦΠΑ) and the current standard rate is 19%. Every Cyprus VAT number starts with the prefix CY and follows a fixed structure issued by the Cyprus tax authority. A generic VAT validator that ignores country-specific quirks will accept malformed input, miss the country's format rules, and fail to surface the local registry identifier that accountants and auditors actually need.
The vatnode API normalises ΦΠΑ input, runs the official VIES check, and returns a single JSON shape with the consultation number, company data where published, and the current Cyprus VAT rates inline.
Cyprus VAT number format
CY + 8 digits + 1 letter^CY\d{8}[A-Z]$Real Cyprus VAT numbers you can validate right now:
- CY90000005D — Cyprus Telecommunications Authority (CYTA)
- CY99000230P — Wargaming Group Limited
- CY10200585J — eToro (Europe) Limited
Validating Cyprus VAT numbers — code examples
All three examples validate the same Cyprus VAT number CY90000005D.
curl https://api.vatnode.dev/v1/vat/CY90000005D \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch(
'https://api.vatnode.dev/v1/vat/CY90000005D',
{ headers: { Authorization: `Bearer ${process.env.VATNODE_API_KEY}` } }
)
const data = await res.json()
console.log(data.valid, data.companyName, data.consultationNumber)import os, httpx
r = httpx.get(
"https://api.vatnode.dev/v1/vat/CY90000005D",
headers={"Authorization": f"Bearer {os.environ['VATNODE_API_KEY']}"},
)
data = r.json()
print(data["valid"], data["companyName"], data["consultationNumber"])What you get back
A successful response for a valid Cyprus VAT number looks like this:
{
"valid": true,
"vatId": "CY90000005D",
"countryCode": "CY",
"countryName": "Cyprus",
"companyName": "Cyprus Telecommunications Authority (CYTA)",
"consultationNumber": "WAPIAAAAXk7ZpY3o",
"source": "VIES",
"countryVat": {
"currency": "EUR",
"standardRate": 19,
"reducedRates": [5,9],
"superReducedRate": 3,
"parkingRate": null
},
"verifiedAt": "2026-05-19T08:14:22Z"
}When the number is not registered, valid is false and company fields are null. The consultationNumber is the EU VIES requestIdentifier — the documented audit reference for reverse-charge "reasonable care" evidence.
Cyprus VAT rates
vatnode returns the current Cyprus ΦΠΑ rates inline with every successful response. Today's rates (standard 19%, reduced 5%, 9%, super-reduced 3%) are sourced from the European Commission TEDB feed and refreshed daily.
| Rate type | Value |
|---|---|
| Standard | 19% |
| Reduced (1) | 5% |
| Reduced (2) | 9% |
| Super-reduced | 3% |
VIES vs national fallback for Cyprus
For Cyprus, VIES is the sole authoritative source. vatnode does not run a national-registry fallback for this country today — when VIES is unavailable, the API surfaces a structured VIES_UNAVAILABLE error with retry guidance so you can degrade gracefully rather than silently accept unverified numbers.
Cached VIES responses (15-minute TTL on identical VAT IDs) absorb the majority of short outages transparently. For the full per-country fallback status, see the coverage matrix.
Cyprus VAT API — FAQ
Is the Cyprus VAT number the same as the company registration number?
No. The Cyprus ΦΠΑ number is issued for VAT purposes and is distinct from any local company registration number. vatnode returns the ΦΠΑ number plus, when available, the registry identifier filed with the national company registry.
How fast is Cyprus VAT validation through vatnode?
Cached responses return in single-digit milliseconds. Live VIES lookups for Cyprus typically complete in under one second; a 15-minute Redis cache is applied to identical VAT IDs.
Does the API work for Cyprus sole traders and small businesses?
Yes. If a Cyprus sole trader or small business is registered for ΦΠΑ and listed in VIES, vatnode validates the number and returns the same response shape as for corporate entities. The valid field is true regardless of legal form.
Does vatnode handle Cyprus VIES outages?
vatnode caches recent VIES responses and surfaces a clear VIES_UNAVAILABLE error code with structured retry guidance. Cyprus does not have a national registry adapter today, so during a VIES outage validation defers to the cached result or returns the error for safe handling.
What is the consultation number returned for Cyprus checks?
The consultationNumber is the VIES requestIdentifier — a unique reference issued by the EU VIES service that proves the check was performed against the official EU register on a specific date. It is the EU's documented mechanism for "reasonable care" evidence under the reverse-charge rules and is returned on every successful VIES validation, including Cyprus.
See also
Start validating Cyprus VAT numbers
100 validations per month on the free plan, no credit card required. REST JSON over HTTPS, VIES consultation number on every check, EU-hosted by default.