API review

Salesforce API review

The enterprise CRM system of record: REST, Composite, sObject Collections, SOQL/SOSL, Bulk API 2.0 (150M records/day), Change Data Capture and Pub/Sub for events, plus Salesforce-hosted MCP servers. Best for enterprise clients whose Accounts/Contacts/Leads/Opportunities live in Salesforce.

Verified 25 Oct 2026 · 8 endpoints listed · Official MCP server

What a call costs

The actions you pay for, as Salesforce prices them.

ActionCostPer
Web Services API on Pro Suite$25per user per month

Pricing, plan by plan

US dollars, as Salesforce's pricing page shows them on 25 Oct 2026. Monthly and annual billing are shown apart.

Free tier Free Suite US$0 (Web Services API not included); 30-day free trial of every Sales Cloud edition, but the self-serve trial form requires a phone number and promises a sales follow-up; free Developer Edition org (no phone field, API enabled, 15,000 API calls/day, may be terminated after 45 days inactive).

Free Suite

$0

Free

per user/month

No API

Starter Suite

$25/mo

billed monthly

$25/mo

billed annually

per user/month, billed monthly or annually

No API

Pro Suite

$100/mo

annual billing only

$100/mo

billed annually

per user/month, billed annually

API included
Plan details

Web Services API is a paid extra: $25 USD/user/month

Core

$195/mo

annual billing only

$195/mo

billed annually

per user/month, billed annually

API included

Advanced

$395/mo

annual billing only

$395/mo

billed annually

per user/month, billed annually

API included

Max

$550/mo

annual billing only

$550/mo

billed annually

per user/month, billed annually

API included

Rate limits

Org-wide rolling 24-hour allocation: Enterprise/Professional-with-API = 100,000 + licenses x 1,000 (Salesforce licence) + purchased add-ons; Unlimited/Performance = 100,000 + licenses x 5,000.

LimitEnterprise / Professional with APIUnlimited / PerformanceExampleDeveloper Edition (free)
Per Day100,000 + (licenses x 1,000) + add-ons100,000 + (licenses x 5,000) + add-onsEnterprise org with 15 Salesforce licenses = 115,000 requests15,000
More on limitsLess

Max 25 concurrent long-running (>=20s) requests in production; no limit on shorter concurrent requests. URI+headers max 16,384 bytes. Bulk: 15,000 batches and 150M records per rolling 24h. Developer Edition: 15,000 requests per rolling 24h; Developer Edition and trial orgs allow 5 concurrent long-running requests (production 25).

How to get an API key

Salesforce uses OAuth. The steps below follow Salesforce's own docs.

  1. Create a Salesforce account. API access starts on the Pro Suite plan.
  2. Create an External Client App (or Connected App) in Setup and use an OAuth 2.0 flow; the Salesforce Integration user license gives API-only system users
  3. Send it with every request: header: Authorization: Bearer <access token>.

Where the docs live

Strengths and limits

Where it fits

  • Enterprise clients whose Accounts/Contacts/Leads/Opportunities live in Salesforce
  • Idempotent writes by external ID (PATCH upsert, or sObject Collections upsert of up to 200 records)
  • Large loads and extracts with Bulk API 2.0 (jobs >2,000 records)
  • Real-time change streams via Change Data Capture / Pub/Sub API

Where it falls short

  • Small teams on Starter/Pro Suite that have not bought API access (Pro Suite needs the Web Services API add-on)
  • Quick prototypes: OAuth via External Client Apps / Connected Apps is required, no simple static key
  • Data sourcing or enrichment (it is a CRM)

Worth knowing

3 moreShow fewer

Who should use it

Use Salesforce for
Enterprise clients whose Accounts/Contacts/Leads/Opportunities live in Salesforce
Look elsewhere for
Small teams on Starter/Pro Suite that have not bought API access (Pro Suite needs the Web Services API add-on)

If Salesforce is not the answer

Other CRM tools in this directory, each with its own review.

Before you build

Four things to settle first, each read off Salesforce's own pages.

  • Confirm the API is on your planAPI access starts on the Pro Suite plan. Free tier: Free Suite US$0 (Web Services API not included).
  • Keep the key out of your codeOAuth. It is sent as: header: Authorization: Bearer <access token>.
  • Design around the rate limitOrg-wide rolling 24-hour allocation: Enterprise/Professional-with-API = 100,000 + licenses x 1,000 (Salesforce licence) + purchased add-ons; Unlimited/Performance = 100,000 + licenses x 5,000.
  • Know the catch before you scaleAPI access: the pricing page's own feature data marks Web Services API false for Free Suite and Starter Suite, 'Additional $25 USD/user/month' for Pro Suite, and included for Core, Advanced and Max. The docs say API is on by default only in Enterprise, Performance, Unlimited and Developer editions. Sources: salesforce.com/sales/pricing (editionStatus data in page HTML); developer.salesforce.com/docs/platform/api-rest/guide/intro-rest-compatible-editions.html

Want us to build it for you?

Tell us what you want Salesforce to do in your stack. We will show you how we would wire it into your data, outbound or CRM, and what we would check first.

Read from salesforce.com/sales/pricing, developer.salesforce.com/docs/platform/api-rest/guide/resources-list.html and developer.salesforce.com/docs/atlas.en-us.salesforce_app_lim. Verified 25 Oct 2026.

All 8 endpointsFor developers: method, path, what it does and what it costs.

Base URL: &lt;your-domain&gt;.my.salesforce.com/services/data/vXX.X

Bulk and async: Bulk API 2.0: recommended above 2,000 records; 150M records and 15,000 batches per rolling 24h (shared with Bulk API 1.0); results retained 7 days. Source: developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_bulkapi.htm

Webhooks: No generic webhook product; use Change Data Capture / Platform Events over the Pub/Sub API (gRPC) or Streaming API, or Outbound Messaging (SOAP, up to 100 notifications per message). Sources: developer.salesforce.com/docs/atlas.en-us.change_data_capture.meta/change_data_capture/cdc_intro.htm; developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_om_outboundmessaging.htm

8 endpoints
MethodPathWhat it doesCost
PATCH/sobjects/{Object}/{externalIdField}/{value}Upsert one record by external ID (create if no match, update if one match)1 API call
PATCH/composite/sobjects/{Object}/{externalIdField}sObject Collections upsert of up to 200 records by external IDcounts as one API call
POST/composite/sobjectsCreate up to 200 records (mixed objects) in one requestcounts as one API call
POST/compositeChain up to 25 subrequests, feeding outputs into later inputsthe whole series counts as one call
GET/query?q=<SOQL>SOQL query (dedupe lookups, extracts)1 API call per page
GET/search?q=<SOSL>SOSL full-text search across objects1 API call
POSTasync/jobs/ingestBulk API 2.0 ingest job (insert/update/upsert/delete via CSV)batches count against 15,000 per rolling 24h
GET/limitsRead current org limits and remaining allocationsNot stated