LinkedIn rate limits — invites, messages, and InMails

How WarmySender's campaign caps apply these limits

Your WarmySender campaign's "Daily limit" applies independently per action type — invites, follow-up messages, and InMails each get their own daily budget at the campaign level. Setting Daily limit = 20 with no Cap split (advanced) override means up to 20 invites + 20 messages + 20 InMails per day for that campaign, not 20 total. This mirrors how LinkedIn itself tracks each action type as a separate counter on its own side.

For full worked examples and how to configure the three caps separately, see How invite, message, and InMail caps work together.

Per-account daily ramp guard is the master ceiling. Regardless of what your campaign caps say, the per-LinkedIn-account ramp (80–100/day for paid accounts, lower for new accounts during their 4–6 week ramp) is enforced first. If the ramp says 40 invites/day and your campaign cap says 80, the engine sends 40 invites/day total. Account safety always wins.

What this page covers

LinkedIn enforces several per-account rate limits to detect and discourage automation. They're not published as a single official table on LinkedIn's own site, but our LinkedIn integration layer maintains a careful summary based on extensive testing and direct LinkedIn cooperation. This page walks through each limit, what it means in practice, and how WarmySender's default settings keep you safely under each one.

WarmySender is a 4-pillar outreach platform — Cold Emailing, Email Warmup, LinkedIn Outreach, and Multichannel sequences. This page is part of the LinkedIn Outreach pillar.

Account safety always wins over throughput. A banned LinkedIn account is unrecoverable. The numbers below are upper bounds — the documented points where LinkedIn starts scrutinizing accounts. Our defaults sit explicitly under each one because the cost of pushing the line and getting flagged is enormously higher than the cost of sending 20% fewer messages a day.

Invite limits (connection requests)

LinkedIn enforces these soft caps on connection requests for accounts in good standing:

The numbers are approximate because LinkedIn doesn't publish them officially and the platform tunes them per-account based on signals like account age, sending history, network size, profile completeness, and reciprocity (do people accept your invites?). New accounts and accounts with low-acceptance histories see lower caps in practice.

Why these numbers exist: LinkedIn's automation-detection systems weigh invite volume heavily. A single account sending 200+ invites a day is statistically very rare for genuine human use, so it raises the suspicion score quickly. Sustained high volume plus low acceptance ratio is the strongest restriction signal LinkedIn watches.

Our default: 80 invites per day per LinkedIn account. This sits under the 80-100 documented soft cap and leaves a safety buffer for the inevitable account-age and acceptance-ratio variations LinkedIn factors in. You can adjust this in the campaign editor's "Cap split" section, but we strongly recommend staying under 90/day. The slider shows a red zone above 90 to flag the risk visually.

Messages to existing connections

LinkedIn enforces a shared 100-actions-per-day budget across messages-to-connections, profile views, comments on posts, and reactions on posts. All four action types draw from the same per-account daily counter. So if you spend 60 actions a day on profile views (e.g. enrichment), you only have 40 left for messages, comments, and reactions combined.

Why this exists: from LinkedIn's perspective, all four actions are "engagement with another user's profile or content." Bundling them into one bucket prevents automation tools from working around a single-axis limit by spreading volume across action types.

Within the 100/day shared bucket, individual sub-actions also have their own constraints — for example, an account that messages 100 connections a day but does nothing else will probably trip a different signal than one that splits 50 messages and 50 profile views — but the 100/day envelope is the hard ceiling we recommend staying under.

Our default: 80 follow-up messages per day per LinkedIn account. This sits under the 100/day shared bucket and leaves headroom for profile views, comments, and reactions if you use those features (post-engagement steps, manual connections). If you use post-engagement features heavily, consider lowering this to 60-70/day to leave more room for the engagement actions. The campaign editor tooltip explains this trade-off and links here.

InMail limits

InMails work differently from regular messages because they reach people you're not connected to. LinkedIn rations them based on your subscription tier:

InMail credits typically refill on the first of each month for Sales Navigator and Recruiter accounts. A response from the recipient generally returns the credit to your balance (so high-quality, targeted InMails effectively cost nothing if they get replies — LinkedIn rewards relevance).

Why these numbers exist: InMails are LinkedIn's premium "skip the connection request" channel, and the credit system both monetizes the feature and keeps spam pressure low. Outreach tools that send hundreds of InMails per day across many accounts trigger LinkedIn's anti-spam detection quickly because the cost-per-message is so high — only a real human or a tool would pay that cost.

Our default: 5 InMails per day per LinkedIn account. This is generous for most cadences (5/day × 30 days = 150 InMails/month, which fits within Sales Navigator Core's monthly credit balance assuming a healthy reply rate that returns some credits). If you have Recruiter or are pushing heavy InMail volume on a Sales Nav Advanced subscription, you can raise this in the campaign editor — the slider's red zone starts at 15/day to flag the risk.

Why we always ramp up gradually

The numbers above are documented soft caps for established, healthy accounts. New LinkedIn accounts — even paid ones — see substantially lower thresholds in practice while LinkedIn builds a model of "is this user behaving like a human." The guidance is simple: start low and increase gradually. That's exactly how WarmySender's default ramp schedule works.

For a brand-new LinkedIn account on WarmySender, the platform starts the daily invite cap at around 10/day and scales up over a 4-6 week ramp toward the 80/day default. The ramp curve is conservative: each week, the cap increases by a small percentage as long as your acceptance ratio stays healthy. If acceptance drops or LinkedIn starts returning cap-related restriction signals at higher rates, the ramp pauses or reverses to protect the account.

Why we don't let new accounts "catch up" by sending 80 invites on day 1: a new account with no sending history, no network, and 80 invites in a day is statistically unique to automation. LinkedIn flags it almost immediately. The first 4-6 weeks of any LinkedIn automation are the most risky window — that's where we hold the cap lowest and grow it slowest.

Throughput catches up. If you're patient through the ramp, by week 6 your account is sending at full capacity and LinkedIn's automation-detection model has labeled it as "normal user." Pushing harder shaves a few weeks off the calendar at the cost of a substantially higher restriction risk.

How WarmySender keeps you safe

Three layers of enforcement, all working in parallel:

All three layers fail closed: if our queue store, ramp scheduler, or health monitor is unavailable, the platform stops sending rather than risking a cap overshoot. Account safety always wins over throughput, every time.

Common questions

Why are the limits "approximate"? Doesn't LinkedIn publish exact numbers?

No. LinkedIn doesn't publish per-action rate limits because doing so would help spammers operate at the line without triggering enforcement. The caps move based on per-account signals (account age, history, network size, acceptance ratio, profile completeness) and adjust over time as LinkedIn tunes its automation-detection systems. The numbers we publish are based on extensive testing and partner-level cooperation; they're the most reliable source available, but they should always be treated as upper bounds rather than targets.

Can I push WarmySender's defaults higher?

Yes, the campaign editor lets you tune every cap. We strongly recommend keeping invites under 90/day and follow-up messages under 90/day. The InMail cap can go higher on Recruiter accounts. Each slider has a red zone marking the documented risk threshold and a tooltip linking back to this page. We will not block you from pushing the limits — that's your call — but our defaults sit conservatively because the asymmetric cost of a banned account makes them the right starting point.

What's the shared 100/day non-invite-action bucket and why does it matter?

It's a per-account daily ceiling on the sum of (messages to connections + profile views + comments on posts + reactions on posts). LinkedIn treats all four as "engagement with another user's profile or content" and combines them into one budget. If you use post-engagement features heavily, you may want to lower the follow-up message cap below 80/day to leave more room for profile views and engagements. The campaign editor surfaces this trade-off in the cap split tooltip.

What happens if I hit a LinkedIn rate limit mid-campaign?

WarmySender shouldn't let you, because our caps sit under LinkedIn's. But if it ever happens — say LinkedIn lowers a per-account cap mid-flight in response to a signal we didn't see — the platform sees a rate-limit response from the LinkedIn side and treats it as a stop signal: the prospect is parked for the next sending window, the account's daily cap is recomputed against actuals, and we hold off. We never retry rate-limit errors aggressively because doing so would be the strongest restriction signal of all.

Are limits the same for all subscription tiers?

No. Premium, Sales Navigator, and Recruiter subscriptions get higher invite and InMail allowances than free accounts. Sales Navigator typically gets the highest invite cap (around 100/day) and the most generous InMail credit balance. Recruiter Full has the highest InMail allowance (150/month). Free accounts get the lowest caps across the board. WarmySender auto-detects your subscription tier when you connect your account and adjusts the ramp ceiling accordingly.

Why do my invites get rejected as "out of network" sometimes?

That's not a rate limit — it's LinkedIn's network-distance gate. You can only send connection requests to people who are within 3 degrees of your network OR are explicit Open To Connect / Open Profile members. The "out of network" error usually means the prospect is 4+ degrees away with no shared groups or open-profile flag. The fix is to ensure your prospect list is filtered for accessibility (e.g., by connection degree in Sales Navigator, or by using LinkedIn's "open to" filters). This isn't a rate limit and isn't subject to the daily caps — but it eats your ramp budget if every invite gets rejected.

Does WarmySender ever exceed these limits?

No. Our cap enforcement is atomic at the queue-store level, not in code that has to remember to be careful. Every send reserves its slot in a single atomic operation before the LinkedIn API call fires; if the cap is reached, the operation fails fast and the prospect waits for tomorrow. The cap can't overshoot, and we fail closed if our queue store is unreachable (we stop sending rather than guess). This pattern is documented in our internal post-mortem on the May 2026 cap-overshoot incident; the fix made cap overshoots impossible by construction.

Are the limits the same in every country?

Mostly yes. LinkedIn's caps are global, not regional. There are some second-order effects — accounts that look like they're sending from a high-spam region see slightly tighter behavioral thresholds — but the documented invite/message/InMail numbers above apply globally. Our dedicated proxies (one per LinkedIn account, geo-located near your real IP across 40+ countries) help avoid the region-related signals.

Still have questions? Email hello@warmysender.com with your campaign name and we'll dig into the specific account.