Jsonpage · SIREN- und SIRET-API
USt-IDNR.-API

API zur Prüfung der innergemeinschaftlichen USt-IdNr.

Die Jsonpage-API prüft eine USt-IdNr. in einem Aufruf: Sie kontrolliert das Format, findet das Unternehmen, dem die Nummer gehört, und liefert den Status der Nummer, valid oder invalid. Sie deckt Frankreich, Belgien, die Schweiz, Norwegen, Finnland, Lettland, Schweden, Estland und Litauen ab, mit einem Entdecken-Tarif (kostenlos) zum Testen und danach Festpreisen.

Aktualisiert am 11. Oktober 2026

Das Format der USt-IdNr. nach Land

Eine USt-IdNr. beginnt mit dem Ländercode, gefolgt von einer Nummer, deren Aufbau vom Land abhängt. Die API prüft vor jeder Suche das Format und, wenn das Land sie vorsieht, die Prüfziffer.

LandFormatBeispiel
FrankreichFR + 2 Zeichen Prüfschlüssel + SIREN (9 Ziffern)FR14652014051
BelgienBE + Unternehmensnummer (10 Ziffern)BE0417497106
SchweizUID-Nummer, gefolgt von MWST, TVA oder IVACHE-105.909.036 TVA
NorwegenNO + Organisationsnummer + MVA-
FinnlandFI + 8 Zeichen der Y-tunnus-
LettlandLV + 11 Ziffern-
SchwedenSE + Organisationsnummer (10 Ziffern) + 01SE556042722001
EstlandEE + 9 ZiffernEE100210460
LitauenLT + 9 ZiffernLT110053842

In Frankreich wird der Prüfschlüssel aus der SIREN berechnet: (12 + 3 × (SIREN modulo 97)) modulo 97. Für die SIREN 652014051 ist der Rest 14 und die Nummer lautet FR14652014051. Die Schweiz ist kein Mitglied der Europäischen Union und das Vereinigte Königreich ist ausgetreten: Ihre Nummern sind keine innergemeinschaftlichen Nummern, und das Vereinigte Königreich wird für die USt-IdNr. nicht unterstützt. Details zu den Formaten finden Sie unter Innergemeinschaftliche USt-IdNr.: Format und Prüfung.

Gültig oder ungültig: das gelieferte Ergebnis

Der Endpunkt GET /v2/validate prüft die USt-IdNr. allein oder zusammen mit der SIREN oder SIRET des Kunden. Er antwortet 200, auch wenn die Nummer ungültig ist: Das Feld valid ist nur dann true, wenn alle Prüfungen bestanden sind, und checks führt jede einzeln auf.

Status der USt-IdNr.Bedeutung
validDie Nummer ist registriert.
invalidDie Nummer ist nicht registriert: Die Prüfung vat_registered schlägt fehl.
pendingDie Prüfung läuft: Versuchen Sie es in einigen Sekunden erneut.
not_verified, unavailableDie Prüfung konnte nicht abgeschlossen werden. Sie lässt die Validierung nicht scheitern, und Sie können sie erneut starten.

Weitere für die Rechnungsstellung nützliche Prüfungen sind vat_format (Nummer korrekt aufgebaut), identifiers_match (SIREN, SIRET und USt-IdNr. bezeichnen dasselbe Unternehmen) und company_active (das Unternehmen ist nicht geschlossen).

Beispiel für Anfrage und Antwort

curl "https://api.jsonpage.com/v2/validate?vat=FR14652014051" \
  -H "X-API-Key: $JSONPAGE_API_KEY"
{
  "data": {
    "valid": true,
    "checks": [
      { "code": "vat_format", "ok": true, "value": "FR14652014051" },
      { "code": "company_exists", "ok": true, "value": "FR-652014051" },
      { "code": "company_active", "ok": true, "value": "active" },
      { "code": "vat_registered", "ok": true, "value": "valid" }
    ],
    "company": {
      "id": "FR-652014051",
      "name": "CARREFOUR",
      "status": "active",
      "vat": { "number": "FR14652014051", "status": "valid", "checked_at": "..." },
      "...": "..."
    }
  }
}

Gekürzte Antwort: Die Basisfelder des Datensatzes sind weggelassen. Um nur den USt-IdNr.-Block eines Datensatzes zu lesen, ergänzen Sie ?include=vat bei GET /v2/companies/{id}.

In JavaScript

const url = "https://api.jsonpage.com/v2/validate?vat=" + encodeURIComponent("FR14652014051");
const res = await fetch(url, { headers: { "X-API-Key": process.env.JSONPAGE_API_KEY } });
const { data } = await res.json();
if (!data.valid) console.log(data.checks.filter((c) => !c.ok));

In Python

import os, requests

res = requests.get(
    "https://api.jsonpage.com/v2/validate",
    params={"vat": "FR14652014051"},
    headers={"X-API-Key": os.environ["JSONPAGE_API_KEY"]},
)
data = res.json()["data"]
print(data["valid"], [c for c in data["checks"] if not c["ok"]])

Anwendungsfälle in der Rechnungsstellung

  • Innergemeinschaftliche Lieferung. Die Steuerbefreiung setzt eine gültige Nummer des Kunden voraus: Prüfen Sie sie, bevor Sie die Rechnung ausstellen.
  • Anlage eines Kunden oder Lieferanten. Prüfen Sie die eingegebene USt-IdNr. und SIREN und füllen Sie dann Name und Adresse aus dem Datensatz vor.
  • Bezahlung einer Lieferantenrechnung. Prüfen Sie, ob die USt-IdNr. tatsächlich dem Zahlungsempfänger gehört und das Unternehmen aktiv ist.
  • Beobachtung über die Zeit. Die Überwachung informiert Sie per Webhook, wenn ein Unternehmen schließt oder in ein Insolvenzverfahren eintritt.

Für eine ganze Kundendatei prüft das Angebot zur Bereinigung von Kundendateien jede Zeile, ohne dass Sie Code schreiben müssen.

Preise und Limits

Entdecken für 0 €, Standard für 19 € netto pro Monat, Pro für 129 € netto pro Monat, mit 100, 1.000 und 10.000 Anfragen pro Minute und 1.000 Anfragen pro Tag. Fester Preis, keine Credits, keine Mehrkosten bei Überschreitung. Siehe die Tarife.

Häufige Fragen

Wie prüfe ich eine innergemeinschaftliche USt-IdNr. per API?+

Rufen Sie GET /v2/validate mit dem Parameter vat auf. Die Antwort zeigt, ob die Nummer korrekt aufgebaut ist, ob das Unternehmen existiert und aktiv ist, und welchen Status die Nummer hat (valid, invalid oder pending).

Welche Länder werden für die USt-IdNr. unterstützt?+

Frankreich, Belgien, die Schweiz, Norwegen, Finnland, Lettland, Schweden, Estland und Litauen. Britische Nummern werden nicht unterstützt.

Was bedeutet der Status pending?+

Die Prüfung der Nummer ist noch nicht abgeschlossen. Versuchen Sie es in einigen Sekunden erneut.

Kann man die USt-IdNr. anhand der SIREN prüfen?+

Ja. In Frankreich wird die USt-IdNr. aus der SIREN berechnet, und die API prüft anschließend, ob sie registriert ist. Übergeben Sie SIREN und USt-IdNr. gemeinsam, um zu kontrollieren, dass beide dasselbe Unternehmen bezeichnen.

Wird jede USt-IdNr.-Prüfung einzeln berechnet?+

Nein. Fester Preis, keine Credits, keine Mehrkosten bei Überschreitung. Die Rate ist je nach Tarif pro Minute begrenzt, und keine Prüfung wird von Credits abgezogen.

Weiterführende Informationen

NUMMER PRÜFEN

Testen Sie mit Ihren eigenen USt-IdNr.

Das kostenlose Konto ist sofort verfügbar, ohne Kreditkarte, mit 100 Anfragen pro Minute und 1.000 Anfragen pro Tag.