Free
Für Prototypen und die API-Evaluierung
- 1.000 Anfragen / Zeitraum
- 60 Anfragen / Minute
- 1 aktive API-Schlüssel
Suchen Sie Unternehmen in normalisiertem JSON und greifen Sie bei Bedarf auf nationale Felder, Datei und Hash der Primärquelle zurück.
Schnellstart
Alle Datenendpunkte verwenden denselben Authentifizierungsvertrag. Ein SDK ist nicht nötig; ein normaler HTTP-Client genügt.
Öffnen Sie das API-Konto, benennen Sie die Umgebung und speichern Sie das Geheimnis sofort — es wird nicht erneut angezeigt.
API-Konto öffnen →Verwenden Sie X-API-Key oder Bearer. In der API-Konsole sind URL und Parameter bereits korrekt gesetzt.
Die Antwort enthält X-Request-ID. Geben Sie diese ID dem Support zur Analyse einer bestimmten Anfrage.
Authentifizierung
Erstellen Sie getrennte Schlüssel für Produktion, Staging und Analyse. Jeder Schlüssel handelt für das Konto und verbraucht dessen gemeinsames Monatskontingent.
OpenRegister speichert nur einen SHA-256-Hash. Legen Sie das Geheimnis nicht in Query-Strings, Frontend-Bundles, Logs oder öffentlichen Repositorys ab.
X-API-Key Serverintegrationen und Datenanfragen.
Clerk session Konto, Schlüssel und Abonnementverwaltung.
Stripe-Signature Nur signierte Ereignisse von Stripe.
Paginierung
Die Suche wird nach Name und stabiler ID sortiert. Verwenden Sie die Werte aus meta, statt die Seitenzahl im Client zu berechnen.
page1…N Nummer der angeforderten Seite.
pageSize1…100 Standardmäßig werden 25 Datensätze zurückgegeben.
meta.totalinteger Datensatzanzahl für den aktuellen Filter.
meta.pageCountinteger Anzahl der verfügbaren Seiten.
Limits und Kontingente
Das Minutenlimit schützt die API vor Lastspitzen; das Monatskontingent begrenzt den Tarifumfang. Beide Zähler werden nach jeder erfolgreichen Datenanfrage zurückgegeben.
| Header | Wert |
|---|---|
X-RateLimit-Limit | Anfragelimit pro Minute. |
X-RateLimit-Remaining | Verbleibende Anfragen im aktuellen Fenster. |
X-RateLimit-Reset | Unix-Zeitstempel für das Zurücksetzen des Fensters. |
X-Monthly-Quota-Limit | Kontingent des Abrechnungszeitraums. |
X-Monthly-Quota-Remaining | Verbleibende Anfragen im Zeitraum. |
X-Monthly-Quota-Reset | Beginn des neuen Zeitraums im ISO-8601-Format. |
Fehler
Verarbeiten Sie error.code programmatisch und schreiben Sie message in die Logs. requestId verknüpft den Fehler mit der Serveranfrage.
{
"error": {
"code": "invalid_api_key",
"message": "The API key is invalid or revoked",
"requestId": "69a27c71-44ab-4c0c-a95d-1a1ea8da24cc",
"docs": "https://md.hanta.io/docs/api"
}
}invalid_request Parameter oder UUID hat ein ungültiges Format.
api_key_required Der Header mit dem API-Schlüssel fehlt.
invalid_api_key Der Schlüssel ist unbekannt, widerrufen oder beschädigt.
entity_not_found Kein Datensatz mit dieser OpenRegister-ID gefunden.
rate_limit_exceeded Das Minutenlimit des Schlüssels ist ausgeschöpft.
monthly_quota_exceeded Das Kontingent des Abrechnungszeitraums ist ausgeschöpft.
Versionierung
Der aktuelle stabile Vertrag ist /api/v1. Innerhalb von v1 können neue nullable-Felder und Endpunkte hinzukommen; Felder werden jedoch weder entfernt noch ohne neue Version im Typ geändert.
API-Referenz
Alle drei Endpunkte benötigen einen API-Schlüssel und liefern Rate-Limit-Header. Mit „Beispiel anzeigen“ öffnen Sie eine fertige Anfrage in der Konsole.
/countriesDerzeit verfügbare und geplante Register.
Keine Parameter erforderlich.
/entitiesSuche nach Name oder IDNO mit Filtern und stabiler Paginierung.
qstring Teil des Namens oder der Registernummer, unabhängig von Groß- und Kleinschreibung.
countrystring Zweistelliger Ländercode nach ISO 3166-1.
legalFormstring Exakter nationaler Wert der Rechtsform.
activitystring Exakter Wert oder Code der Tätigkeit.
activityTypeunlicensed | licensed Tätigkeitsliste: unlicensed oder licensed.
pageinteger Seitennummer. Standardwert: 1.
pageSizeinteger Seitengröße von 1 bis 100. Standardwert: 25.
/entities/{id}Normalisierte Felder, nationaler Datensatz und Quellenherkunft.
iduuiderforderlich OpenRegister-ID aus dem Suchergebnis.
API-Referenz
Normalisierte Felder sind in allen Ländern gleich. Die nationale Struktur bleibt in registry und sourceData; neue Länder ändern daher den gemeinsamen Vertrag nicht.
iduuid Stabile OpenRegister-ID.
countryCodestring ISO-3166-1-Alpha-2-Code des Rechtsgebiets.
canonicalNamestring Name für Suche und Anzeige.
statusstring Normalisierter Status des Datensatzes.
legalFormstring | null Nationale Rechtsform.
registryobject Typisierte und aufgelöste nationale Felder.
sourceDataobject Originalfelder ohne Verlust oder Umbenennung.
registrationsarray Registrierungsnummern und lokale Status.
provenanceobject | null Datei, Hash, Importdatum und URL der Primärquelle.
API-Tarife
Wenn das Kontingent ausgeschöpft ist, stoppt die API Anfragen mit 429 — unerwartete Rechnungen entstehen nicht.
/api/v1/plansöffentlichFür Prototypen und die API-Evaluierung
Für produktive Integrationen
Für große Datenmengen und mehrere Umgebungen
Konto-Endpunkte
Diese Endpunkte bedienen das API-Konto und verwenden ein Clerk-Sitzungstoken oder -Cookie. Ein Registry-API-Schlüssel ist dafür nicht gültig.
/api/v1/account Tarif, Nutzung, Abrechnungsstatus und aktive Schlüssel.
/api/v1/auth/me Profil des aktuellen Clerk-Nutzers.
/api/v1/api-keys Aktive Schlüssel ohne Geheimnisse auflisten.
/api/v1/api-keys Schlüssel erstellen und das vollständige Geheimnis einmalig zurückgeben.
/api/v1/api-keys/{id} Schlüssel des aktuellen Kontos widerrufen.
/api/v1/health/live Der Prozess läuft und nimmt HTTP-Anfragen an.
/api/v1/health/ready Anwendung und PostgreSQL sind für Datenverkehr bereit.
Stripe-Abrechnung
Kostenpflichtige Tarife werden über Stripe Checkout abgeschlossen. Rechnungen, Zahlungsart, Tarifwechsel und Kündigung sind über das Stripe Customer Portal im API-Konto verfügbar.
Der Zugriff ändert sich erst nach einem signierten Stripe-Webhook-Ereignis, nicht nach der Weiterleitung aus Checkout.
/api/v1/plans Öffentlicher Tarif- und Leistungsumfangskatalog.
/api/v1/billing/checkout Stripe-Checkout-Sitzung erstellen.
/api/v1/billing/portal Stripe-Customer-Portal-Sitzung erstellen.
/api/v1/billing/webhook Interner Endpunkt mit Stripe-Signature-Header.
checkout.session.completedcustomer.subscription.createdcustomer.subscription.updatedcustomer.subscription.deletedcustomer.subscription.pausedcustomer.subscription.resumedDie Ereignis-ID wird vor der Verarbeitung gespeichert, daher ist eine erneute Zustellung sicher. Ein älteres Ereignis überschreibt keinen neueren Abonnementstatus.