Bulk API 2.0 and Bulk API Developer Guide
Summer '26 (API version 67.0)
Spring '26 (API version 66.0)
Winter '26 (API version 65.0)
Summer '25 (API version 64.0)
Spring '25 (API version 63.0)
Winter '25 (API version 62.0)
Summer '24 (API version 61.0)
Spring '24 (API version 60.0)
Winter '24 (API version 59.0)
Summer '23 (API version 58.0)
Spring '23 (API version 57.0)
Winter '23 (API version 56.0)
Summer '22 (API version 55.0)
Spring '22 (API version 54.0)
Winter '22 (API version 53.0)
Summer '21 (API version 52.0)
Spring '21 (API version 51.0)
Winter '21 (API version 50.0)
Summer '20 (API version 49.0)
Spring '20 (API version 48.0)
Winter '20 (API version 47.0)
Summer '19 (API version 46.0)
Spring '19 (API version 45.0)
Winter '19 (API version 44.0)
Summer '18 (API version 43.0)
Spring '18 (API version 42.0)
Winter '18 (API version 41.0)
Summer '17 (API version 40.0)
Spring '17 (API version 39.0)
Winter '17 (API version 38.0)
Summer '16 (API version 37.0)
Spring '16 (API version 36.0)
Winter '16 (API version 35.0)
Summer '15 (API version 34.0)
Spring '15 (API version 33.0)
Winter '15 (API version 32.0)
Summer '14 (API version 31.0)
Spring '14 (API version 30.0)
How Bulk API Works
Install cURL
Limits
Map Data Fields
Bulk API End-of-Life Policy
Bulk API Ingest
With Bulk API, you can insert, update, or upsert large data sets into your Salesforce
org. Prepare a CSV, XML, or JSON file representation of the data you want to upload, create a job,
upload job data, and let Salesforce take care of the rest.
Bulk API ingest limits are described in Bulk API and Bulk API 2.0 Limits and Allocations in the Salesforce Developer Limits and Allocations Quick Reference
-
Plan Bulk Data Loads
Bulk API performance depends on the type of data that you're loading, as well as any workflow rules and triggers associated with the objects in your batches. It's useful to understand the factors that determine optimal loading time. -
Install cURL
The Bulk API uses HTTP GET and HTTP POST methods to send and receive CSV, XML, and JSON content, so it’s simple to build client applications using the tool or the language of your choice. This quick start uses a command-line tool called cURL to simplify sending and receiving HTTP requests and responses. -
Walkthrough Sending HTTP Requests with cURL
With cURL now configured, you can start sending HTTP requests to the Bulk API. -
Prepare Data Files
The Bulk API processes records in comma-separated values (CSV) files, XML files, or JSON files. -
Load Binary Attachments
The Bulk API can load binary attachments, which can be Attachment objects or Salesforce CRM Content. -
Request Basics
Here are some Bulk API request basics, including the format of URIs used to perform operations and details on how to authenticate requests using a session header. -
Work with Batches
A batch is a set of records sent to the server in an HTTP POST request. Each batch is processed independently by the server, not necessarily in the order it’s received.