Overview
The beaconcha.in API uses rate limiting to ensure fair usage and maintain service quality for all users. Rate limits vary by subscription tier and are enforced across multiple time windows.Rate Limit Headers
Every API response includes headers that show your current rate limit status:Primary Headers
| Header | Description | Example |
|---|---|---|
ratelimit-limit | Requests allowed per window | 1 |
ratelimit-remaining | Requests remaining in current window | 0 |
ratelimit-reset | Seconds until the window resets | 1 |
ratelimit-window | The time window type | second |
ratelimit-validapikey | Whether your API key is valid | true |
Extended Headers
The API also returns detailed limits for each time window:| Header | Description |
|---|---|
x-ratelimit-limit-second | Requests allowed per second |
x-ratelimit-limit-minute | Requests allowed per minute |
x-ratelimit-limit-hour | Requests allowed per hour |
x-ratelimit-limit-day | Requests allowed per day |
x-ratelimit-limit-month | Requests allowed per month |
x-ratelimit-remaining-second | Remaining requests this second |
x-ratelimit-remaining-minute | Remaining requests this minute |
x-ratelimit-remaining-hour | Remaining requests this hour |
x-ratelimit-remaining-day | Remaining requests today |
x-ratelimit-remaining-month | Remaining requests this month |
Checking Your Rate Limits
Make any API request and inspect the response headers to see your current limits:Handling Rate Limit Errors
When the rate limit is exceeded, the API returns a429 Too Many Requests status code. To handle this correctly, implement retry logic with a dynamic delay: immediately pause outgoing requests and wait for the duration specified in the ratelimit-reset header before attempting the request again.
Rate Limits by Plan
Rate limits vary by subscription tier:| Plan | Price/mo | Features | Limit/sec | Limit/mo |
|---|---|---|---|---|
| Free | 0€ | Basic | 1 | 1,000 |
| Hobbyist | 59€* | Basic | 1 | — |
| Business | 99€* | Basic | 2 | — |
| Scale | 399€* | Basic & Pro 💎 | 5 | — |
| Enterprise | Contact us | Basic & Pro 💎 | Contact us | — |
Pro 💎 features include premium validator selectors (
withdrawal address, deposit_address) and are available on Scale and Enterprise plans.Best Practices
Monitor Headers
Check
x-ratelimit-remaining-* headers before making bulk requests to avoid hitting limits.Use Backoff
Implement exponential backoff when receiving 429 errors to gracefully handle rate limits.
Batch with Dashboards
Use
dashboard_id to query multiple validators in a single request instead of individual calls.Related Resources
- Pagination Guide — Efficient data fetching
- Dashboard as Private Sets — Batch validator queries
- Custom Range Rewards — Performance considerations for bulk operations

