4

Recently we have hit the API call governor limit and since then we are looking at the administrative report 'API Calls Made Within Last 7 Days'.

The Salesforce documentation states

What counts towards my API limit? SOAP (https://www.salesforce.com/developer/docs/api/Content/sforce_api_calls_list.htm) and REST API calls (which include Bulk API calls) are counted against an organization API call limit.

Indeed, we have a few external apps that perform SOAP or REST calls to our Salesforce org, such as an ERP and Pardot. These use special user names and are easily identifiable in the report.

What we are also seeing is that API calls are being made on account of ordinary Salesforce users. They range from dozens to hundreds a day. In the report they are shown with an empty client-id. We (the sysadmins) have been mimicking the users' actions, such as creating opportunities and quotes, creating PDFs, etc. but we cannot determine which user actions cause API calls.

The Salesforce documentation does not seem to be complete, apparently other actions are capable of causing API calls. Which ones?

I tried looking at the Salesforce Event logs, but there are only event logs for Login and Logout events. For the other events, you must pay extra to Salesforce.

  • Here api call limit is there i found some data about the soao api limit please check below soap api limits. – UserSFMC Apr 3 '18 at 10:15
  • Developer Edition 15,000 Enterprise Edition Professional Edition with API access enabled 15,000 + (number of licenses X calls per license type), up to a maximum of 1,000,000 – UserSFMC Apr 3 '18 at 10:15
  • @UserSFMC My question is not about how high the limits are, but what user actions contribute to the number of API calls. – Sander de Jong Apr 3 '18 at 10:42
  • Stuff like Chatter Desktop, Dataloader, ... maybe? – Robin De Bondt Apr 3 '18 at 11:19
  • @RobinDeBondt Good suggestions, but we don't use Chatter Desktop and the only ones who use Dataloader are the sysadmins, not the ordinary users. – Sander de Jong Apr 3 '18 at 11:35
3
+100

User who have installed Salesforce Android and IOS installed, they contribute a lot in making API calls.

Secondly, I would like to add if you are using custom javascript button which use soap/ajax/42.0/connection.js or /soap/ajax/42.0/apex.js they contribute to API calls as well. This also includes formula fields which refer images/icon which uses $API. example {!$Api.Partner_Server_URL_250} etc

Limits

Also if you hit limits endpoint from workbench, you should be able to see which app is using how many API calls thus helping you determine the use.

  • Thank you. I had my suspicions about the custom buttons and you confirmed it. Also, your remark about the mobile apps, I can confirm that too: people who have logged in using a mobile app use much more API calls than the other users. The picture that you posted: another strange Salesforce functionality, as all items under DailyApiRequests have: Max 0 and Remaining 0, so not useful. Also, the administrative report API Calls Made Within Last 7 Days' is not updated in realtime, which makes investigations even harder. – Sander de Jong Apr 11 '18 at 6:44
2

As far as I know there is no easy way to trace the cause of the API calls without access to the Event Monitoring API and the associated Event Type. See Monitoring your Salesforce API usage.

Even if you did have the paid Event Monitoring active, you would potentially need multipe Event Types to figure out what is making the API calls as they could be spread out over API, Bulk API, Metadata API Operation, and REST API.

I created the Idea: Event Monitoring for all calls that contribute to the 24 hour API request limit. You might like to vote for it as at least then you could focus on a single EventType to see what is contributing towards the limit.


If you don't want to go to Event Monitoring just yet, you could try the Apex debug log. Many, but not all, API calls will result in a log message. This may provide some additional clues as to what is making the API calls.


You could check the connected apps that are configured in the org and have OAuth scopes that grant API access. This, combined with the Connected Apps OAuth Usage may identify apps that have a particularly high usage.

  • I had come across your contributions while investigating this issue. The connected apps trail does not lead anywhere, but I rather liked your suggestion about the Apex debug log. However, it is still not easy. It's no use to filter on API, as that doesn't give any results. Also, the LIMIT_USAGE_FOR_NS lines say nothing about API usage. – Sander de Jong Apr 9 '18 at 6:52
  • 1
    Yes, unfortunately there aren't many easy options to track down what is a fairly common problem. Do all your standard users need to be API enabled? You could our right revoke the "API enabled" permission to just those profiles that are known to need it. – Daniel Ballinger Apr 9 '18 at 8:41
  • From the answer of Pranay Jaiswal I gather that the users need to be API enabled to use custom buttons, of which we have a few and which are vital to operations. So I can't disable that. I am going to award the bounty to Pranay Jaiswal as he confirms what I started to suspect: that using custom buttons contributes to API usage. I thank you for your contribution. – Sander de Jong Apr 11 '18 at 6:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.