Skip to main content

Limits by plan

PlanRequests / minute
Pay as you go (credits)100
Developer500
ProUnlimited
Rate limits use a sliding window — the count resets continuously rather than at fixed intervals.

Rate limit headers

Every API response includes headers showing your current usage:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1704067260

429 Too Many Requests

When you exceed your rate limit, the API returns:
{
  "error": "Rate limit exceeded. Retry after 12 seconds.",
  "code": 429
}
Implement exponential backoff when you receive a 429 response:
import time
import requests

def fetch_with_retry(url, headers, params, max_retries=3):
    for attempt in range(max_retries):
        response = requests.get(url, headers=headers, params=params)
        if response.status_code == 429:
            wait = 2 ** attempt  # 1s, 2s, 4s
            time.sleep(wait)
            continue
        response.raise_for_status()
        return response.json()
    raise Exception("Max retries exceeded")

Increasing your limit

  • Upgrade to Developer — 500 req/min, $99/month
  • Upgrade to Pro — no rate limit, $499/month
  • Enterprise — custom limits, contact support@marketdataset.ai