---
title: "Look up a NIF/VAT in the EU VIES registry"
method: GET
path: "/api/clients/vies-lookup"
tags: ["Clients - Protected"]
---

# Look up a NIF/VAT in the EU VIES registry

`GET /api/clients/vies-lookup`

Resolve a NIF/VAT into the registered trader's name and parsed address.

Read-only, no DB access — async handler is safe here (no pyodbc work) and
keeps the blocking external call off the shared threadpool.

## Query parameters

- `nif` string, required — PT NIF (9 digits) or EU VAT with country prefix (e.g. ESB85937712)

## Headers

- `x-api-token` string, nullable

## Response `200`

Successful Response

- ViesLookupResponse — VIES registry lookup result. `available=False` means the lookup could not run (VIES outage, or the NIF has no derivable member state) — distinct from a definitive miss.
  - `available` boolean, required
  - `found` boolean
  - `valid` boolean, nullable
  - `country` string, nullable
  - `name` string, nullable
  - `morada` string, nullable
  - `codigo_postal` string, nullable
  - `localidade` string, nullable
  - `cidade` string, nullable
  - `pais` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/multigest/apis/multigest-protected-api.md) · [All operations](https://skmtc.dev/multigest/apis/multigest-protected-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/multigest/multigest-protected-api/revisions/4b44eb76b3ee/schema)
