> For the complete documentation index see https://domscan.net/llms.txt. Markdown versions of every docs page are available by appending .md to the page URL.

Source: https://domscan.net/es/docs/products/vat-validation

# API de API de validación de números VAT

Comprueba si un número VAT es válido y está registrado. Usa esta referencia para elegir una operación e integrar su contrato de respuesta documentado.

[Ver página del producto](https://domscan.net/es/vat-validation-api)

## Operaciones

GET `/v1/vat/validate` [Ver referencia de API](https://domscan.net/es/docs/products/vat-validation#validateVatNumber)

## GET `/v1/vat/validate`

Operación: `validateVatNumber`
Créditos y autenticación: 1
Autenticación obligatoria

GET /v1/vat/validate Créditos: 1

#### Parámetros de consulta

| Parámetro | Tipo | obligatorio |
| --- | --- | --- |
| vat | string | obligatorio |
| country | string Valores permitidos `AT`, `BE`, `BG`, `CY`, `CZ`, `DE`, `DK`, `EE`, `EL`, `GR`, `ES`, `FI`, `FR`, `HR`, `HU`, `IE`, `IT`, `LT`, `LU`, `LV`, `MT`, `NL`, `PL`, `PT`, `RO`, `SE`, `SI`, `SK`, `XI`, `GB`, `UK`, `CH`, `NO`, `AU` | opcional |
| requester | string | opcional |

#### Campos de respuesta

| Campo | Tipo |
| --- | --- |
| `input` | string |
| `vat_number` | string |
| `number` | string |
| `country_code` | string |
| `status` | string |
| `valid` | boolean \| null |
| `reason` | string |
| `format_valid` | boolean |
| `checksum` | string |
| `registered_name` | string \| null |
| `registered_address` | string \| null |
| `name_disclosed` | boolean \| null |
| `consultation_number` | string \| null |
| `upstream_code` | string \| null |
| `source` | object |
| `source.id` | string |
| `source.authority` | string |
| `source.url` | string \| null |
| `source.checked_at` | string |
| `details` | object |
| `details.organization_number` | string |
| `details.organization_form` | object |
| `details.organization_form.code` | string |
| `details.organization_form.description` | string \| null |
| `details.vat_registered` | boolean \| null |
| `details.vat_registered_since` | string \| null |
| `details.deleted` | boolean |
| `details.deleted_on` | string \| null |
| `details.bankrupt` | boolean \| null |
| `details.under_liquidation` | boolean \| null |
| `details.under_forced_liquidation` | boolean \| null |

#### Solicitud de ejemplo

```bash
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/vat/validate?vat=example&country=AT&requester=example"
```

```javascript
const response = await fetch("https://domscan.net/v1/vat/validate?vat=example&country=AT&requester=example", {
  headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);
```

```python
import os
import requests

response = requests.get(
    "https://domscan.net/v1/vat/validate?vat=example&country=AT&requester=example",
    headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())
```

```go
package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/vat/validate?vat=example&country=AT&requester=example", nil)
	if err != nil {
		panic(err)
	}
	req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	data, err := io.ReadAll(resp.Body)
	if err != nil {
		panic(err)
	}
	fmt.Println(resp.Status, string(data))
}
```

```ruby
require "json"
require "net/http"

uri = URI("https://domscan.net/v1/vat/validate?vat=example&country=AT&requester=example")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body))
```

#### Respuesta de ejemplo

```json
{
  "input": "NO923609016MVA",
  "vat_number": "NO923609016MVA",
  "number": "923609016",
  "country_code": "NO",
  "status": "valid",
  "valid": true,
  "reason": "active_vat_registration",
  "format_valid": true,
  "checksum": "valid",
  "registered_name": "EQUINOR ASA",
  "registered_address": "Forusbeen 50, 4035 STAVANGER, Norge",
  "name_disclosed": true,
  "consultation_number": null,
  "upstream_code": null,
  "source": {
    "id": "brreg",
    "authority": "bronnoysund_register_centre",
    "url": "https://data.brreg.no/enhetsregisteret/api/enheter/923609016",
    "checked_at": "2026-10-18T03:58:55.722Z"
  },
  "details": {
    "organization_number": "923609016",
    "organization_form": {
      "code": "ASA",
      "description": "Allmennaksjeselskap"
    },
    "vat_registered": true,
    "vat_registered_since": "1989-07-01",
    "deleted": false,
    "deleted_on": null,
    "bankrupt": false,
    "under_liquidation": false,
    "under_forced_liquidation": false
  }
}
```

#### Códigos de estado HTTP

- `200` OK
- `400` Solicitud incorrecta
- `401` No autorizado
- `402` Pago requerido
- `429` Demasiadas solicitudes

## Recursos de referencia

[OpenAPI 3.0](https://domscan.net/v1/openapi.json)
[Postman](https://domscan.net/v1/postman.json)
[MCP](https://domscan.net/es/mcp-domain-checker)
