WebmeticDocs

Anfragelimits

Anfragelimits legen fest, wie oft Sie einen Endpunkt aufrufen und wie viele Daten eine Anfrage umfasst.

Die acht Besuchs-Endpunkte von Visitor Intelligence beantworten eine Anfrage pro Sekunde je Endpunkt. Zum Beispiel ruft Ihr n8n-Workflow /company-sessions nacheinander für jede Ihrer Websites ab. Wenn er zwischen den Aufrufen eine Sekunde wartet, läuft er ohne Fehler durch. Die API hat kein Tages- oder Monatskontingent für Anfragen.

Anfragelimit je Endpunkt

Diese Endpunkte nehmen eine Anfrage pro Sekunde an: /company-sessions, /company, /company_nace, /session, /session_user_data, /intensive-visits, /returning-visits und /new-visits.

Das Limit gilt für jeden Endpunkt getrennt: Ein Aufruf von /company und einer von /session in derselben Sekunde stören sich nicht. Das Limit ist in allen Plänen gleich.

Die Partner-API hat eigene Limits pro Minute.

Enrichment (/enrichment/*), Ansprechpartner (/contacts/*) und Webhooks (/webhooks) haben derzeit kein Anfragelimit. Weil sich das ändern kann, bauen Sie die Wiederholung bei Status 429 in jede Integration ein. Beim Freischalten von Kontaktdaten begrenzen Ihre Credits die Menge, nicht die Zahl der Anfragen. Mehr dazu unter Credits in der API.

Antwort bei Überschreitung

Wenn Sie das Limit überschreiten, antwortet die API mit Status 429 und dem Fehlercode RATE_LIMITED. Der Header Retry-After nennt die Sekunden bis zum nächsten Versuch:

HTTP/1.1 429 Too Many Requests
Retry-After: 1

{
  "detail": {
    "error": "RATE_LIMITED",
    "message": "Rate limit exceeded: 1 per 1 second. Wait and try again."
  }
}

Die abgelehnte Anfrage liefert keine Daten. Warten Sie die Sekunden aus Retry-After ab und senden Sie die Anfrage dann erneut. Bei den Besuchs-Endpunkten ist das eine Sekunde, und die Partner-API nennt den Wert ihres Minutenlimits. Alle Fehlercodes stehen unter Fehler.

Wiederholung mit Wartezeit

Senden Sie Anfragen an denselben Endpunkt nacheinander, nicht parallel. Wenn die API trotzdem mit Status 429 antwortet, empfehlen wir diesen Ablauf:

  1. 1Anfrage sendenIhre Integration ruft den Endpunkt auf.
  2. 2Status prüfenBei jedem Status außer 429 verarbeitet sie die Antwort.
  3. 3WartenBei 429 wartet sie die Sekunden aus Retry-After. Wenn der Header fehlt, wartet sie eine Sekunde und danach jedes Mal doppelt so lange.
  4. 4Erneut sendenNach fünf Versuchen hört sie auf und meldet den Fehler.

Das Beispiel ruft /company-sessions mit diesem Ablauf ab:

delay=1
for attempt in 1 2 3 4 5; do
  status=$(curl -s -D headers.txt -o response.json -w "%{http_code}" \
    "https://hub.webmetic.de/company-sessions?domain=ihre-website.de" \
    -H "Authorization: wmtc_IHR_API_SCHLUESSEL")
  if [ "$status" != "429" ] || [ "$attempt" -eq 5 ]; then break; fi
  retry_after=$(grep -i '^retry-after:' headers.txt | tr -dc '0-9')
  sleep "${retry_after:-$delay}" # Retry-After first, else the backoff
  delay=$((delay * 2)) # wait longer after each 429
done

Größenlimits

Neben dem Anfragelimit begrenzt die API, wie viel eine einzelne Anfrage umfasst:

BereichLimit
Visitor Intelligencepage_size bis 10.000 Einträge je Seite, Seiten ab 1
Ansprechpartner-Suchesize 10 bis 25 Treffer je Seite, Seiten ab 0
EnrichmentBis 5.000 Domains je Aufruf, page_size bis 10.000 Einträge je Seite
Webhooks je Konto50 über die API, 10 über das Dashboard. Beide Wege zählen zusammen
Eigene Header je WebhookBis 3
Antwortzeit Ihres Servers bei Webhooks10 Sekunden
Wiederholung fehlgeschlagener Zustellungen3 Tage

Wenn eine Anfrage ein Größenlimit überschreitet, antwortet die API mit Status 422 und VALIDATION_ERROR. Wenn Sie über das Limit des Kontos hinaus einen Webhook anlegen, antwortet die API mit Status 409 und WEBHOOK_LIMIT_REACHED.

Nächste Schritte

Auf dieser Seite