You kick off a lead enrichment campaign, everything’s running smoothly — then suddenly your requests stop dead. The API responds 429 Too Many Requests. Your Zapier workflow is broken, your prospects aren’t being enriched, and you have no idea why or how to fix it.
API rate limits are one of the least-documented realities for sales and growth teams using enrichment, scraping, or automation tools. Yet understanding them can mean the difference between a smooth enrichment process and a stack that falls apart every campaign.
This guide explains what rate limits are, why they exist, and — more importantly — how to manage them in practice so they never block your workflows again.
Enrich your leads without managing quotas yourself
Derrick handles API calls internally, directly in Google Sheets. Emails, phone numbers, LinkedIn data — no rate limits to worry about.
What Is an API Rate Limit? Definition and Core Concepts
A rate limit is a rule imposed by an API provider that restricts how many requests a client can send within a given time window.
In practice: if an API allows 100 requests per minute and you send 150, the last 50 will be rejected with HTTP error code 429 Too Many Requests.
API quotas work on a similar logic but over a longer horizon: they’re the total volumes allowed per day, month, or billing cycle. Exceeding your monthly quota can cut off access entirely until renewal — or trigger overage charges.
These two mechanisms often stack on top of each other:
- Rate limit: 60 requests/minute maximum
- Quota: 10,000 requests/month maximum
For an SDR enriching a list of 500 prospects every week via an email finder API, blowing through the monthly quota mid-month means a week with no enrichment — right when you need it most.
Why Do APIs Impose Rate Limits?
Understanding the reasoning behind rate limits helps you work around them intelligently.
On the provider side, the reasons are straightforward:
- Stability: Prevent one client from monopolizing server resources at the expense of everyone else
- Abuse prevention: Block mass scraping or automated behavior that violates terms of service
- Business model: Encourage upgrades to higher-tier plans for larger quotas
On the user side, a well-sized rate limit is also a safeguard: it stops you from accidentally firing thousands of requests in seconds because of a misconfigured loop in a Zapier or Make workflow.
LinkedIn, for example, enforces strict limits on profiles viewed per day (roughly 100 on a free account, slightly more with Sales Navigator). Push past these thresholds and your account can be temporarily restricted — regardless of which tool you’re using.
The Different Types of Rate Limits You’ll Encounter
Not all rate limits work the same way. Here are the main variations you’ll run into with enrichment and automation APIs.
Sliding Window Rate Limits
The request count is calculated over the last 60 seconds in real time — not from the top of the clock minute. This is the strictest type: you can’t “burn” your quota at 12:00 and start fresh at 12:01.
Fixed Window Rate Limits
The quota resets at a fixed interval (every minute, hour, or day). More predictable: a growth marketer can schedule batch enrichments to kick off at the start of a new window.
Per IP vs. Per API Key Limits
Some APIs limit by IP address (problematic if multiple teammates share a network), others by API key (easier to manage per tool or per client). The vast majority of B2B enrichment APIs use per-key limits.
Credit-Based Quotas (SaaS Model)
Tools like Derrick operate on a credit system: 1 credit = 1 action (enrichment, email search, profile scrape). This model is often more readable than a technical rate limit — you see exactly how many actions you have left and can plan accordingly. Unused credits in Derrick roll over to the next month, so there’s no waste.
How to Identify a Rate Limit: HTTP Headers to Watch
When working directly with a REST API, rate limit information is typically transmitted in the HTTP response headers on every request. Here are the most common ones:
| Header | Meaning |
|---|---|
X-RateLimit-Limit |
Total requests allowed per window |
X-RateLimit-Remaining |
Requests left before you’re blocked |
X-RateLimit-Reset |
UNIX timestamp of the next reset |
Retry-After |
Seconds to wait before retrying (returned with the 429) |
In practice: Emma, a Sales Ops manager at a lead gen agency, runs an n8n workflow that enriches 300 contacts overnight. By adding a step that reads the X-RateLimit-Remaining header, she automatically pauses the workflow when fewer than 10 requests remain — then restarts it after the Retry-After window.
With no-code tools like Zapier or Make, these headers aren’t visible in the interface, but 429 errors show up in execution logs. That’s the signal to watch for.
Strategies to Manage Rate Limits Effectively
1. Exponential Backoff: The Industry Standard
The concept: when a request fails with a 429, wait before retrying. Each successive failure doubles the wait time.
Example sequence:
- 1st failed attempt → wait 1 second
- 2nd failed attempt → wait 2 seconds
- 3rd failed attempt → wait 4 seconds
- 4th failed attempt → wait 8 seconds
This prevents hammering an already-overloaded server. Google, AWS, and Stripe all recommend this approach in their official documentation.
No-code alternative: In Zapier, enable “Retry on Error” and set a delay between actions. In Make, use a “Sleep” module between loop iterations.
2. Preventive Throttling: Space Your Calls Before Getting Blocked
Rather than firing 60 requests in a burst and waiting to get cut off, voluntarily space them out: 1 request every 2 seconds stays safely under a 30 requests/minute ceiling.
Mark, founder of a B2B SaaS startup, enriches his prospect lists in Google Sheets. Instead of running enrichment on 500 rows at once, he uses Derrick’s native batching (50 rows at a time) to keep the process stable and avoid quota issues entirely.
3. Queue-Based Processing
For high volumes, use a queue: requests stack up and are processed at a controlled pace, even if the original trigger fires everything at once.
In n8n, a “Rate Limit” node or a “Split In Batches” + “Wait” combination implements this pattern cleanly — no complex code required.
4. Response Caching
If you’re frequently enriching the same data (same domain, same LinkedIn profile), storing results in Google Sheets and only re-calling the API for new or expired entries can cut your quota consumption by 5x or more.
Quota Management in B2B Enrichment Workflows
This is where API quota management becomes most tangible — in the real workflows sales and growth teams run every day.
Batch Enrichment vs. Real-Time Enrichment
Batch enrichment (processing an entire list at once) consumes heavy quotas in a short window. Schedule it outside peak hours and break it into sub-batches.
Real-time enrichment (triggered the moment a lead enters your CRM or Google Sheets) is lighter per request, but can accumulate fast if your inbound volume is significant.
Recommendation: Combine both. Real-time for new entries, scheduled overnight batches for supplementary enrichment (phone numbers, tech stack, deeper LinkedIn data).
For a deeper look at enrichment strategies, check out our guide on database enrichment.
Zapier, Make, and n8n: Watch Out for Infinite Loops
A classic trap: a workflow triggered by “new row in Google Sheets” that enriches the row — which adds data, which re-triggers the workflow. Result: hundreds of API calls in seconds.
Fixes:
- Add an “enrichment status” column and make the trigger conditional on
status = empty - Use filters in Zapier/Make to only process rows with no existing data
- Set a minimum delay between executions
Database Enrichment: Complete Guide
All the strategies to enrich your B2B data effectively, from batch processing to full automation.
LinkedIn APIs: Stricter Rules Than Most
LinkedIn is the most restrictive API in the B2B prospecting world. The network enforces tight limits on:
- Profile views per day (varies by plan)
- Connection requests (~20–25/week is the safe range)
- Data extraction via third-party tools
Tools like Derrick handle these constraints internally by smoothing out calls over time, letting you import LinkedIn profiles or pull company lists from Sales Navigator without exposing your account to restrictions.
Best Practices: The Golden Rules of API Quota Management
1. Always Read the Docs Before Integrating
Every API documents its limits in a “Rate Limits” or “Quotas” section. Before automating anything, check: how many requests are allowed, over what window, and what happens when you exceed the limit (temporary block or permanent suspension?).
2. Monitor Your Usage Proactively
Don’t discover a quota breach when the workflow breaks. Set up alerts:
- In Google Sheets: a cell calculating
credits used / monthly quotawith conditional formatting that turns red at 80% - In Zapier: enable error notification emails and route them to a dedicated Slack channel
3. Choose Tools That Abstract API Complexity
One of the key advantages of using an enrichment tool like Derrick directly inside Google Sheets is that API call management is internalized. You’re not interacting with LinkedIn’s API or email provider APIs directly — Derrick handles that, exposing you to a simple credit system instead. For an SDR or growth marketer, that’s far more manageable than digging through API dashboards.
The Derrick data enrichment page lays out available workflows based on your starting data.
4. Plan Ahead for Campaign Spikes
Before a major outbound push, check your quota headroom. If you normally enrich 500 contacts/month and you’re launching a 2,000-contact campaign, upgrade your plan beforehand rather than hitting a wall halfway through.
5. Never Share API Keys Between Users
A shared API key means shared quota. If a colleague runs an unplanned bulk enrichment, it eats into your quota. Use separate keys per user or per project wherever possible.
Common Errors and How to Fix Them
Problem 1: A 429 Error Kills the Entire Workflow
Impact: The whole automation stops, leads aren’t enriched, and you only notice the next morning.
Fix: Enable automatic retries in your automation tool (Zapier, Make) and set up an immediate error notification via email or Slack. Add an error-handling step that logs failed contacts so they can be re-enriched in the next run.
Problem 2: Quota Exhausted Mid-Month
Impact: No enrichment for two weeks, outbound campaigns blocked.
Fix: Audit consumption over the past three months. If you consistently exceed your quota, upgrade. If not, identify the greedy workflows (usually misconfigured loops) and fix them before the next cycle.
Problem 3: Duplicate Enrichments Burning Credits
Impact: Quota consumed twice as fast, duplicate data polluting your Sheets.
Fix: Run Derrick’s Remove Duplicates before launching any batch enrichment. Add a control column (e.g., enrichment date) so the same contact is never processed twice.
Problem 4: Rate Limit Hit During Unsupervised Overnight Enrichment
Impact: Only 30% of contacts are enriched by morning, with no alert sent.
Fix: Break your batch into sub-batches with a pause between each (Make’s “Wait” module, n8n’s delay node). Do the math upfront: if your API allows 1,000 requests/hour and you have 5,000 contacts, plan for at least 6 hours with a safety buffer.
Key Takeaways
- A rate limit restricts request frequency (e.g., 100/minute); a quota caps total volume (e.g., 10,000/month) — they often apply simultaneously
429 Too Many Requestsmeans you’ve hit a rate limit; read theRetry-Afterheader to know when to try again- Exponential backoff (doubling the wait time on each retry) is the go-to strategy for handling 429s
- Infinite loops in Zapier/Make are the #1 cause of accidental quota exhaustion
- Tools that handle API calls internally (like Derrick) let you focus on your data, not on infrastructure
- Monitor consumption proactively — don’t wait for a broken workflow to tell you you’re over quota
Conclusion: Master Your Quotas, Stop Fighting Your Tools
API rate limits and quotas aren’t there to block you — they’re there to keep services stable for everyone. But without understanding them, they become the main source of friction in enrichment and sales automation workflows.
Apply the best practices in this guide — preventive throttling, exponential backoff, proactive monitoring, and smart batch segmentation — and these constraints become predictable variables you control, not surprises that derail campaigns.
And if you’d rather skip the technical complexity entirely, tools like Derrick let you enrich your leads directly in Google Sheets, with a simple credit system and API management handled under the hood.
Enrich your data without fighting APIs
Derrick manages API calls, rate limits, and quotas internally. You focus on your prospects.
FAQ
What is a 429 Too Many Requests error? It’s the HTTP code returned by an API when you’ve exceeded its rate limit. The response typically includes a Retry-After header indicating how many seconds to wait before retrying. It’s not a permanent block — just a temporary pause.
What’s the difference between a rate limit and an API quota? A rate limit restricts frequency (e.g., 100 requests/minute). A quota caps total volume over a longer period (e.g., 10,000 requests/month). Both can apply to the same API simultaneously. Exceeding a rate limit is temporary; exceeding a quota can block access until the billing cycle resets.
How do I avoid 429 errors in Zapier or Make? Space out your calls by adding a “Delay” or “Wait” module between actions. Enable automatic retries, and add a filter step so you only process records that haven’t been enriched yet — this prevents loops that drain quotas fast.
Does Derrick’s credit system have rate limits? Derrick manages the underlying API calls internally and exposes a simple credit system (1 credit = 1 action). Unused credits roll over each month. You don’t interact directly with the APIs underneath, which eliminates the need to manage rate limits manually.
How do I calculate the quota I need for an enrichment campaign? Count the number of contacts × the number of attributes you need per contact (email, phone, and LinkedIn data each count as separate actions). Add a 20% buffer for duplicates and retries. Compare that against your remaining monthly quota before launching.