रेट लिमिटिंग और कोटा

Smart Money API की रेट सीमाएँ, प्रत्येक सब्सक्रिप्शन टियर के दैनिक कोटा और अपने API उपयोग को अधिकतम करने के लिए ऑप्टिमाइज़ेशन रणनीतियों को समझें।

अवलोकन

Smart Money API सभी उपयोगकर्ताओं के लिए सेवा की गुणवत्ता और निष्पक्षता सुनिश्चित करने के लिए दैनिक अनुरोध कोटा लागू करता है। प्रत्येक सब्सक्रिप्शन टियर में एक अलग दैनिक सीमा शामिल होती है। जब आप अपने दैनिक कोटा से अधिक हो जाते हैं, तो आपको 429 Too Many Requests त्रुटि मिलती है जब तक कि आपका कोटा मध्यरात्रि UTC पर रीसेट नहीं हो जाता।

रेट सीमाएँ प्रति API कुंजी लागू होती हैं। प्रत्येक कुंजी का अपना स्वतंत्र कोटा होता है। आप विभिन्न एप्लिकेशन्स के लिए कई कुंजियाँ जनरेट कर सकते हैं और प्रत्येक के उपयोग को अलग से मॉनिटर कर सकते हैं।

सब्सक्रिप्शन टियर द्वारा कोटा

टियर दैनिक अनुरोध मूल्य विशेषताएँ
फ्री 200 requests/day $0 BTC, ETH, SOL, फंडिंग रेट्स, लिक्विडेशन्स
ट्रेडर 1,000 requests/day $29/month सभी सिंबल्स, व्हेल पोजीशन्स, OI डेटा
प्रो 5,000 requests/day $79/month कन्फर्मेशन स्कोर्स, ऑन-चेन डेटा, वेबहुक्स
एंटरप्राइज़ कस्टम कस्टम डेडिकेटेड सपोर्ट, कस्टम इंटीग्रेशन्स

रेट लिमिट रिस्पॉन्स हेडर्स

प्रत्येक API रिस्पॉन्स में हेडर्स शामिल होते हैं जो आपके वर्तमान कोटा स्थिति को दर्शाते हैं:

HTTP हेडर्स
X-Requests-Limit: 200 X-Requests-Remaining: 147 X-Requests-Reset: 1711116000 X-Requests-Reset-ISO: 2026-03-22T00:00:00Z
हेडर विवरण
X-Requests-Limit प्रति दिन अनुमत कुल अनुरोध (उदा., ट्रेडर के लिए 200)
X-Requests-Remaining वर्तमान दिन में शेष अनुरोध
X-Requests-Reset कोटा रीसेट होने का यूनिक्स टाइमस्टैम्प
X-Requests-Reset-ISO कोटा रीसेट के लिए ISO 8601 टाइमस्टैम्प

अनुरोध करने से पहले कोटा जांचना

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"Quota: {remaining}/{limit} requests ({percent_used:.1f}% used)") print(f"Resets at: {reset_time}") if remaining < 5: print("WARNING: Approaching quota limit!") return False return True # Check before making requests if check_quota_before_request("sk_live_abc123xyz789"): print("Safe to proceed with API calls")

दैनिक रेट विंडो

रेट सीमाएँ 24-घंटे की रोलिंग विंडो पर काम करती हैं। आपका कोटा दैनिक मध्यरात्रि UTC (00:00 UTC) पर रीसेट होता है। सटीक रीसेट समय X-Requests-Reset-ISO हेडर में प्रदान किया जाता है।

उदाहरण: ट्रेडर टियर (1,000 requests/day)

  • दिन 1 (21 मार्च): 00:00 UTC पर 200 अनुरोध उपलब्ध
  • 10:30 UTC: 75 अनुरोध किए, 125 शेष
  • 15:45 UTC: 100 और अनुरोध किए, 25 शेष
  • 23:59 UTC: अभी भी 25 अनुरोध शेष (कैरी ओवर नहीं हो सकते)
  • दिन 2 (22 मार्च, 00:00 UTC): कोटा 200 पर रीसेट

ऑप्टिमाइज़ेशन रणनीतियाँ

1. API रिस्पॉन्सेस को कैश करें

व्हेल पोजीशन्स हर सेकंड नहीं बदलतीं। परिणामों को 30-60 सेकंड के लिए कैश करें और नए API कॉल करने के बजाय कैश्ड डेटा परोसें।

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() # Return cached data if still fresh if cache_key in self.cache: age = now - self.cache_time[cache_key] if age < self.cache_ttl: print(f"Served from cache (age: {age:.1f}s)") return self.cache[cache_key] # Fetch fresh data 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 # Usage: Cache for 60 seconds client = CachedClient("sk_live_abc123xyz789", cache_ttl=60) whales1 = client.get_whale_positions("BTCUSDT") # API call whales2 = client.get_whale_positions("BTCUSDT") # From cache whales3 = client.get_whale_positions("BTCUSDT") # From cache

2. रियल-टाइम डेटा के लिए WebSocket का उपयोग करें

WebSocket कनेक्शन अपडेट्स को तुरंत डिलीवर करते हैं और आपकी रेट लिमिट के खिलाफ नहीं गिने जाते। स्ट्रीम्स को सब्सक्राइब करें और अपडेट्स को घटित होते ही प्राप्त करें, जिससे REST API कॉल्स की संख्या कम हो जाती है।

3. रणनीतिक रूप से बैच अनुरोध करें

जब संभव हो, प्रत्येक सिंबल के लिए अलग-अलग अनुरोध करने के बजाय एक अनुरोध में कई सिंबल्स शामिल करें। इससे API कॉल्स 10x तक कम हो सकती हैं।

4. अनुरोध समय पर फिल्टरिंग का उपयोग करें

क्वेरी पैरामीटर्स में फिल्टर्स (सिंबल, एक्सचेंज, min_position_size) लागू करें ताकि आपको वही डेटा मिले जिसकी आपको आवश्यकता है, पोस्ट-प्रोसेसिंग की आवश्यकता से बचें।

रेट लिमिट त्रुटियों को संभालना

एक्सपोनेंशियल बैकऑफ के साथ पुनः प्रयास करें

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 limited - back off exponentially wait_time = min(2 ** attempt, 300) # Max 5 minutes reset_time = response.headers.get("X-Requests-Reset-ISO") print(f"Rate limited. Retrying in {wait_time}s (resets at {reset_time})") time.sleep(wait_time) elif response.status_code >= 500: # Server error - retry wait_time = 2 ** attempt print(f"Server error {response.status_code}. Retrying in {wait_time}s") time.sleep(wait_time) else: # Other error - don't retry raise Exception(f"HTTP {response.status_code}: {response.text}") except requests.exceptions.Timeout: wait_time = 2 ** attempt print(f"Timeout. Retrying in {wait_time}s") time.sleep(wait_time) raise Exception("Max retries exceeded") # Usage data = request_with_retry( "https://api.smartmoneyapi.com/v1/whales/events", "sk_live_abc123xyz789" ) print(data)

अपग्रेड करने के लिए तैयार?

फ्री टियर पर्याप्त नहीं है? उच्च कोटा और कन्फर्मेशन स्कोर्स और ऑन-चेन डेटा जैसी उन्नत सुविधाओं तक पहुँच के लिए ट्रेडर या प्रो में अपग्रेड करें।

मूल्य देखें

आज ही अपने API उपयोग को ऑप्टिमाइज़ करें

कैशिंग लागू करें, रियल-टाइम डेटा के लिए WebSocket का उपयोग करें और रेट लिमिट्स को सहजता से संभालें।

डॉक्युमेंटेशन पढ़ें
मुफ्त शुरू करें — 100 कॉल्स/दिन, कोई कार्ड नहीं

एक API से 3 एक्सचेंजों पर लाइव व्हेल फ्लो, फंडिंग, ओपन इंटरेस्ट और ऑन-चेन डेटा प्राप्त करें। फ्री टियर, कोई क्रेडिट कार्ड नहीं, किसी भी समय अपग्रेड करें।

मुफ्त शुरू करें →
लाइव API कंसोल आज़माएँ → (कोई खाता आवश्यक नहीं)
30 सेकंड में अपनी API कुंजी प्राप्त करें

बनाने के लिए तैयार? एक मुफ्त API कुंजी (100 कॉल्स/दिन, कोई कार्ड नहीं) प्राप्त करें और लाइव व्हेल, फंडिंग और ऑन-चेन डेटा खींचना शुरू करें।

अपनी API कुंजी प्राप्त करें →