حدود المعدل

افهم كيف تعمل حدود المعدل، والوصول إلى البيانات حسب الخطة، وكيفية التعامل مع استجابات 429.

تختلف حدود المعدل حسب الخطة. استخدم نقطة النهاية GET /api/v1/limits للتحقق من مستواك الحالي وحدودك برمجيًا.
حدود المعدل لكل مفتاح
المستوىالطلبات / دقيقةالدفعة / ثانية
Builder (بما فيها الفترة التجريبية المجانية لمدة 3 أيام)25012
Pro75040
Enterpriseمخصصمخصص

الحد لكل دقيقة يستخدم نافذة منزلقة. وحد الدفعات يستخدم خوارزمية دلو الرموز (token bucket).

الوصول إلى البيانات حسب الخطة

في خطة Builder — بما فيها الفترة التجريبية المجانية لمدة 3 أيام، وهي خطة Builder كاملة — يكون الوصول مقتصرًا على أحدث الأسواق. أما مستويا Pro وEnterprise فلديهما وصول غير محدود إلى جميع الأسواق واللقطات.

نوع السوقBuilderPro / Enterprise
5m4,100غير محدود
15m1,400غير محدود
1hr350غير محدود
4hr85غير محدود
24hr14غير محدود

عندما يتجاوز استعلام سرد الحد الأقصى لمستواك، يُقلَّص حد الاستجابة ويُضمَّن حقل warning.

حدود مفاتيح API

يعتمد عدد مفاتيح API النشطة التي يمكنك امتلاكها على خطتك. المفاتيح المُبطلة أو المنتهية لا تُحتسب ضمن الحد.

3
Builder (بما فيها الفترة التجريبية المجانية لمدة 3 أيام)
10
Pro
غير محدود
Enterprise
ترويسات حد المعدل

تتضمن كل استجابة ترويسات حد المعدل لتتمكن من تتبع استخدامك في الوقت الفعلي.

X-RateLimit-Limit: 250
X-RateLimit-Remaining: 237
X-RateLimit-Reset: 1740800060

التعامل مع استجابات 429

عندما تتجاوز حد المعدل، تُرجع API رمز الحالة 429 مع ترويسة Retry-After تشير إلى عدد الثواني التي يجب انتظارها. ويتضمن جسم الاستجابة الحقول error وmessage وretry_after.

import time
import requests

def fetch_with_retry(url, headers, max_retries=3):
    for attempt in range(max_retries):
        response = requests.get(url, headers=headers)
        if response.status_code == 429:
            wait = int(response.headers.get("Retry-After", 2 ** attempt))
            time.sleep(wait)
            continue
        return response
    raise Exception("Rate limit exceeded after retries")
403 Forbidden — الوصول إلى البيانات

إذا حاولت الوصول إلى سوق أو لقطاته خارج نافذة البيانات لمستواك، تُرجع API الرمز 403 Forbidden. رقِّ خطتك أو استخدم سوقًا أحدث.

{
  "error": "Forbidden",
  "message": "Your builder plan only includes the most recent markets for this type. Upgrade for full access.",
  "tier": "builder"
}