---
schema_version: "1"
id: 8690c5dcfacad0f5da769e563a3081ef863bbdeeac72f5bfeffbbde77eac3832
title: SOAP API Performance
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud/guides/mc-apis/api-performance.md
canonical_url: https://developer.salesforce.com/docs/marketing/marketing-cloud/guide/api-performance.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: e407464a290d4da376abc2bd0ae43cfebd11da9c4e89c253a07524b3b63b15fa
products:
  - Marketing Cloud Engagement APIs and Programmatic Languages
  - Marketing Cloud
---
# SOAP API Performance

You can improve the performance of SOAP API by reducing API loads. Unless you need near real-time data, avoid using the API to retrieve event or tracking data. Instead, we recommend one of these approaches.

- Use a data extract.
- Create a query activity that pulls the data into a data extension, then retrieve the data from the data extension using the API.
- To retrieve large amounts of data a few times a day, schedule export jobs.
- Filter each call based on its `JobID`, or limit each request to a single `JobID`.

## Error Responses

Some instances have dedicated databases and web service pools, and some share resources with other instances. We actively monitor for sudden spikes in API activity and send error messages to accounts that created these spikes. Design your code so that it watches for errors. When errors occur, respond to them quickly.

## Batch Size

SOAP API returns results in batches. See [API Limits and Guidelines](https://help.salesforce.com/s/articleView?id=mktg.mc_overview_limits_api.htm) for limits that apply to SOAP API response batch sizes.

If the results in a response exceed the batch size, the API returns a status of `MoreDataAvailable` instead of `OK`. A subsequent call returns the next batch of data.
