$ man rate-limiting

GTM · Automation & Scripts

Rate Limiting

Deliberately slowing down API calls so you don't get blocked, hit quotas, or crash the provider's servers. Usually 1-2 seconds between calls. Boring but essential.


why it matters

every API has rate limits. Exa, Clay, LinkedIn, Instantly — they all throttle you if you hit too fast. and getting rate-limited mid-pipeline is worse than going slow from the start. when you're processing 73 companies with 3 API calls each, that's 219 calls. without rate limiting, you'll get blocked around call 50 and have to restart. with a 1-second delay between calls, you finish in ~4 minutes with zero failures. I learned this after crashing several enrichment runs. now every script has a configurable DELAY constant. it's the first thing I set.

how I use it

every Python script I write has a DELAY variable at the top — usually 1.0 to 1.5 seconds. between each API call, the script sleeps for that duration. I also build in deduplication checks before API calls — if a company was already enriched in a previous run, skip it. that saves API credits and reduces total runtime. for Exa specifically, I space calls at 1.0s for search_and_contents() and 1.5s for find_similar() (which is heavier). for batch operations, I log progress after every call so I can see where a pipeline is and estimate time remaining. rate limiting isn't exciting, but it's the difference between a script that runs reliably and one that fails halfway through.


related terms
Enrichment PipelineBatch ProcessingExa
GTM knowledge guideall terms →
ShawnOS.ai|theGTMOS.ai|theContentOS.ai
built with Next.js · Tailwind · Claude · Remotion