Cyprus VAT Number Format (CY12345678A)

Φόρος Προστιθέμενης Αξίας (ΦΠΑ) number structure, regex & verified examples

Everything you need to know about Φόρος Προστιθέμενης Αξίας (ΦΠΑ) numbers in Cyprus — they follow the pattern CY + 8 digits + 1 letter (e.g. CY12345678A), and can be verified against VIES. For the rates themselves, see Cyprus VAT rates and their history. Building a check into your app? See the Cyprus VAT API.

The standard ΦΠΑ rate has been 19% since 2014.

EU Member StateΦΠΑ — Φόρος Προστιθέμενης ΑξίαςEUR

VAT Number Format

Structure

CY + 8 digits + 1 letter

Example format

CY12345678A

Regex

^CY\d{8}[A-Z]$

VAT numbers are not case-sensitive – lowercase input is automatically normalised. See how this format compares across all 27 EU countries.

Company and Tax Identifiers in Cyprus

What the registrar, the register and each identifier are called, in every official language and in English. These are names, not numbers.

Company registrar
  • Greek: Τμήμα Εφόρου Εταιρειών και Διανοητικής Ιδιοκτησίας
  • English: Department of Registrar of Companies and Intellectual Property
Company register
  • Greek: Μητρώο Επιχειρηματικών Οντοτήτων
  • English: Business Register
Register number
  • Greek: αριθμός εγγραφής
  • English: registration number
Tax ID
  • Greek: Αριθμός Φορολογικής Ταυτότητας
  • English: Tax Identification Number
VAT ID

No official name confirmed

Each name is checked against the registrar’s or tax authority’s own pages or legal text. The same names ship in eu-vat-rates-data.json and in GET /v1/rates.

What we return for Cyprus

Cypriot VAT numbers are checked against VIES. A valid result also returns company name and address and national tax number (Αριθμός Φορολογικής Ταυτότητας).

  • VIES validation (valid / not valid)
  • Company name & address
  • National registry ID
  • National tax number
  • Founded date
  • Legal form
  • Industry
  • National register answers if VIES is down

See the full coverage table for all 27 EU member states + Northern Ireland →

Check a Cyprus VAT Number

Enter a ΦΠΑ number starting with CY to verify it against VIES.

Format: CY + 8 digits + 1 letter

Example:

Validate a Cyprus CY VAT number via API

Get Cyprus VAT rates via API — free, no key

No API key required
Request
curl "https://api.vatnode.dev/v1/rates/CY"
Response200 OK
{
  "countryCode": "CY",
  "countryName": "Cyprus",
  "isEU": true,
  "vatName": "Φόρος Προστιθέμενης Αξίας",
  "vatAbbr": "ΦΠΑ",
  "currency": "EUR",
  "standardRate": 19,
  "reducedRates": [
    9,
    5
  ],
  "superReducedRate": 3,
  "parkingRate": null,
  "vatNumberFormat": "CY + 8 digits + 1 letter",
  "vatNumberPattern": "^CY\\d{8}[A-Z]$",
  "identifiers": {
    "registryAuthorityName": {
      "el": "Τμήμα Εφόρου Εταιρειών και Διανοητικής Ιδιοκτησίας",
      "en": "Department of Registrar of Companies and Intellectual Property"
    },
    "registryName": {
      "el": "Μητρώο Επιχειρηματικών Οντοτήτων",
      "en": "Business Register"
    },
    "registryCodeName": {
      "el": "αριθμός εγγραφής",
      "en": "registration number"
    },
    "taxIdName": {
      "el": "Αριθμός Φορολογικής Ταυτότητας",
      "en": "Tax Identification Number"
    },
    "vatIdName": null
  },
  "updatedAt": "2026-11-12"
}

View full rates API reference →

Get Cyprus VAT rates via package — offline, no HTTP

eu-vat-rates-data
Request
# npm install eu-vat-rates-data
import { getRate } from 'eu-vat-rates-data'

const rate = getRate('CY')
console.log(rate.standard) // CY standard VAT rate
getRate() result200 OK
{
  "country": "Cyprus",
  "currency": "EUR",
  "eu_member": true,
  "vat_name": "Φόρος Προστιθέμενης Αξίας",
  "vat_abbr": "ΦΠΑ",
  "standard": 19,
  "reduced": [
    5,
    9
  ],
  "super_reduced": 3,
  "parking": null,
  "format": "CY + 8 digits + 1 letter",
  "pattern": "^CY\\d{8}[A-Z]$",
  "identifiers": {
    "registry_authority_name": {
      "el": "Τμήμα Εφόρου Εταιρειών και Διανοητικής Ιδιοκτησίας",
      "en": "Department of Registrar of Companies and Intellectual Property"
    },
    "registry_name": {
      "el": "Μητρώο Επιχειρηματικών Οντοτήτων",
      "en": "Business Register"
    },
    "registry_code_name": {
      "el": "αριθμός εγγραφής",
      "en": "registration number"
    },
    "tax_id_name": {
      "el": "Αριθμός Φορολογικής Ταυτότητας",
      "en": "Tax Identification Number"
    },
    "vat_id_name": null
  }
}

View package on GitHub →

Validate Cyprus CY VAT numbers

Requires API key
Request
curl "https://api.vatnode.dev/v1/vat/CY90000005D" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response200 OK
{
  "valid": true,
  "vatId": "CY90000005D",
  "countryCode": "CY",
  "companyName": "Cyprus Telecommunications Authority (CYTA)",
  "companyAddress": null,
  "companyRegistrationDate": null,
  "companyForm": null,
  "industryDescription": null,
  "registryCode": null,
  "registryCodeName": null,
  "taxId": "90000005D",
  "taxIdName": "Αριθμός Φορολογικής Ταυτότητας",
  "commercialName": null,
  "companyStatus": null,
  "secondaryActivities": [],
  "companyAgeYears": null,
  "registryPrivacy": false,
  "verifiedAt": "2026-04-25T12:00:00.000Z",
  "checkId": "019dc41e-d64d-7255-8ed7-cf5443103cd8",
  "countryName": "Cyprus",
  "countryVat": {
    "vatName": "Φόρος Προστιθέμενης Αξίας",
    "vatAbbr": "ΦΠΑ",
    "currency": "EUR",
    "standardRate": 19,
    "reducedRates": [
      9,
      5
    ],
    "superReducedRate": 3,
    "parkingRate": null,
    "vatNumberFormat": "CY + 8 digits + 1 letter",
    "vatNumberPattern": "^CY\\d{8}[A-Z]$",
    "identifiers": {
      "registryAuthorityName": {
        "el": "Τμήμα Εφόρου Εταιρειών και Διανοητικής Ιδιοκτησίας",
        "en": "Department of Registrar of Companies and Intellectual Property"
      },
      "registryName": {
        "el": "Μητρώο Επιχειρηματικών Οντοτήτων",
        "en": "Business Register"
      },
      "registryCodeName": {
        "el": "αριθμός εγγραφής",
        "en": "registration number"
      },
      "taxIdName": {
        "el": "Αριθμός Φορολογικής Ταυτότητας",
        "en": "Tax Identification Number"
      },
      "vatIdName": null
    },
    "countryVatUpdatedAt": "2026-11-12"
  },
  "consultationNumber": null,
  "specialTerritory": null,
  "source": "VIES"
}

View full API response schema →

Frequently Asked Questions

What is the VAT number format in Cyprus?▾

VAT numbers in Cyprus follow the format: CY + 8 digits + 1 letter. Example: CY12345678A. VAT numbers are not case-sensitive – lowercase input is automatically normalised.

What is the VAT number regex pattern in Cyprus?▾

Use this regular expression to validate VAT numbers in Cyprus ΦΠΑ number format locally:

^CY\d{8}[A-Z]$

Test against the uppercase number. Format validation catches typos locally — always follow with a VIES check to confirm the number is active.

How do I validate a VAT number in Cyprus programmatically?▾

Send a GET request to https://api.vatnode.dev/v1/vat/{vatId} with your Authorization: Bearer header. The API checks the number against VIES and returns a JSON response with a valid field, company name, address, and current ΦΠΑ rates. Free plan available — 100 requests/month, no credit card required.

What does ΦΠΑ stand for in Cyprus?▾

ΦΠΑ stands for Φόρος Προστιθέμενης Αξίας — the Cypriot name for Value Added Tax (VAT). It appears on Cypriot invoices and tax documents.

Validate Cyprus VAT numbers in your app

Use the vatnode API to automate ΦΠΑ validation in your invoicing or checkout flow. Free plan available, no credit card required.