For the complete documentation index, see llms.txt. This page is also available as Markdown.

Rate Limits

Learn how Pullbay API rate limits work, how to monitor your usage, and proven strategies to handle rate limits without disrupting your application. This guide covers rate limit headers, best practices, and production-ready code examples.

How Rate Limits Work

Pullbay implements request rate limiting to ensure fair usage and maintain service stability for all users.

Rate Limit Basics

  • Scope: Rate limits are applied per API key, not per IP address

  • Time Window: Rate limits reset on a per-minute basis (60-second rolling window)

  • Enforcement: When you exceed your plan's limit, the API returns a 429 Too Many Requests status code

  • Charges: Failed requests due to rate limiting still consume API credits

What Happens When You Exceed Rate Limits

When you exceed your plan's rate limit:

  1. The API returns HTTP status 429 Too Many Requests

  2. An error response is sent with the code: "rate_limit_exceeded"

  3. Subsequent requests are rejected until the time window resets

  4. The reset header tells you exactly when limits reset (Unix timestamp)

Error Response Example:

Plan-Based Rate Limits

Your rate limit depends on your Pullbay plan. Upgrade your plan to increase your request capacity.

Plan
Requests/Min
Best For

Free

10

Exploration and testing

Hobby

20

Small side projects and light automation

Builder

40

Production use and growing apps

Scale

60

High-volume usage

See the Pullbay dashboard or the Plans page for current pricing and limits.

Example: With the Scale plan (60 req/min), you can sustain about 1 request per second.

Checking Your Current Rate Limit

Your API key's rate limit is shown:

  • In the Pullbay dashboard under Billing

  • In the limit response header from any API call

Look for:

Rate Limit Response Headers

Every Pullbay API response includes rate limit information in the response headers:

Header
Type
Description

Integer

Your plan's maximum requests per minute

Integer

Requests remaining in this minute

Unix Timestamp

When the current rate limit window resets (seconds since Jan 1, 1970)

Example Response Headers:

Converting the Unix Timestamp:

Monitoring Rate Limit Status

Always inspect rate limit headers after each request:

Rate Limit Handling Strategies

Strategy 1: Proactive Throttling

Best for: Predictable, steady-state usage with varying load

Monitor the remaining header and proactively slow down requests when approaching the limit. This prevents rate limit errors entirely.

Advantages:

  • Prevents rate limit errors

  • Smooth, predictable request flow

  • Works well with steady pagination

Disadvantages:

  • May add unnecessary delays

  • Not ideal for bursty traffic patterns


Strategy 2: Reactive Backoff

Best for: Simple implementations, occasional rate limit hits

Wait when you encounter a 429 error. Extract the reset time from the X-RateLimit-Reset header and retry after the window resets.

Advantages:

  • Simple to implement

  • No overhead if rate limits aren't hit

  • Works for occasional bursts

Disadvantages:

  • Still results in some 429 errors

  • Less efficient than proactive throttling

  • Cumulative delay when frequently hitting limits


Strategy 3: Exponential Backoff with Jitter

Best for: Robust production systems, highly resilient applications

Implement exponential backoff with randomized jitter. When a rate limit (or other transient error) occurs, wait an exponentially increasing duration with random variance to avoid thundering herd problems.

Advantages:

  • Most robust approach for production

  • Handles transient errors (429, 5xx) gracefully

  • Jitter prevents thundering herd

  • Exponential backoff allows service recovery time

Disadvantages:

  • More complex implementation

  • Can introduce significant delays during outages

Backoff Sequence Example:


Best Practices for Rate Limit Management

1. Monitor Rate Limit Headers After Every Request

Always extract and log rate limit information:

2. Batch Requests Efficiently

Combine multiple logical requests into fewer API calls when possible:

3. Use Managed Pagination Endpoints

Pullbay's managed pagination endpoints (e.g., /reviews) handle pagination internally and consume fewer API credits:

4. Cache API Responses

Cache responses to avoid redundant API calls:

5. Request Only the Data You Need

Use parameters to limit the amount of data returned:

6. Implement Request Queuing

For applications that need to make many requests, queue requests and process them at a controlled rate:

7. Upgrade Your Plan When Needed

If you consistently hit rate limits:

  1. Add bandwidth: Upgrade to a higher plan for more requests/minute

  2. Monitor trends: Track rate limit hits in your logs

  3. Optimize queries: Reduce API calls through caching and batching

  4. Contact sales: For enterprise scale needs, contact Pullbay sales for custom limits

8. Set Up Rate Limit Alerts

Log rate limit status and alert when approaching the limit:

Production-Ready Rate Limit Tracking

Here's a complete example tracking rate limit usage over time:

Frequently Asked Questions

What happens when I hit the rate limit?

You receive an HTTP 429 Too Many Requests response with the error code rate_limit_exceeded. The resetTime header tells you when the rate limit window resets (Unix timestamp). Implement backoff logic to retry after the reset time.

Does the rate limit reset every minute?

Yes. Pullbay uses a rolling 60-second time window. The oldest requests from the window drop off as time advances, making room for new requests. The resetTime header shows the exact Unix timestamp when your current window resets.

Can I get a higher rate limit?

Yes:

  1. Upgrade your plan in the Pullbay dashboard (self-service)

  2. Contact the Pullbay team for custom arrangements beyond Scale-tier limits

Upgrading takes effect immediately.

Are credits charged for rate-limited requests?

Yes. Failed requests due to rate limiting (429 status) still consume API credits.

How do I know my current rate limit?

Check the limit header from any API response, or view your plan details in the Pullbay dashboard.

Should I implement proactive throttling or reactive backoff?
  • Proactive throttling: Best for predictable, steady load with variable traffic

  • Reactive backoff: Simpler, works well for occasional bursts

  • Exponential backoff: Best practice for production—handles both rate limits and transient server errors

Can I make burst requests above my rate limit?

No. Rate limits are strictly enforced per API key. Requests exceeding the limit receive 429 responses until the time window resets. Plan your request patterns to stay within your limit.

What's the relationship between rate limits and API credits?

They're separate systems:

  • Rate limits control request frequency (requests/minute)

  • API credits control total API usage (consumed per request, varies by endpoint)

Both constraints must be satisfied. You might hit rate limits first, or run out of credits first, depending on your usage.

Last updated