রেট লিমিটিং এবং কোটা

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 টাইমস্ট্যাম্প

অনুরোধ করার আগে কোটা পরীক্ষা করা

পাইথন
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 (Mar 21): 200 requests available at 00:00 UTC
  • 10:30 UTC: Made 75 requests, 125 remaining
  • 15:45 UTC: Made 100 more requests, 25 remaining
  • 23:59 UTC: Still 25 requests remaining (can't carry over)
  • দিন 2 (Mar 22, 00:00 UTC): Quota resets to 200

অপ্টিমাইজেশন কৌশল

1. API রেসপন্স ক্যাশ করুন

হোয়েল পজিশন প্রতি সেকেন্ডে পরিবর্তিত হয় না। ফলাফলগুলি 30-60 সেকেন্ডের জন্য ক্যাশ করুন এবং নতুন API কল করার পরিবর্তে ক্যাশ করা ডেটা সরবরাহ করুন।

পাইথন
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. অনুরোধের সময় ফিল্টারিং ব্যবহার করুন

প্রয়োজনীয় ডেটা পেতে কোয়েরি প্যারামিটারে ফিল্টার প্রয়োগ করুন (সিম্বল, এক্সচেঞ্জ, মিন_পজিশন_সাইজ), পোস্ট-প্রসেসিংয়ের প্রয়োজন এড়িয়ে চলুন।

রেট লিমিট ত্রুটি হ্যান্ডলিং

এক্সপোনেনশিয়াল ব্যাকঅফ সহ রিট্রাই করুন

পাইথন
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 ব্যবহার করুন এবং রেট লিমিটগুলি সুন্দরভাবে হ্যান্ডল করুন।

ডকুমেন্টেশন পড়ুন
বিনামূল্যে শুরু করুন — 200 calls/day, কোন কার্ড নেই

একটি API থেকে 3টি এক্সচেঞ্জে লাইভ হোয়েল ফ্লো, ফান্ডিং, ওপেন ইন্টারেস্ট এবং অন-চেইন ডেটা পান। ফ্রি টায়ার, কোন ক্রেডিট কার্ড নেই, যে কোন সময় আপগ্রেড করুন।

বিনামূল্যে শুরু করুন →
লাইভ API কনসোল চেষ্টা করুন → (কোন অ্যাকাউন্ট প্রয়োজন নেই)
30 সেকেন্ডে আপনার API কী পান

বিল্ড করতে প্রস্তুত? একটি বিনামূল্যে API কী নিন (200 calls/day, কোন কার্ড নেই) এবং লাইভ হোয়েল, ফান্ডিং এবং অন-চেইন ডেটা টান শুরু করুন।

আপনার API কী পান →