1. Edges Smart Limits
Edges protects your clients’ LinkedIn accounts with our unique Smart Limits system.
By using Edges exclusively, clients can run a high volume of actions without issues.
These limits help stay within LinkedIn’s daily action caps, preventing account restrictions.
Smart Limits operate on a 24-hour sliding window.
What happens when the limit is reached? In real-time mode, requests will fail with a rate limit error. In async or schedule modes, tasks will be postponed and automatically resume once the limit is freed up.
Example Over 24 hours:
If it’s Wednesday at 2 PM, Edges checks the past 24 hours for any activity:
- If the limit is hit (e.g., 1000/1000 actions), no new tasks are launched in async/schedule modes, or requests fail immediately in real-time mode.
- We periodically check to see if the limit is cleared, e.g., at 3 PM, there might be 100 actions freed up.
- The available actions may vary depending on when the limit was last checked.
Edges only tracks actions performed within the platform, not manual
actions on LinkedIn or using other automation tools.
How Smart Limits Work
Limits are per-action, per-identity. Each LinkedIn action (e.g., linkedin-connect-profile, salesnavigator-search-metrics) has its own daily limit tracked separately for each identity.
| Concept | Explanation |
|---|
| Per-action | Hitting the limit on salesnavigator-search-metrics doesn’t affect linkedin-extract-people |
| Per-identity | Each identity has its own limit counter for each action |
| 24-hour sliding window | Limits reset gradually, not all at once at midnight |
Example: If Identity A hits its linkedin-connect-profile limit, it can still run linkedin-extract-people. Identity B is unaffected.
Auto Mode and Rate Limits
When using identity_mode=auto, Edges distributes requests across all available identities. If all identities in your pool hit their Smart Limit for a specific action, you’ll see:
{
"label": "LIMIT_REACHED",
"message": "Daily limit reached for linkedin.",
"error": "all integration identities are exhausted",
"postponed_until": "2025-12-23T15:15:42.523Z"
}
What this means:
- Every identity in your pool has reached its daily limit for this specific action
- The task is postponed until
postponed_until (when limits start freeing up)
- Other actions may still work (limits are per-action)
Solutions:
- Add more identities to your pool
- Use
identity_mode=managed to access Edges’s account pool
- Wait for
postponed_until — async tasks automatically retry
Checking Your Current Limits
Use the Get Identity Limits endpoint to check real-time usage:
GET /v1/identities/{identity_uid}/actions/{action_slug}/limits
Example: Check salesnavigator-search-metrics limits for a specific identity:
curl -X GET "https://api.edges.run/v1/identities/your-identity-uid/actions/salesnavigator-search-metrics/limits" \
-H "X-API-Key: your-api-key"
This endpoint evaluates limits in real-time, which is resource-intensive. Use it sparingly — don’t poll continuously. It is rate limited along with other identity management operations. Check the Rate Limits documentation for details.
2. Key Points for Avoiding LinkedIn Restrictions
When implementing Edges for LinkedIn automation, it’s crucial to inform your users about a few key actions to prevent account restrictions.
Key steps to follow:
| Step | Action |
|---|
| 1. Avoid Multiple Automation Tools | Advise against using multiple automation tools simultaneously to prevent LinkedIn from flagging the account for suspicious activity. |
| 2. Match Timezone Settings | Ensure the timezone selected in Edges matches the user’s actual location or VPN country. |
Using multiple automation tools at once with Edges can cause issues.
- Why? Many automation tools don’t manage IP addresses properly, which could trigger flags on LinkedIn. When using multiple tools, LinkedIn may detect activity from different sources, increasing the likelihood of restrictions.
- The result: LinkedIn might flag the account for suspicious activity, potentially resulting in restrictions.
Ensure Timezone Settings Match
The timezone selected in Edges must match the country where you’re logging into LinkedIn.
- Why it matters: The timezone field provisions a proxy IP matching that timezone/country. If the timezone in your Edges identity doesn’t align with your LinkedIn login location, LinkedIn may restrict your account.
- What to do: Always check that the timezone in your Edges identity matches the country where you’re logging into LinkedIn to avoid being flagged.
VPN Use: Match Locations Carefully
Using a VPN can be helpful but needs careful management.
- Best practice: The country in your VPN should match the timezone set in Edges. If there’s a mismatch, LinkedIn might flag your activity as suspicious.
- Tip: Double-check that the timezone in Edges matches your VPN’s location, or disconnect the VPN when accessing LinkedIn to avoid issues.
What to Do if Your Client Gets a LinkedIn Restriction?
- Don’t worry! Restrictions are usually temporary. ⏳
- Steps to follow:
- Are other automation tools running alongside Edges?
- Does the timezone setting in Edges match the user’s actual location?
- If using a VPN, does the VPN location match Edges’s timezone setting?
3. Best Practices
- Scale your efforts: Use multiple identities and the identity_mode=auto feature to manage higher action volumes while staying within LinkedIn’s limits.
- Avoid overloading: Space out actions over time to improve efficiency and avoid triggering restrictions.
- Monitor activity: Regularly track identity usage to prevent exceeding limits unexpectedly.
- Choose the right execution mode: Use real-time mode for immediate results, async mode for large batches, and schedule mode for time-based automation.
By following these guidelines, you can ensure smooth LinkedIn automation without restrictions!
4. LinkedIn Limits
LinkedIn Commercial Limits
All limits are based on a 24-hour sliding window, meaning they reset every 24 hours.
A single limit may be consumed by multiple actions. Use the Get Identity Limits endpoint to see all limits that apply to a specific action.
How Account Limits Work
Each limit defines how many times a specific type of action can be executed within a defined time window.
Limit Fields Explained
| Field | Meaning |
|---|
| limit_value | Maximum number of executions allowed during the defined period. Once reached, related actions are blocked until reset. |
| limit_period | Quota window duration in minutes. 1440 = 24 hours; 44640 ≈ 31 days. The counter resets automatically after this period. |
| limit_max_per_minute | (Optional) Additional per-minute rate limit. Even if the global quota is not exhausted, this minute-level cap cannot be exceeded. If not defined, only the global quota applies. |
Some limits vary depending on the account level: default, CLASSIC, or SALES_NAV.
Limit ↔ Actions & Quotas
| Limit Name | Slug | Value LinkedIn/Sales Navigator | Window Time | Per-minute cap |
|---|
| Max profile visits | LK_PROFILE_VISITS | default: 80 / CLASSIC: 30 / SALES_NAV: 500 | 1440 (24h) | — |
| Max messages sent | LK_MESSAGES_SENT | default: 50 / CLASSIC & SALES_NAV: 250 | 1440 (24h) | — |
| Max connection requests | LK_CONNECTION_REQUEST | default: 25 / CLASSIC & SALES_NAV: 30 | 1440 (24h) | — |
| Max profile enrichments | LK_PROFILE_ENRICHMENTS | 10,000 | 1440 (24h) | — |
| Max invitations sent | LK_EVENT_INVITATIONS_SENT | 100 | 1440 (24h) | — |
| Max search people | LK_SEARCH_PEOPLE | 2,000 | 1440 (24h) | SALES_NAV: 20/min |
| Max contact info | LK_GET_CONTACT_INFO | 250 | 1440 (24h) | — |
| Max company enrichments | LK_COMPANY_ENRICHMENTS | 10,000 | 1440 (24h) | — |
| Max search saved people | LK_SEARCH_SAVED_PEOPLE | 5,000 | 1440 (24h) | SALES_NAV: 20/min |
| Max search company | LK_SEARCH_COMPANY | 5,000 | 1440 (24h) | — |
| Max search saved company | LK_SEARCH_SAVED_COMPANY | 5,000 | 1440 (24h) | — |
| Max 22 | LK_PROFILE_COMPONENTS | 200,000 | 1440 (24h) | — |
Important Operational Notes
- Limits are rolling windows, not calendar-based.
- Per-minute caps apply even if the daily quota is not exhausted.
- Some actions consume multiple limits simultaneously (e.g., visit + enrichment).
- Sales Navigator accounts have significantly higher visit/search quotas.
- InMail limit works on a ~31-day window, not daily.
LinkedIn Usage Limits
| Limit Name (Per Day) | Value LinkedIn/Sales Navigator | Platform | Info | Action Link |
|---|
| Maximum Search LinkedIn People | 300 searches/month | Classic Accounts | Users may encounter a restriction after 300 searches in a month. | Search LinkedIn People |
| Maximum Search LinkedIn People | Unlimited | Sales Navigator Accounts | No search limit. | Search LinkedIn People |
| Maximum Search Sales Navigator People | Varies based on account activity | Sales Navigator Accounts | 1 search page = 1 API call (each page contains 25 profiles, max 100 pages x 25). Example: 100 results = 4 pages = 4 API calls. | Search Sales Navigator People |
| Maximum Search Sales Navigator Company Employees | 500 companies every 2 hours (w/ max 25 employees per company) | Sales Navigator Accounts | If max employee results are set to 250 → 2 companies every 2 hours. | Search Sales Navigator Company Employees |
| Maximum Extract LinkedIn Connections | 30,000 connections per day | Classic Accounts, Sales Navigator Accounts | Extract all connections at once and set to repeat, ensuring only new, recent connections are captured. | Extract LinkedIn Connections |
Space out searches to avoid hitting your limits too quickly.
Use identity_mode=auto for automatic load distribution. If you hit rate
limits, take a 24-hour break, and/or add more identities, and/or use
identity_mode=managed.
Limit Reached Errors
While Edges protects your clients’ LinkedIn accounts with Smart Limits, you may still see 429 errors originating from different sources. Here’s how to identify and handle them.
| Error Type | status_code | error_label | Source | Handling Recommendation |
|---|
| Edges Rate Limit | 429 | N/A | Edges API | Wait for Retry-After, apply exponential backoff |
| LinkedIn (Guarded) | 429 | LIMIT_REACHED | LinkedIn | Wait at least 24h, retry once usage drops |
| LinkedIn (Raw) | 429 | STATUS_429 | LinkedIn | Apply exponential backoff, monitor identity health |
Best Practices:
- Always implement retry with exponential backoff (e.g. 30s → 60s → 120s…)
- Use identity rotation or
identity_mode=auto to spread traffic or rely on identity_mode=managed to let Edges handle it (higher credits consumption)
- Use async or schedule modes for large workloads to avoid real-time limits (limits are managed on our side)