4

I am having trouble finding a clear answer or multiple sources to this question regarding calling the Salesforce API's (inbound) and making callouts from Salesforce.

See page 40 in this doc

In the table: API Request limits, these are inbound requests correct? i.e, each time a system calls the Salesforce Rest API or Soap API (, or any other API) to insert a record count against this limit.

In the document it says:

Any action that sends a call to the API counts toward usage limits, except the following: • Outbound messages • Apex callouts

this is the only source I have.

From my understanding, there is no daily limit on number of outbound calls (callouts) from Salesforce (SOAP and Rest). So theoretically [, if I respect all other limits] made a few million HTTP GET requests from Salesforce in a day this would be acceptable?

I have seen several questions / answers:

but the answers are mixed.

In addition, given API limits, are there any differences between the limits for SOAP and REST? or do both SOAP and REST inbound calls count against the same limits?

Can someone please confirm with a detailed answer?

1 Answer 1

10

An API call is an inbound request, an API callout is an outbound request.

API calls are rate-limited, limiting clients to the number of calls they are allowed to make daily. One API call costs one API call towards this limit. That means that updating 200 records costs the same as updating 1 record, if you place them in the same payload. It doesn't matter if it's a SOAP call, REST call, Tooling or Metadata, Bulk or Chatter, etc. If you are not in Salesforce, and you call https://my-domain.my.salesforce.com/services/... (obviously, for your instance), you are making one of these rate-limited calls, except as noted in the documentation you linked.

API callouts are transaction-limited; you can only utilize so many requests per transaction, with maximum duration and payloads, and not while pending DML operations exist. There is also a maximum concurrency limit for calls to the same domain. You can't, for example, simultaneously call the same server from 100 clients. In practice, this usually isn't a problem, but there is a limit. If you are in Salesforce, specifically Apex and other system features, and calling an external service, you are not rate limited, unless a particular feature (like Outbound Messaging) specifies otherwise in the documentation.

1
  • Thanks for the detailed response, I appreciate it as this reinforces what I thought. Hopefully others with the same question can reference this post in the future. I am aware of concurrency /transaction limits and various options to work around them when needed (i.e, Continuation, async, ...).
    – Z33dawg
    Mar 20, 2021 at 22:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .