Skip to content

Rate Limits & Quotas

The API enforces per-endpoint rate limits that reset at UTC midnight. Limits vary by tier.

Every response includes rate limit information:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 2026-05-21T00:00:00Z
Endpoint groupSharpAdmin
Picks & data reads1000/dayUnlimited
Research endpoints500/dayUnlimited
Odds snapshots500/dayUnlimited
Export jobs10/dayUnlimited
Webhook management100/dayUnlimited

A 429 Too Many Requests response includes when your quota resets:

{
"type": "https://nbaproplab.com/errors/rate-limit-exceeded",
"title": "Rate limit exceeded",
"status": 429,
"detail": "Daily limit of 1000 requests exceeded for /data/picks",
"resetAt": "2026-05-21T00:00:00Z"
}
Terminal window
curl -H "X-API-Key: $NBAV3_DATA_TOKEN" \
https://nbaproplab.com/api/v1/data/usage

Returns current usage counters across all endpoint groups.

  1. Cache responses — picks for a given date don’t change after settlement
  2. Use sparse fields — request only the fields you need to reduce payload size
  3. Prefer webhooks — instead of polling for new picks, subscribe to picks.scored events
  4. Use bulk exports — for historical analysis, one export job is cheaper than thousands of paginated requests