---
schema_version: "1"
id: e20e008efd8a2020ecf2f8e5a6bcd8fd06439eeaf6f6ae0d2b6e29550d98494a
title: API Limits and Guidelines
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/mktg/264-0-0/mc_overview_limits_api.md
canonical_url: https://help.salesforce.com/s/articleView?id=mktg.mc_overview_limits_api.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: c6bf81ea518180e2e1a7922c6605dcb06f3265908f9087acab8c993191d92d8d
description: Use the Marketing Cloud Engagement APIs to integrate your apps and other systems with Marketing Cloud Engagement. To protect our Service and ensure the availability of Marketing Cloud Engagement for all customers, Salesforce places limits on API usage.
products:
  - Marketing
  - Marketing Cloud Engagement
release: "264"
---
# API Limits and Guidelines

Use the Marketing Cloud Engagement APIs to integrate your apps and other systems with Marketing Cloud Engagement. To protect our Service and ensure the availability of Marketing Cloud Engagement for all customers, Salesforce places limits on API usage.

## Limit Types

There are two types of API limits. A hard limit is one that you can’t exceed. If you issue an API request that exceeds a hard limit, the API rejects the request and returns an error.

A soft limit is one that can degrade performance if you exceed it. Salesforce reserves the right to rate limit API requests if they cause system performance or security issues. In some cases, you can purchase extra licenses or allocations if your usage exceeds a soft limit.

## General API Limits

The limits in this section apply to both the Marketing Cloud Engagement SOAP and REST APIs.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:19.455252918287936%">
          <col style="width:21.78988326848249%">
          <col style="width:23.540856031128403%">
          <col style="width:35.21400778210116%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d51496e60">Resource</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d51496e63">Limit</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d51496e66">Limit Type</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d51496e69">Details</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e60 ">Maximum API request volume</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e63 ">
              <p>The limit depends on your edition </p>
              <ul>
                <li><strong>Pro</strong>: 2 million requests per year</li>

                <li><strong>Corporate</strong>: 6 million requests per year</li>

                <li><strong>Enterprise</strong>: 200 million requests per year</li>

              </ul>
            </td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e66 ">Soft limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e69 ">You can purchase an additional allocation of contacts or API requests. Contact
              your account executive for more information.</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e60 ">Maximum number of asynchronous requests per day</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e63 ">50 million requests per day</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e66 ">Soft limit </td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e69 ">This limit applies to asynchronous REST API and SOAP API requests.</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e60 ">Maximum number of access token requests</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e63 ">1 request every 20 minutes per client machine</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e66 ">Soft limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e69 ">Don’t request a new token with every API request. Instead, use the
              <code>expires_in</code> parameter in the response to a token request to
              determine how long an existing access token remains valid. Request a new token only
              when the existing token expires.
            </td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e60 ">Maximum batch size for synchronous API requests</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e63 ">50 objects</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e66 ">Soft limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e69 ">—</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e60 ">Maximum batch size for asynchronous API requests</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e63 ">32,000 objects</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e66 ">Hard limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e69 ">—</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e60 ">Minimum request timeout period for synchronous API requests</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e63 ">
              <p>The timeout period depends on the type of API operation</p>
              <ul>
                <li>300 seconds for tracking and data retrieval operations</li>

                <li>120 seconds for non-tracking operations</li>

              </ul>
            </td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e66 ">Soft limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e69 ">Match the timeout values of your API clients with these values.</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e60 ">Minimum request timeout period for asynchronous API requests</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e63 ">30 seconds</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e66 ">Soft limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e69 ">Match the timeout values of your API clients with these values.</td>

          </tr>
        </tbody>
      </table>

![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-mktg-mc_marketing_cloud_overview-264-0-0-production-enus/2555afdb-8049-4e3c-8043-0e04803e5f16/images/icon_important.png)

Important Don’t submit asynchronous batch requests that contain large volumes of duplicate entries. Submitting requests that contain hundreds of duplicate entries degrades the performance of asynchronous API calls in your account. For best performance, deduplicate data at the source before you use it in API requests.

## Marketing Cloud Engagement REST API Limits

The Marketing Cloud Engagement REST API gives you broad access to the features and capabilities of several apps, including Content Builder and Journey Builder.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col>
          <col>
          <col>
          <col>
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d51496e240">Resource</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d51496e243">Limit</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d51496e246">Limit Type</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d51496e249">Details</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e240 ">Maximum request rate for Transactional Messaging API requests</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e243 ">1,000 requests per second for static and simple messages</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e246 ">Soft limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e249 ">
              <p>A static message contains no content blocks or personalization elements.</p>
              <p>A simple message includes one HTML content block and 1–2 personalization
                elements, such as the recipient's name and order number.</p>
              <p style="margin-bottom:0;">Transactional messages that include more than one content block and
                personalization elements other than name and order number have lower throughput
                rates.</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e240 ">Maximum request rate for batched Transactional Messaging API requests</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e243 ">250 requests per second</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e246 ">Soft limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e249 "> This limit assumes a batch size of 50 recipients per request and a static or
              simple message body.</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e240 ">Maximum request rate for synchronous Device API requests</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e243 ">4,000 requests per minute</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e246 ">Soft limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e249 ">—</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e240 ">Maximum request rate for synchronous API requests</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e243 ">2,500 requests per minute</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e246 ">Soft limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e249 ">This limit applies to all API requests except Device API requests and access
              token requests.</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e240 ">Maximum number of concurrent connections</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e243 ">100 connections</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e246 ">Soft limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e249 ">—</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e240 ">Maximum request payload size for Auth API</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e243 ">8 KB</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e246 ">Hard limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e249 ">—</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e240 ">Maximum request payload size for Data API</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e243 ">5.9 MB</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e246 ">Hard limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e249 ">—</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e240 ">Maximum request payload size for Asset API</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e243 ">25 MB</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e246 ">Hard limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e249 ">—</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e240 ">Maximum request payload size for Messaging API</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e243 ">16 MB</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e246 ">Hard limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e249 ">—</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e240 ">Maximum request payload size for Automation API</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e243 ">27.9 MB</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e246 ">Hard limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e249 ">—</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e240 ">Maximum payload size for <a href="https://developer.salesforce.com/docs/marketing/marketing-cloud/references/mc_rest_interaction/enterContactsIntoJourneyInBatches.html" target="_blank">asynchronous journey event</a> payloads</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e243 ">1 MB</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e246 ">Hard limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e249 ">—</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e240 ">Maximum request payload size for all other Marketing Cloud Engagement
              APIs</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e243 ">4 MB</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e246 ">Hard limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e249 ">—</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e240 ">Maximum batch size for MobilePush Send API</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e243 ">5,000 objects</td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e246 ">Hard limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e249 ">—</td>

          </tr>
          <tr class="">
            <td data-label="Resource" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e240 ">Batch size for ENS Callback API</td>

            <td data-label="Limit" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e243 ">
              <p>Minimum: 100 objects</p>
              <p style="margin-bottom:0;">Maximum: 1,000 objects</p>
            </td>

            <td data-label="Limit Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e246 ">Hard limit</td>

            <td data-label="Details" class="slds-cell-wrap" style="vertical-align:top;" headers="d51496e249 ">—</td>

          </tr>
        </tbody>
      </table>

## Marketing Cloud Engagement SOAP API Limits

The Marketing Cloud Engagement SOAP API provides in-depth integration with Email Studio. You can use SOAP API to create and send email messages, and to view response data for email messages.

   
| Resource | Limit | Limit Type | Details |
| --- | --- | --- | --- |
| Maximum request rate for synchronous API requests | 2,500 API requests per minute | Soft limit | — |
| Maximum number of concurrent connections | 100 connections | Soft limit | — |
| Maximum request payload size | 28.6 MB | Hard limit | — |
| Maximum number of records returned per response | 2,500 records per response | Hard limit | If a result contains more than 2,500 records, the API provides a token that you can use in a subsequent request to retrieve the next batch of 2,500 records. |