Rate limits
Request rate limit
Section titled “Request rate limit”Each credential (API key, or signed-in person) can make 600 requests per minute. The window is a fixed calendar minute, shared across all of Linnia’s API servers.
Every response carries:
| Header | Meaning |
|---|---|
ratelimit-limit |
Requests allowed per minute (600). |
ratelimit-remaining |
Requests left this minute. |
ratelimit-reset |
Seconds until the window resets. |
Over the limit, you get 429 with a retry-after header:
{ "ok": false, "error": { "type": "rateLimited", "message": "Too many requests: 600 per minute per credential.", "next": "Retry in 42s. Reads of job status can use ?wait= instead of polling." }}The most common cause is polling jobs in a tight loop. Use GET /v1/jobs/{id}?wait=60 (one request that returns as soon as the job finishes) or webhooks instead.
LinkedIn budgets are different
Section titled “LinkedIn budgets are different”The request limit protects the API. Budgets protect the LinkedIn account: invitations, messages, profile views and so on per day and week, per account. They’re enforced when a job runs, not when you call the API:
- A write over budget isn’t refused: the job is
scheduledfor the next working day (or later, if the weekly budget is full too), with the time ineta. GET /v1/accounts/{id}returnsbudgetsleft today and this week per category.GET /v1/accounts/{id}/limitsshows each limit next to its default and ceiling.
See Safety and limits for the numbers.