API API de validation de numéro de TVA
Vérifiez si un numéro de TVA est valide et enregistré. Utilisez cette référence pour choisir une opération et intégrer son contrat de réponse documenté.
Opérations
GET /v1/vat/validate
GET
/v1/vat/validate
Crédits: 1
Paramètres de requête
| Paramètre | Type | requis |
|---|---|---|
| vat | string | requis |
| country |
string
Valeurs autorisées
ATBEBGCYCZDEDKEEELGRESFIFRHRHUIEITLTLULVMTNLPLPTROSESISKXIGBUKCHNOAU
|
optionnel |
| requester | string | optionnel |
Champs de réponse
| Champ | Type |
|---|---|
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 |
Exemple de requête
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))Exemple de réponse
{
"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
}
}
Codes de statut HTTP
200OK400Requête incorrecte401Non autorisé402Paiement requis429Trop de requêtes