To ensure service levels and quality, Salesforce restricts the number of API calls made to their services. Salesforce accounts are subject to a maximum number of API calls that can be made against Salesforce.com servers in any 24-hour period.
When Geckoboard performs a widget refresh, it polls Salesforce.com for the current status of that report. This polling activity consumes up to 3 API calls.
IMPORTANT NOTE: If you have multiple widgets powered by the same report we cache the data to avoid wasting API calls. In other words, if you had 10 widgets powered by the same report, 3 calls will be made not 30.
Limits are enforced against the aggregate of all API calls made by the organization in a 24-hour period. When an organization exceeds a limit, all users in the organization may be temporarily blocked from making additional calls. Calls will be blocked until usage for the preceding 24 hours drops below the limit.
This article includes the following information:
- API limits by plan
- Viewing API calls consumption in Salesforce
- Best practices to prevent hitting your API request limit
- Salesforce Report Limitations
- Related articles
API limits by plan
For Salesforce Professional and Enterprise, each organization receives a total of 1,000 API calls per user in a 24-hour period, up to a maximum of 1,000,000 API calls (for organizations with 15,000+ Salesforce licenses).
Salesforce Unlimited has a 5,000 API call per user limit, up to a maximum of unlimited API calls.
Example: If your organization is using the professional edition and has 50 users, Salesforce allows the organization to make 50,000 API calls per 24-hour period. When an organization exceeds a limit, applications that access the APIs are temporarily blocked from connecting to Salesforce. This does not have an impact on users accessing Salesforce.com in their browser.
To review all limits in place by plan, see Salesforce API Requests Limits.
Viewing API calls consumption in Salesforce
Salesforce provides admin users with two means to view API calls consumption metrics. Log in to Salesforce as the Geckoboard connection user to view the following metrics:
Company Profile > Company Information - The figures are stored in the API Requests, Last 24 Hours field. The value being tracked in that field shows what has been consumed within the last 24 hours. This means that the calls consumed at 12:36pm will not be made available for use again until the following day. Any calls consumed will continue to be counted towards this count until that time.
Reports > Administrative Reports > API Calls Made Within Last 7 Days - This report displays based on the day the individual call is consumed.
For more information on how to interpret the API calls usage data, see Why don't the numbers for my API usage align with the numbers in my "API Usage Last 7 Days" report?
Best practices to prevent hitting your API request limit
- Minimize the frequency in which widgets are updated.
- For example, if you have a widget setup to visualize a report that updates only twice per day, refreshing every 30 seconds isn't really necessary. In such case, you are better off refreshing only every 2.5 hours.
- If you still exceed your API-request quota is possible that you need a higher limit. At this point we recommend you to purchase additional API calls. For more information, contact your Salesforce account representative.
Salesforce Report Limitations
In addition to the Salesforce Daily API Limit, there are also a number of other limitations when working with the Salesforce Reports API. You can find out more about the Requirements and Limitations here, but we've highlighted the most relevant points in the list below:
- Your organization can request up to 1,200 asynchronous requests per hour.
- The API can process only reports that contain up to 100 fields selected as columns.
- A list of up to 200 recently viewed reports can be returned.
- Your org can request up to 500 synchronous report runs per hour.
- The API supports up to 20 synchronous report run requests at a time.
- A list of up to 2,000 instances of a report that was run asynchronously can be returned.
- The API supports up to 200 requests at a time to get results of asynchronous report runs.
- Asynchronous report run results are available within a 24-hour rolling period.
- The API returns up to the first 2,000 report rows. You can narrow results using filters.
- You can add up to 20 custom field filters when you run a report.