Cyprus VAT number format

A Cyprus VAT identification number is the prefix CY followed by 8 digits + 1 letter; CY10259033P is a well-formed example. The national check digit is public, so a mistyped number is caught before VIES is asked. Structure as published in the Commission’s VIES FAQ, consulted 2026-10-24.

Structure

Prefix CY, then 8 digits + 1 letter. The regular expression the API applies to the part after the prefix is ^[0-9]{8}[A-Z]$; letters are upper-cased and spaces, dots and dashes removed before the test.

Country prefixStructureExamplePublic check digit
CY8 digits + 1 letterCY10259033Pyes, verified before VIES

The check digit

Cyprus publishes the algorithm of its check digit, so an impossible number is refused before VIES is asked: the answer says structure.checksum: "failed", costs nothing and reaches no upstream. The same algorithms are implemented by the open libraries (jsvat, python-stdnum).

How to validate it

The structure says whether a string can be a Cyprus VAT number; only VIES says whether it is registered. The free check below asks VIES live and shows the registered name and address where Cyprus publishes them; the API does the same from your code.

curl — validate CY10259033P on VIES
curl "https://veriport.io/api/v1/vat/validate?number=CY10259033P"

What a valid answer proves

That the number was registered for intra-EU trade at the moment of the check. Keep the date and, on paid tiers, the VIES consultation number: together they are the evidence a tax audit asks for when an intra-EU supply was zero-rated.

Questions

How many digits does a Cyprus VAT number have?
8 digits + 1 letter, after the two-letter prefix CY: CY10259033P is an example.
Is CY10259033P a real VAT number?
It is a well-formed example used in the documentation; whether it is registered today is VIES’s answer, not this page’s. Check it with the free tool.

Free: VIES asked live, the answer dated and sourced.

Check a VAT number

Sources