Your input shapes our product. Suggest a feature now →
  1. Home
  2. Tools
  3. Bulk Operation Batch Limits

SharePoint Bulk Operation Batch Size Limits Reference

Before you kick off a bulk update, delete, or move against a large SharePoint Online list or library, know the ceiling each API imposes. Hitting an undocumented wall mid-job is a worse outcome than planning for it upfront.

  1. Check which API your script or tool actually uses: REST, CSOM, or the browser UI.
  2. Match it against the limit in the table below.
  3. Chunk your operation to stay comfortably under that limit, with room for retries.

Batch and threshold limits by method

Method Practical batch limit Behaviour past the limit
SharePoint REST $batch 100 requests per batch call The call fails; it does not silently truncate. Split into multiple sequential batch calls.
CSOM ExecuteQuery / ExecuteQueryAsync No hard document limit, but large bundles risk request timeouts and are throttled more aggressively Slower response, increased chance of a 429 (throttled) response under tenant load
Native list view (browser) 5,000 items per view The view refuses to render entirely rather than showing a partial page, unless the query is filtered on an indexed column
PnP PowerShell cmdlets Governed by the underlying REST/CSOM call the cmdlet wraps Cmdlets generally page internally, but scripts that loop item-by-item without batching still generate one request per item
Migration API Job-based, not request-count based Governed by package size and job throughput rather than an item count ceiling
Tip: a script that loops through thousands of items making one REST or CSOM call each will trigger SharePoint Online throttling long before it hits any documented batch limit. Batching fewer, larger calls is both faster and less likely to be throttled than looping many small ones.

What this means in practice

The 5,000 item list view threshold is the limit admins hit most often, because it applies the moment someone tries to sort, filter, or simply open a large list in the browser. It cannot be raised in SharePoint Online. Working around it means filtering on an indexed column, querying through the API rather than the UI, or using a tool that queries past the threshold on your behalf.

The REST $batch limit of 100 requests matters most to anyone writing custom scripts or integrations against SharePoint. It is a hard ceiling, not a soft recommendation, and a batch call that exceeds it returns an error for the whole call rather than partially succeeding. Any script performing bulk updates or deletes through REST needs to chunk work into batches of 100 or fewer, with a short pause between batches to avoid tripping throttling on top of the batch limit itself.

For the throttling behaviour that applies once you are safely within these batch limits, see the SharePoint migration throttling limits reference. For the list view threshold specifically, the list view threshold reference covers indexed column workarounds in more detail.

ShareMaster's Space Master bulk tools and the Move To / Copy To workflow are built to operate within these limits automatically, batching and pacing requests so an admin running a bulk delete or a cross-site move does not need to calculate chunk sizes or retry logic manually. See the bulk delete list items comparison for how that plays out against the native UI and PnP PowerShell on a real cleanup job.

Frequently Asked Questions

How many requests can go in one SharePoint REST batch call?

Microsoft documents a limit of 100 individual requests per $batch call. Going over it fails the whole call, so bulk tools built on REST batching split larger operations into multiple sequential batch calls.

Does SharePoint Online let admins raise the 5,000 item list view threshold?

No. SharePoint Online does not expose a setting to raise the threshold above 5,000 items, unlike some on-premises configurations. Larger lists need indexed columns, narrowly scoped queries, or an API-based approach instead of a direct list view.

See how Space Master handles bulk cleanup at scale