Rate Limiting und Kontingente

Erfahren Sie mehr über die Rate Limits der Smart Money API, tägliche Kontingente für jedes Abonnement und Optimierungsstrategien, um Ihre API-Nutzung zu maximieren.

Übersicht

Die Smart Money API implementiert tägliche Anfragekontingente, um die Servicequalität und Fairness für alle Nutzer zu gewährleisten. Jede Abonnementstufe beinhaltet ein unterschiedliches tägliches Limit. Wenn Sie Ihr tägliches Kontingent überschreiten, erhalten Sie einen 429 Too Many Requests Fehler, bis Ihr Kontingent um Mitternacht UTC zurückgesetzt wird.

Rate Limits gelten pro API-Schlüssel. Jeder Schlüssel hat sein eigenes unabhängiges Kontingent. Sie können mehrere Schlüssel für verschiedene Anwendungen generieren und die Nutzung für jeden separat überwachen.

Kontingente nach Abonnementstufe

Stufe Tägliche Anfragen Preis Funktionen
Kostenlos 20 Anfragen/Tag $0 BTC, ETH, SOL, Funding Rates, Liquidierungen
Trader 400 Anfragen/Tag 29 $/Monat Alle Symbole, Wal-Positionen, OI-Daten
Pro 4.000 Anfragen/Tag 79 $/Monat Bestätigungsscores, On-Chain-Daten, Webhooks
Enterprise Individuell Individuell Dedizierter Support, individuelle Integrationen

Rate-Limit-Antwort-Header

Jede API-Antwort enthält Header, die Ihren aktuellen Kontingentstatus anzeigen:

HTTP-Header
X-Requests-Limit: 200 X-Requests-Remaining: 147 X-Requests-Reset: 1711116000 X-Requests-Reset-ISO: 2026-03-22T00:00:00Z
Header Beschreibung
X-Requests-Limit Gesamtzulässige Anfragen pro Tag (z.B. 200 für Trader)
X-Requests-Remaining Verbleibende Anfragen im aktuellen Tag
X-Requests-Reset Unix-Zeitstempel für Kontingentrücksetzung
X-Requests-Reset-ISO ISO 8601-Zeitstempel für Kontingentrücksetzung

Kontingent vor Anfragen prüfen

Python
import requests from datetime import datetime def check_quota_before_request(api_key): response = requests.head( "https://api.smartmoneyapi.com/v1/whales/events", headers={"Authorization": f"Bearer {api_key}"} ) limit = int(response.headers.get("X-Requests-Limit", 0)) remaining = int(response.headers.get("X-Requests-Remaining", 0)) reset_unix = int(response.headers.get("X-Requests-Reset", 0)) reset_time = datetime.fromtimestamp(reset_unix) percent_used = (limit - remaining) / limit * 100 print(f"Kontingent: {remaining}/{limit} Anfragen ({percent_used:.1f}% genutzt)") print(f"Zurücksetzung um: {reset_time}") if remaining < 5: print("WARNUNG: Kontingentlimit bald erreicht!") return False return True # Vor Anfragen prüfen if check_quota_before_request("sk_live_abc123xyz789"): print("Sicher, API-Aufrufe durchzuführen")

Tägliches Rate-Fenster

Rate Limits gelten in einem 24-Stunden-Fenster. Ihr Kontingent wird täglich um Mitternacht UTC (00:00 UTC) zurückgesetzt. Der genaue Rücksetzzeitpunkt wird im X-Requests-Reset-ISO Header angegeben.

Beispiel: Trader-Stufe (400 Anfragen/Tag)

  • Tag 1 (21. März): 200 Anfragen verfügbar um 00:00 UTC
  • 10:30 UTC: 75 Anfragen gemacht, 125 verbleibend
  • 15:45 UTC: 100 weitere Anfragen gemacht, 25 verbleibend
  • 23:59 UTC: Noch 25 Anfragen verbleibend (können nicht übertragen werden)
  • Tag 2 (22. März, 00:00 UTC): Kontingent wird auf 200 zurückgesetzt

Optimierungsstrategien

1. API-Antworten zwischenspeichern

Wal-Positionen ändern sich nicht jede Sekunde. Speichern Sie Ergebnisse für 30-60 Sekunden zwischen und liefern Sie zwischengespeicherte Daten, anstatt neue API-Aufrufe zu tätigen.

Python
import requests import time class CachedClient: def __init__(self, api_key, cache_ttl=60): self.api_key = api_key self.cache_ttl = cache_ttl self.cache = {} self.cache_time = {} def get_whale_positions(self, symbol): cache_key = f"whales:{symbol}" now = time.time() # Zwischengespeicherte Daten zurückgeben, wenn noch aktuell if cache_key in self.cache: age = now - self.cache_time[cache_key] if age < self.cache_ttl: print(f"Aus Cache geliefert (Alter: {age:.1f}s)") return self.cache[cache_key] # Neue Daten abrufen response = requests.get( f"https://api.smartmoneyapi.com/v1/whales/events?symbol={symbol}", headers={"Authorization": f"Bearer {self.api_key}"} ) data = response.json() self.cache[cache_key] = data self.cache_time[cache_key] = now return data # Verwendung: Cache für 60 Sekunden client = CachedClient("sk_live_abc123xyz789", cache_ttl=60) whales1 = client.get_whale_positions("BTCUSDT") # API-Aufruf whales2 = client.get_whale_positions("BTCUSDT") # Aus Cache whales3 = client.get_whale_positions("BTCUSDT") # Aus Cache

2. WebSocket für Echtzeitdaten nutzen

WebSocket-Verbindungen liefern Updates sofort, ohne Ihr Rate Limit zu belasten. Abonnieren Sie Streams und erhalten Sie Updates in Echtzeit, wodurch die Anzahl der benötigten REST-API-Aufrufe reduziert wird.

3. Anfragen strategisch bündeln

Machen Sie eine Anfrage mit mehreren Symbolen, wenn möglich, anstatt separate Anfragen für jedes Symbol. Dies reduziert API-Aufrufe um bis zu 10x.

4. Filterung zum Anfragezeitpunkt nutzen

Wenden Sie Filter (Symbol, Börse, min_position_size) in Abfrageparametern an, um genau die benötigten Daten zu erhalten und Nachbearbeitung zu vermeiden.

Umgang mit Rate-Limit-Fehlern

Wiederholung mit exponentiellem Backoff

Python
import requests import time def request_with_retry(url, api_key, max_retries=5): for attempt in range(max_retries): try: response = requests.get( url, headers={"Authorization": f"Bearer {api_key}"}, timeout=10 ) if response.status_code == 200: return response.json() elif response.status_code == 429: # Rate Limit erreicht - exponentiell zurückhalten wait_time = min(2 ** attempt, 300) # Maximal 5 Minuten reset_time = response.headers.get("X-Requests-Reset-ISO") print(f"Rate Limit erreicht. Wiederholung in {wait_time}s (zurücksetzen um {reset_time})") time.sleep(wait_time) elif response.status_code >= 500: # Serverfehler - wiederholen wait_time = 2 ** attempt print(f"Serverfehler {response.status_code}. Wiederholung in {wait_time}s") time.sleep(wait_time) else: # Anderer Fehler - nicht wiederholen raise Exception(f"HTTP {response.status_code}: {response.text}") except requests.exceptions.Timeout: wait_time = 2 ** attempt print(f"Timeout. Wiederholung in {wait_time}s") time.sleep(wait_time) raise Exception("Maximale Wiederholungen überschritten") # Verwendung data = request_with_retry( "https://api.smartmoneyapi.com/v1/whales/events", "sk_live_abc123xyz789" ) print(data)

Bereit für ein Upgrade?

Kostenlose Stufe nicht ausreichend? Upgraden Sie auf Trader oder Pro für höhere Kontingente und Zugriff auf erweiterte Funktionen wie Bestätigungsscores und On-Chain-Daten.

Preise ansehen

Optimieren Sie Ihre API-Nutzung heute

Implementieren Sie Caching, nutzen Sie WebSocket für Echtzeitdaten und gehen Sie mit Rate Limits geschickt um.

Dokumentation lesen
Kostenlos starten — 200 Aufrufe/Tag, keine Karte

Erhalten Sie Live-Wal-Flows, Funding, Open Interest und On-Chain-Daten über 3 Börsen von einer API. Kostenlose Stufe, keine Kreditkarte, jederzeit upgraden.

Kostenlos starten →
Live-API-Konsole testen → (kein Konto benötigt)
Holen Sie sich Ihren API-Schlüssel in 30 Sekunden

Bereit zu entwickeln? Holen Sie sich einen kostenlosen API-Schlüssel (200 Aufrufe/Tag, keine Karte) und starten Sie mit dem Abruf von Live-Wal-, Funding- und On-Chain-Daten.

API-Schlüssel holen →