An API rate limit is a cap on how many requests a client may send to an API within a given time window, enforced to protect the service.
How rate limits work
An API counts requests per key, user, app, or IP address over a window, such as 15 minutes or 24 hours. When a client goes over, the API refuses further requests until the window resets.
Typical signals:
- HTTP status 429 Too Many Requests.
- A
Retry-Afterheader saying how long to wait. - Headers showing the limit, remaining requests, and reset time.
Social networks set their own limits per endpoint, and they change them. Posting endpoints usually have tighter limits than reading endpoints, and some networks also cap posts per account per day.
Handling them well
- Respect
Retry-Afterwhen it is present. - Retry with exponential backoff and jitter otherwise.
- Make retries safe with idempotency, so a retry does not post twice.
- Queue work rather than sending it all at once.
An example
An agent schedules 40 posts for 9:00. The scheduler spreads the calls, hits a 429 on one network, waits the time the header asks for, and retries that post.
Why it matters for AI-agent publishing
Agents can generate requests far faster than people. Without limits on the agent side, they burn through a network's quota and block your own manual posts too.
SocialHandoff retries failed publishes and uses duplicate protection so a retry does not create a second post. Per-account daily limits, set as guardrails, keep agents well below network caps. See troubleshooting for failed-post errors.