Overview
BeatPass uses route-specific rate limiting via Laravel’s throttle middleware. Different endpoint groups have different limits based on their resource intensity and expected usage patterns.Route-Specific Limits
Producer Intelligence
Leaderboards
Leaderboards
600/min
/producer-intelligence/leaderboard — Cached responses (~25ms response time).Batch Growth Data
Batch Growth Data
120/min
/producer-intelligence/tracks/growth-batch — Process up to 100 tracks per request.Single Track Growth
Single Track Growth
1200/min
/producer-intelligence/track/{id}/growth — Prefer batch endpoint for multiple tracks.Dashboard & Analytics
Dashboard & Analytics
500/min
Authenticated dashboard and analytics endpoints.
Social Analytics
Social Analytics
Legacy Endpoints
Authentication
Authentication attempts are limited to prevent brute force attacks:Login Attempts
5/min per IP
Password Reset
3/min per email
2FA Verification
5/min per session
Rate Limit Format
Rate limits are expressed as requests per time window:- Requests: Maximum number of requests allowed
- Window: Time period (typically 1 minute)
Rate Limit Headers
Responses include standard rate limit headers:Maximum requests allowed in the current window.
Number of requests remaining in the current window.
Unix timestamp when the rate limit window resets.
When Limits Are Exceeded
429 Response
Handling Rate Limits
1
Stop Requests
Immediately pause further requests to the limited endpoint.
2
Check Retry-After
Read the
Retry-After header for wait duration.3
Implement Backoff
Use exponential backoff for retries.
4
Resume Carefully
Resume with reduced frequency.
Best Practices
Optimize Request Patterns
Use Batch Endpoints
Use Batch Endpoints
The Producer Intelligence API provides batch endpoints:Handles up to 100 tracks per request instead of individual calls.
Cache Responses
Cache Responses
Analytics data doesn’t change frequently. Cache responses for 5-15 minutes.
Use Combined Endpoints
Use Combined Endpoints
Use
/producer-intelligence/progress-data for combined dashboard data instead of multiple calls.Paginate Efficiently
Paginate Efficiently
Request appropriate page sizes. Don’t fetch more data than needed.
Exponential Backoff
Monitoring Usage
Track Rate Limit Status
Common Patterns That Trigger Limits
Polling leaderboards too frequently
Polling leaderboards too frequently
Problem: High frequency polling drains your quota.Solution: Use intervals of 30+ seconds. Leaderboard data is cached for 5 minutes.
Individual track growth calls
Individual track growth calls
Problem: Calling
/track/{id}/growth for each track individually.Solution: Use the batch endpoint /tracks/growth-batch for up to 100 tracks per request.Multiple concurrent requests on page load
Multiple concurrent requests on page load
Problem: Firing many analytics requests simultaneously.Solution: Use
/producer-intelligence/progress-data for consolidated dashboard data.Search-as-you-type
Search-as-you-type
Problem: Sending a request on every keystroke.Solution: Debounce input by 300ms+ before triggering search.
Rate Limits by Feature
Low-Intensity Endpoints (No explicit throttle)
These endpoints use global defaults:- Track/album/artist listing and details
- Playlist operations
- User profile data
- Genre and tag lookups
High-Intensity Endpoints (Throttled)
These have explicit rate limits:Producer Intelligence
Heavy computation for XP, achievements, and rankings.
Social Analytics
Complex queries across social graph.
Legacy Dashboard
Deprecated — encouraging migration to new APIs.
Real-time Analytics
Database-intensive live data queries.
Error Recovery
When you hit a rate limit:- Don’t retry immediately - This wastes your remaining quota
- Log the incident - Track which endpoints are hitting limits
- Review access patterns - Identify optimization opportunities
- Contact support - If legitimate usage requires higher limits
Caching Configuration
BeatPass uses centralized cache TTL (Time-To-Live) configuration for consistent caching behavior across the platform. This ensures predictable data freshness while optimizing performance.Cache TTL Values
- Analytics
- Leaderboards
- Content
- User Data
Dashboard Overview
15 min TTL
Producer dashboard statistics
Real-time Metrics
1 min TTL
Live engagement data