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.
Operaciones
GET /v1/vat/validate
GET
/v1/vat/validate
Créditos: 1
Parámetros de consulta
| Parámetro | Tipo | obligatorio |
|---|---|---|
| vat | string | obligatorio |
| country |
string
Valores permitidos
ATBEBGCYCZDEDKEEELGRESFIFRHRHUIEITLTLULVMTNLPLPTROSESISKXIGBUKCHNOAU
|
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
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/vat/validate?vat=example&country=AT&requester=example"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);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())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))
}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
{
"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
200OK400Solicitud incorrecta401No autorizado402Pago requerido429Demasiadas solicitudes