Skip to main content

OutX does not rate-limit the API

OutX does not enforce a request rate limit on the API. There is no per-minute, per-hour, or per-day cap on how often you can call any OutX endpoint, on any plan, free included. No endpoint returns 429 for request volume. No request limit on the API, but every LinkedIn action must be paced (see Recommended pace). The real constraint is LinkedIn. Every action OutX performs (fetching a profile, posting a like, sending a message, etc.) runs through a real LinkedIn browser session. LinkedIn enforces its own per-action daily limits on every account, and those limits apply whether the call originates in the OutX dashboard, in our LinkedIn Data API, or anywhere else. OutX does not throttle, queue, or pace requests for you.
You are responsible for pacing. OutX hands the request straight to LinkedIn. If you burst, the underlying LinkedIn account is what gets flagged, not your API key. This applies equally to UI usage and to direct LinkedIn Data API calls.

API calls do not consume OutX credits

The “OutX Credits” on your plan apply only to Sales Navigator export and the email finder (1 credit per exported lead, 1 credit per email found). API calls of every kind, watchlist creation, post retrieval, likes, comments, profile fetches, are unlimited and do not consume credits. This applies only to calls that result in a real LinkedIn action: the LinkedIn Data API (/linkedin-agent/*), /api-like, and /api-comment. Read endpoints like GET /api-posts or GET /api-keyword-watchlist are not constrained, you can call those as often as you want. The pace below is tentative and OutX does not enforce it. LinkedIn decides what is safe. Its thresholds are unpublished and they move with account age and activity. A new or quiet account should stay well under these numbers. Three rules on top of the table:
  • Spread actions across the working day rather than firing a day’s worth in one burst.
  • Mix read and write actions. Alternating profile fetches with likes looks more natural to LinkedIn than 50 sequential likes.
  • Stop at the first warning. If a task comes back failed, or LinkedIn shows a warning on the account, stop that action type for 24 hours.
The Chrome extension already runs one task at a time per LinkedIn account and waits at least 5 seconds between requests. That is a floor, not a safe pace. Pacing above that floor is yours to do. If you are hitting any per-action daily limit (visible in Dashboard → Settings → Daily Usage Limits), you have two options: spread the work across more team members (each LinkedIn account carries its own daily quota), or wait for the 00:00 UTC reset.

Per-action daily limits

There are two separate things to keep straight: The HTTP API has no rate limit. You can call POST /api-keyword-watchlist to create a watchlist, then GET /api-keyword-watchlist to read it 100 times in an hour, then PUT to update it, then DELETE it. None of those calls are throttled by OutX, and none of them count against any daily quota. The watchlist and engagement endpoints (/api-keyword-watchlist, /api-people-watchlist, /api-company-watchlist, /api-posts, /api-interactions) are pure CRUD on your data. LinkedIn-side actions are capped per LinkedIn account per day. Anything that hits LinkedIn (a keyword scan running because you created a keyword watchlist, a profile fetch via the LinkedIn Data API, a like, a comment, etc.) draws from a daily allowance LinkedIn enforces on each account. These are the limits below. Watchlist background work, counted per team per day: Engagement on watchlist posts, counted per team member per day: LinkedIn Data API calls, counted per day. These numbers are the same on every plan: LinkedIn, not the plan, is the constraint. These caps are generous on purpose. They are the ceiling, not a safe pace. LinkedIn itself flags accounts long before you reach them, so the recommended pace above is what should govern your volume. So creating a keyword watchlist with 200 keywords does not block you from calling other API endpoints. It just means LinkedIn will scan ~30 of those keywords per day, per active LinkedIn account in your team, until all keywords are covered. The watchlist endpoint itself remains freely callable. The full list of every LinkedIn-side action and its current usage is visible at Dashboard → Settings → Daily Usage Limits in your OutX account. Always check there if you need an exact number for an action not listed above, or if a job is running slower than you expected.

How daily limits work

  • Limits reset at 00:00 UTC.
  • A watchlist with 200 keywords does not start tracking all 200 immediately. Tasks queue and process up to the daily cap, drawn from each active LinkedIn account in your team.
  • Add more team members with active Chrome extensions to parallelize. Each member’s session has its own daily quota.
Live per-action usage is visible in Dashboard → Settings → Daily Usage Limits. The dashboard always reflects the current source of truth, the table above is the documented mapping for the most common API actions.

When LinkedIn blocks a call

If you exceed a LinkedIn cap, the affected task fails or sits pending until the next day’s reset. OutX surfaces this in the task status returned from get-task-status. If a LinkedIn account starts receiving warnings (unusual activity flags, captcha walls, restrictions), reduce volume immediately and review LinkedIn Safety.

Plan-based quotas

These are not rate limits. They cap how much you can have (watchlists, team members, tracked profiles), not how often you can call the API. Notes on the table:
  • The weekly post limit counts posts with a relevance score of 4 or higher. Free teams whose extension and human activity have gone quiet for a while are limited to 100 posts per watchlist per week.
  • pro is a legacy plan identifier. It carries the same limits as growth. There is no enterprise plan on the API.
  • These are quotas on how much you can have, not on how often you can call the API. There is no request rate limit on any plan.
  • Hitting a quota returns 402 with a message naming the limit. See Error Codes.
The free plan includes 2 watchlists of any type and the full API. OutX Credits sit on a separate plan dimension (Sales Navigator export and email finder), see Pricing & Subscription for the credit allocations per plan.

Retry strategy

You will never see a 429 for request volume. The API does not return one. Retry on 5xx and on network errors with exponential backoff:
A 402 means a plan quota is full, not a rate limit. Do not retry it, upgrade or wait for the reset.

Best practices

  • Batch watchlist creation in a single session rather than spreading across hours.
  • Set fetchFreqInHours based on real need. Lower frequency = fewer tasks consumed.
  • Cache API responses locally instead of re-fetching the same posts.
  • Monitor live usage at Dashboard → Settings → Daily Usage Limits.
  • Use polling, not constant streaming. Call /api-posts with sort_by=recent&labels=default at reasonable intervals (e.g. once per hour, not once per minute).
Need higher per-account throughput than LinkedIn allows? Add more team members. Each one carries their own daily allotment. Contact support@outx.ai for higher volume.

Learn More