%iva.pt

iva.pt › API

API and MCP server

Validate EU VAT numbers in VIES and read the Portuguese VAT Code (CIVA) and the intra-Community VAT regime (RITI) from your own software or from an AI assistant. Free, no key, no sign-up.

Em português: API gratuita para validar números de IVA da UE no VIES e consultar o CIVA e o RITI. Sem chave nem registo.

Endpoints

Base URL: https://iva.pt/api/v1 · OpenAPI 3.1: iva.pt/openapi.json

Method and pathDescription
GET /vat/{vat}Validate a VAT number in VIES. Add ?requester= with your own VAT number for a qualified check and a consultation number.
POST /vatSame, with a JSON body: vat, requester, optional name, street, postalCode, city to confirm the customer's details.
GET /statusVIES availability per Member State.
GET /civa/{article}, GET /riti/{article}Current text of an article (e.g. 36, 7-a). Add ?lang=en for the unofficial English translation. Without an article: list of articles.
GET /search?q=Search CIVA and RITI by Portuguese keywords (e.g. autoliquidação).

Example

curl https://iva.pt/api/v1/vat/PT515060445
{
  "ok": true,
  "result": {
    "valid": true,
    "vat": "PT515060445",
    "countryCode": "PT",
    "vatNumber": "515060445",
    "countryName": "Portugal",
    "name": "SOOMA.COM WEB SERVICES LDA",
    "address": "…",
    "mode": "simple",
    "requestDate": "2026-10-28T10:15:02.123Z",
    "consultationNumber": null,
    "source": "VIES — European Commission",
    "checkUrl": "https://iva.pt/?nif=PT515060445"
  }
}

Errors use HTTP status codes (422 invalid input, 429 rate limited, 502 VIES or Member State unavailable) and a body {"ok": false, "error": {"code", "message"}}. A 502 does not mean the number is invalid: try again later.

Limits and fair use

VAT checks are limited to 20 requests per minute and 500 per day per IP address. Results come from VIES in real time and are not stored by the API. For bulk or commercial volumes, contact us. PDF reports with a SHA-256 fingerprint are available on the website.

MCP server for AI assistants

Remote MCP server (Streamable HTTP, no authentication): https://iva.pt/mcp

Tools: validar_iva (VAT check, simple or qualified), artigo_civa and artigo_riti (article text, Portuguese or English), pesquisar_legislacao (search the CIVA and RITI).

Claude

Settings › Connectors › Add custom connector, and paste https://iva.pt/mcp. In Claude Code: claude mcp add --transport http iva-pt https://iva.pt/mcp

ChatGPT

In developer mode, add a connector with the MCP server URL https://iva.pt/mcp and no authentication. To build a custom GPT with Actions instead, import the schema from https://iva.pt/openapi.json.

Other clients

{
  "mcpServers": {
    "iva-pt": { "type": "http", "url": "https://iva.pt/mcp" }
  }
}

For language models

A summary of the site for LLMs is at iva.pt/llms.txt, and the full text of the CIVA and RITI at iva.pt/llms-full.txt.

Information provided for general guidance; not legal or tax advice. Legislation text: Portuguese Tax and Customs Authority (AT).