Skip to main content
Rate limits vary by plan. All limits are per API key. To prevent abuse, Unlimited Plans are subject to our Fair Use Policy.

Enrichments

Searches

How the window works

This works as a rolling window, not a fixed daily reset. The moment you make your first request, a 5-hour window opens. Everything you use for the next 5 hours draws from the same pool — the figure in your plan’s row above. When the window closes, the limit resets, and your next request kicks off a fresh 5-hour window. A $97 account can therefore spend all 15k enrichment records in the first minute and then wait out the rest of that window, or spread the same 15k evenly across the five hours. The weekly window works the same way — it rolls from your first request rather than resetting on a calendar day. Nothing is scheduled, so there’s no reset hour to plan around. get_account reports resets_at for each window, which is the exact moment your current pool refills — see Check where you stand.

What counts as a request

Every API call counts toward the rate limit, regardless of whether it returns data. Empty results and account management calls (get_account, get_billing, get_usage) all count as requests.

Check where you stand

Before assuming you’ve hit a wall, check your current position. get_account, get_billing, and get_usage are free — they never cost tokens.

get_account — live rate-limit standing

get_account returns a fair_use object that mirrors the tables above: enrich and search, each split into records and requests, over the 5h and 1w windows. Each window reports limit, used, remaining, and resets_at — so you can see exactly how much headroom is left and when the window rolls over.
A resets_at of null means the window hasn’t started counting yet (nothing used); once you make calls it carries the ISO 8601 timestamp when that window resets.

get_usage — consumption history

get_usage shows how many calls you’ve actually made over a period, broken out by day plus a totals block — calls, with_data, without_data, and failed. Use it to spot bursts that are pushing you toward the 5-hour caps and to confirm which runs are driving your volume. Ask your connected agent “check my MoltSets rate-limit headroom” and it will read these for you.

Staying within the limit

A few approaches to keep your usage within bounds:

Spread your automations out

If you’re running scheduled tasks, split them across 2–4 runs per day rather than one large burst. Because the 5-hour window rolls from your first request, spacing runs at least five hours apart gives each one a fresh pool to draw from.

Use batching with pauses between batches

For high-volume operations — say, updating 10,000 leads — don’t fire all requests at once. Instead:
  1. Group your calls into batches of 100
  2. Wait 2 seconds between each batch
  3. Continue until all requests are processed
If you need help adapting your code to work within these limits, any AI coding assistant can help restructure your logic.

Rate limit errors

When you exceed your plan’s rate limit, the API returns a 429 Too Many Requests response:
The request is not retried automatically — your client is responsible for handling 429 responses.

Handling rate limits

Exponential backoff is the recommended approach. When you receive a 429, wait before retrying:
Batch endpoints where available (e.g. linkedin_to_mobile_phone supports up to 100 linkedin_urls per call) let you reduce total request count significantly.