Skip to main content

SF-0236 · Scenario · Medium

When should we use the "Use Bulk API " option in Data Loader?

✓ Verified by Vikas Singhal · Last reviewed 5/17/2026 · Updated for Spring '26

Data Loader defaults to the SOAP API — synchronous, 200 records per batch. Tick Use Bulk API in Settings and it switches to the asynchronous Bulk API — up to 10,000 records per batch, processed in parallel by Salesforce’s server-side queue.

When is the switch worth it?

When to use Bulk API

  • Large jobs. Anything over roughly 50,000 records — Bulk API is dramatically faster because batches process in parallel.
  • Hard Delete. The only API surface that exposes Hard Delete is the Bulk API. If you need it, you must tick this.
  • You don’t need synchronous error feedback. Bulk jobs return results when each batch finishes, not row by row.
  • Off-hours scheduled loads. Bulk API jobs continue server-side even if your client disconnects. Perfect for overnight CLI runs.
  • You have minimal automation per record. Parallel batches and heavy triggers don’t mix well; Bulk API shines on simple writes.
  • Storage cleanup. Mass deletes / hard deletes of millions of rows.

When to stay on SOAP API

  • Small jobs. A few thousand records — SOAP API gives you simpler, synchronous results that are easier to debug.
  • You need exact row order preserved. Bulk API batches process in parallel by default, so the order in your CSV doesn’t equal the order they’re written. For most loads this doesn’t matter; for some triggers it does.
  • You need synchronous, per-row feedback — for instance, capturing the new Id immediately to feed into the next step.
  • Heavy automation / locking concerns. Bulk parallelism amplifies UNABLE_TO_LOCK_ROW errors. Either stay on SOAP, or use Bulk with serial mode turned on.
  • API call budget. Bulk API and SOAP API count against different limits; if you’re near your daily SOAP cap, Bulk frees that up — and vice versa.

What changes when you tick the box

  1. Batch size cap rises from 200 to 10,000.
  2. Processing model becomes asynchronous — Data Loader submits the job, polls Salesforce for completion.
  3. Hard Delete becomes available (if the user has the permission).
  4. Parallel mode is on by default; Enable serial mode for Bulk API is a separate checkbox.
  5. Limits counted against the org change from per-call to per-batch / per-job.
  6. Error files are returned per batch, not per call.

Real-world rules of thumb

RecordsRecommendation
< 10,000SOAP API is fine and easier to read
10,000–100,000Bulk API for speed
> 100,000Bulk API, consider serial mode if triggers exist
Any size with Hard DeleteBulk API (required)
Any size with heavy contentionBulk API + serial mode

A small operational detail

Bulk API jobs and their results live in Setup → Bulk Data Load Jobs for 7 days. Even after Data Loader closes, you can pull the success/error CSVs from there. That’s a lifesaver when a scheduled overnight load fails and the desktop client is long gone.

Interview-ready summary

Use Bulk API for large volumes, hard deletes, async scheduling, and overnight jobs. Stay on SOAP for small loads where you want immediate, ordered, synchronous feedback. The 50,000-record threshold is a useful rule of thumb.

Verified against: Data Loader Guide — Bulk API Settings, Bulk API Developer Guide, Metadata API Developer Guide. Last reviewed 2026-05-17 for Spring ‘26 release.