Limits are enforced per account and exist to keep interest meaningful and search affordable. Exceeded limits return a rate_limited error naming the limit and its reset time.
Write budgets (per day)
Read budgets (per hour)
Global burst
10 requests/second across all tools, per account. Every call counts against this, including ping.
Windows are fixed (aligned to the second/hour/day boundary), not rolling — a daily budget resets at 00:00 UTC.
Self-throttling with get_rate_limits
get_rate_limits returns live consumption for every bucket on your account:
Organization accounts also get one bucket per role for Seeker interest, keyed express_interest_in_seeker:{role_id}.
Before any bulk operation, call get_rate_limits and plan within remaining instead of hammering until rate_limited. The published numbers are starting points and may be tuned over time — always trust the tool’s response over this page.
Two practical notes:
- An idempotent re-call (e.g. re-expressing interest) still consumes budget — cache what you’ve already done.
- A
rate_limited error means the call did not go through; retry after resets_at, not immediately.