Your mobile app needs to show a user their recent Contacts. The app needs simple JSON, lightweight calls, and fast responses. No complex metadata or XML.
REST API
Your legacy banking system requires a formal WSDL contract and must receive XML messages with strict typing and schemas.
SOAP API
You need to migrate 5 million Opportunity records into Salesforce this weekend. The integration must run asynchronously and handle large volumes.
Bulk API / Bulk API 2.0
You want Salesforce to notify an external system in real time whenever an Account is updated — without polling. The external system must receive events using CometD.
Streaming API
Your architecture requires loose coupling between systems. System A must send durable messages that System B can process even if it’s temporarily offline.
Platform Events
Multiple downstream systems need to stay in sync with Salesforce updates. Whenever a record changes (insert/update/delete), all systems must get notified quickly and consistently.
Change Data Capture (CDC)
Salesforce needs to call out to an external weather system every time a record changes, using custom logic inside an Apex trigger.
Apex Callout (HTTP)
An external partner needs a custom Salesforce endpoint that accepts POST requests and returns JSON according to your own schema.
Apex REST
An external ERP system only supports SOAP, but you need a custom Salesforce-built SOAP service with specific fields and XML formatting.
Apex SOAP
A single API call must return multiple objects, related records, and nested fields in one shot — minimizing round-trips to the server.
GraphQL API