Skip to main content
OutX enforces rate limits at two levels: API request rate limits and daily task limits managed by the Chrome extension.

API Request Rate Limits

OutX does not enforce API request rate limits for the first month on any paid plan. After the first month, reasonable usage limits may apply based on your plan. The primary constraint is LinkedIn itself. Since all actions are executed through real browser sessions, you must respect LinkedIn’s activity limits to avoid account restrictions. See the LinkedIn Data API section below and LinkedIn Safety for guidelines. If you hit a rate limit, you receive a 429 response:
{
  "error": "Rate limit exceeded. Please try again later."
}

Daily Task Limits (Watchlist & Engagement API)

All watchlist and engagement tasks run through the Chrome extension on real LinkedIn accounts. Each LinkedIn account (team member) has daily processing limits.

How Daily Limits Work

Every task — keyword scan, profile tracking, like, comment — is executed by a team member’s Chrome extension browsing LinkedIn. This means:
  • Limits are per LinkedIn account, not per API key
  • If you create a watchlist with 200 keywords but the daily keyword scan limit is 40, OutX will process ~40 per day from each active LinkedIn account
  • Add more team members to parallelize — each team member’s Chrome extension processes tasks independently
  • Remaining tasks queue automatically and process on subsequent days
Creating a large watchlist doesn’t mean all keywords start tracking immediately. Tasks are distributed across your team’s active browser sessions and processed within daily limits. Add more team members with active Chrome extensions to increase throughput.

Watchlist Scanning Limits (per LinkedIn account per day)

Task TypeDaily Limit
Keyword tracking scans30
Profile tracking scans50
Company tracking scans50
Profile comment tracking50

Engagement Limits (per user per day)

Task TypeDaily Limit
Post likes50
Post comments25
Daily limits reset at UTC midnight (00:00 UTC). Weekly limits reset on Monday at 00:00 UTC.

LinkedIn Data API — No Rate Limiting by OutX

OutX is a proxy to LinkedIn, not a rate limiter. The LinkedIn Data API (/linkedin-agent/* endpoints) passes your requests directly through to LinkedIn via real browser sessions. OutX does not throttle, queue, or rate-limit these requests on your behalf.If you send too many requests in a short period, LinkedIn may flag the underlying account for unusual activity. OutX cannot protect you from this.

LinkedIn Data API Task Limits

These are daily task creation limits — they cap how many tasks you can create, but they do not pace your requests:
Task TypeDaily Limit
Profile fetch (fetch-profile)30 per team
Posts fetch (fetch-profiles-posts)30 per team
Like post (like-post)50 per team
Comment on post (comment-post)25 per team

Best Practices by Endpoint

Use these as maximum safe throughput guidelines. Lower is always safer.
EndpointDaily LimitRecommended PaceMax per Hour
fetch-profile30/day1 every 2–3 minutes3–4
fetch-profiles-posts30/day1 every 2–3 minutes3–4
like-post50/day1 every 1–2 minutes5–6
comment-post25/day1 every 3–5 minutes2–3

Safe Usage Guidelines

To avoid LinkedIn flagging the account running the Chrome extension:
  • Space out requests — follow the pace guidelines above; never send back-to-back calls
  • Distribute throughout the day — spread 30 profile fetches across 8+ hours, not in a single burst
  • Mix action types — alternating between fetches, likes, and comments looks more natural than doing all likes first, then all comments
  • Keep volumes realistic — a normal LinkedIn user doesn’t view 30 profiles or like 50 posts in an hour
  • Add delays in your code — use sleep(60) or setTimeout(60000) between API calls in loops
  • Monitor the account — if a team member receives LinkedIn warnings, reduce volume immediately

Plan-Based Quotas

These limits vary by plan and do not reset daily:
ResourceFreeGrowthExpertUltimate
Watchlists2520100
Profiles tracked per watchlist-200200200
Potential leads per watchlist/week-400250100
Team members51025Unlimited
Auto-engagement rules per watchlist12510
OutX Credits/month-1005002,000
When you hit a plan quota, you receive a 402 response with a message describing the limit. See Error Codes for details.

Retry Strategy

When you receive a 429 response, use exponential backoff:
async function fetchWithRetry(url, options, maxRetries = 3) {
  for (let attempt = 0; attempt < maxRetries; attempt++) {
    const response = await fetch(url, options);

    if (response.status === 429) {
      const waitTime = Math.pow(2, attempt) * 1000; // 1s, 2s, 4s
      await new Promise(resolve => setTimeout(resolve, waitTime));
      continue;
    }

    return response;
  }

  throw new Error('Rate limit exceeded after retries');
}

Best Practices

  • Batch watchlist creation — Create multiple watchlists in a single session rather than spreading across hours
  • Use appropriate fetch frequency — Set fetchFreqInHours based on how often you actually need new data. Lower frequency = fewer tasks consumed
  • Cache API responses — Store post data locally instead of re-fetching the same posts
  • Monitor usage — Track your daily task consumption to avoid hitting limits unexpectedly
  • Use webhooks-style polling — Instead of frequent polling, check /api-posts with sort_by=recent_first at reasonable intervals
Need higher limits? Contact support@outx.ai to discuss enterprise options.

Learn More