Portugal VAT API – Validate Portugal VAT Numbers in Real Time
REST JSON endpoint for verifying Imposto sobre o Valor Acrescentado (IVA) 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 Account details.
Why a Portugal-Aware VAT API
In Portugal, VAT is known as Imposto sobre o Valor Acrescentado (IVA) and the current standard rate is 23%. Every Portugal VAT number starts with the prefix PT and follows a fixed structure issued by the Portuguese tax authority. A generic VAT validator that ignores country-specific quirks will accept malformed input and miss the country’s format rules.
The vatnode API normalises IVA input, runs the official VIES check, and returns a single JSON shape with the consultation number, company data where published, and the current Portugal VAT rates inline.
Portugal VAT Number Format
PT + 9 digits^PT\d{9}$Real Portugal VAT numbers you can validate right now:
- PT500100144 — Jerónimo Martins SGPS SA
- PT500697256 — EDP – Energias de Portugal SA
- PT504499777 — Galp Energia SGPS SA
More of them live in the EU VAT number directory, grouped by member state.
Validating Portugal VAT Numbers – Code Examples
All three examples validate the same Portugal VAT number PT500100144. To receive a consultation number back, set your own VAT as requester once in dashboard Account details – then every call, including these, returns a consultation number automatically, with no extra parameters.
curl 'https://api.vatnode.dev/v1/vat/PT500100144' \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch(
'https://api.vatnode.dev/v1/vat/PT500100144',
{ 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/PT500100144",
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 PortugalVAT number, once you've set your VAT as requester in dashboard Account details, looks like this:
{
"valid": true,
"vatId": "PT500100144",
"countryCode": "PT",
"countryName": "Portugal",
"companyName": "Jerónimo Martins SGPS SA",
"consultationNumber": "WAPIAAAAXk7ZpY3o",
"source": "VIES",
"countryVat": {
"currency": "EUR",
"standardRate": 23,
"reducedRates": [6,13,16,22],
"superReducedRate": 6,
"parkingRate": 13
},
"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.
Portugal VAT Rates
vatnode returns the current Portuguese IVA rates inline with every successful response. Today’s rates (standard 23%, reduced 6%, 13%, 16%, 22%, super-reduced 6%, parking 13%) are sourced from the European Commission TEDB feed, checked daily and updated on any change.
| Rate type | Value |
|---|---|
| Standard | 23% |
| Reduced (1) | 6% |
| Reduced (2) | 13% |
| Reduced (3) | 16% |
| Reduced (4) | 22% |
| Super-reduced | 6% |
| Parking | 13% |
VIES vs National Fallback for Portugal
For Portugal, 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.
Portugal VAT API – FAQ
Is the Portugal VAT number the same as the company registration number?
The Portuguese IVA number identifies the business for VAT. vatnode does not return a company register number for Portugal, so registryCode is null. The part after the PT prefix is the tax identification number (número de identificação fiscal), returned in taxId.
How fast is Portugal VAT validation through vatnode?
Cached responses return in single-digit milliseconds. Live VIES lookups for Portugal typically complete in under one second; a 15-minute Redis cache is applied to identical VAT IDs.
Does the API work for Portuguese sole traders and small businesses?
Yes. If a Portuguese sole trader or small business is registered for IVA 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 VIES outages for Portugal?
vatnode caches recent VIES responses and surfaces a clear VIES_UNAVAILABLE error code with structured retry guidance. vatnode does not use a national validity fallback for Portugal — only the VAT register itself can confirm a VAT registration, 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 checks in Portugal?
The consultationNumber is the VIES requestIdentifier — a reference returned by VIES that proves the check was performed against the official EU register on a specific date. It shows that you checked, not that the counterparty stayed valid afterwards, and it is returned once you set your own VAT as requester in dashboard Account details — including for Portugal.
More on Portugal
- Portugal VAT rates and historyCurrent standard and reduced rates, and every past change.
- Portugal VAT number formatNumber structure, regex pattern and verified examples.
- Portugal Reverse charge rulesWhen to zero-rate a cross-border B2B invoice, and what to write on it.
- Portugal 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
- Portugal VAT number format, rates, and verified examples
- Validate Portugal 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 Portugal VAT numbers and look up rates directly in chat.
Start Validating Portugal VAT Numbers
100 validations per month on the free plan, no credit card required. REST JSON over HTTPS, VIES consultation number on qualified checks, EU-hosted by default.