Romania VAT API — Validate Romania VAT Numbers in Real Time
REST JSON endpoint for verifying Taxa pe valoarea adăugată (TVA) numbers against the official EU VIES register, with national registry fallback where available and a VIES consultation number once you set your own VAT as requester in dashboard Settings.
Why a Romania-Aware VAT API
In Romania, VAT is known as Taxa pe valoarea adăugată (TVA) and the current standard rate is 21%. Every Romania VAT number starts with the prefix RO and follows a fixed structure issued by the Romanian 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 TVA input, runs the official VIES check, falls back to the Romanian national company registry when VIES is unavailable, and returns a single JSON shape with the consultation number, company data where published, and the current Romania VAT rates inline.
Romania VAT Number Format
RO + 2–10 digits^RO\d{2,10}$Real Romania VAT numbers you can validate right now:
Validating Romania VAT Numbers — Code Examples
All three examples validate the same Romania VAT number RO9010105. To receive a consultation number back, set your own VAT as requester once in dashboard Settings — then every call, including these, returns a consultation number automatically, with no extra parameters.
curl 'https://api.vatnode.dev/v1/vat/RO9010105' \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch(
'https://api.vatnode.dev/v1/vat/RO9010105',
{ 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/RO9010105",
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 RomaniaVAT number, once you've set your VAT as requester in dashboard Settings, looks like this:
{
"valid": true,
"vatId": "RO9010105",
"countryCode": "RO",
"countryName": "Romania",
"companyName": "Orange Romania SA",
"consultationNumber": "WAPIAAAAXk7ZpY3o",
"source": "VIES",
"countryVat": {
"currency": "RON",
"standardRate": 21,
"reducedRates": [11],
"superReducedRate": null,
"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. It is returned once you set your own VAT as requester in dashboard Settings; otherwise it is null.
Romania VAT Rates
vatnode returns the current Romanian TVA rates inline with every successful response. Today's rates (standard 21%, reduced 11%) are sourced from the European Commission TEDB feed, checked daily and updated on any change.
| Rate type | Value |
|---|---|
| Standard | 21% |
| Reduced | 11% |
VIES vs National Fallback for Romania
VIES is the primary data source for validation in Romania — it is the authoritative EU register and the only source that produces a consultation number. When VIES returns a transient error (timeout, MS_UNAVAILABLE, SERVICE_UNAVAILABLE), vatnode automatically queries the Romanian national company registry as a fallback so your checkout or invoicing pipeline keeps working.
The response includes a source field that tells you which system answered — VIES for the EU register, or the Romanian national-registry source code when the fallback ran.
Romania is one of the EU countries where vatnode keeps validating during EU VIES outages via a direct national registry adapter. See coverage matrix for the full list.
Romania VAT API — FAQ
Is the Romania VAT number the same as the company registration number?
No. The Romanian TVA number is issued by the tax authority for VAT purposes; the national registry identifier is a separate ID issued by the company registry. vatnode returns both fields (registryCode + registryCodeName) for Romania when the data is available.
How fast is Romania VAT validation through vatnode?
Cached responses return in single-digit milliseconds. Live VIES lookups for Romania typically complete in under one second; a 15-minute Redis cache is applied to identical VAT IDs.
Does the API work for Romanian sole traders and small businesses?
Yes. If a Romanian sole trader or small business is registered for TVA 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.
What happens if EU VIES is down for Romania?
vatnode falls back to the Romanian national registry adapter when VIES returns a transient error (timeout, MS_UNAVAILABLE). Validation keeps working from the national source; the response includes a source field so you can tell which system answered.
What is the consultation number returned for checks in Romania?
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 once you set your own VAT as requester in dashboard Settings — including for Romania.
More on Romania
- Romania VAT rates and historyCurrent standard and reduced rates, and every past change.
- Romania VAT number formatNumber structure, regex pattern and verified examples.
- Romania Reverse charge rulesWhen to zero-rate a cross-border B2B invoice, and what to write on it.
- Romania VIES uptimeAvailability of this country in the Commission database, sampled continuously.
VAT APIs for Other EU Countries
See Also
- vatnode Quickstart — API key in 60 seconds
- VAT validation reference — endpoint, parameters, error codes
- Romania VAT number format, rates, and verified examples
- Validate Romania VAT numbers from AI agents (Claude, Cursor) via MCP
Building an AI workflow? vatnode is also available to AI agents through the official MCP server — Claude, Cursor and ChatGPT can validate Romania VAT numbers and look up rates directly in chat.
Start Validating Romania VAT Numbers
100 validations per month on the free plan, no credit card required. REST JSON over HTTPS, VIES consultation number on qualified checks, Romanian national registry fallback, EU-hosted by default.