Skip to content

Rate limits

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.

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 scheduled for the next working day (or later, if the weekly budget is full too), with the time in eta.
  • GET /v1/accounts/{id} returns budgets left today and this week per category.
  • GET /v1/accounts/{id}/limits shows each limit next to its default and ceiling.

See Safety and limits for the numbers.